:root{--ink: #1c1a17;--ink-soft: #4a4a47;--ink-faint: #8a8a85;--heading: #2a2a2a;--paper: #f7f2ea;--paper-raised: #fffdf9;--line: #e6ddcf;--accent: #b8502e;--focus: #b8502e;--grad-a: #b79cf2;--grad-b: #9ec9f5;--grad-c: #f3d4e4;--grad-opacity: .4;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, monospace;--font-display: var(--font-sans);--display-tracking: -.025em;--step--1: clamp(.83rem, .8rem + .15vw, .92rem);--step-0: clamp(1rem, .96rem + .2vw, 1.13rem);--step-1: clamp(1.2rem, 1.1rem + .5vw, 1.5rem);--step-2: clamp(1.6rem, 1.4rem + 1vw, 2.25rem);--step-3: clamp(2.1rem, 1.7rem + 2vw, 3.25rem);--step-4: clamp(2.8rem, 2rem + 4vw, 5.5rem);--space-2xs: .5rem;--space-xs: .75rem;--space-s: 1rem;--space-m: 1.5rem;--space-l: 2.5rem;--space-xl: 4rem;--space-2xl: 6.5rem;--space-3xl: 10rem;--measure: 60ch;--container: 76rem;--radius: 26px}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:5rem;background:var(--paper)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}body{font-family:var(--font-sans);font-size:var(--step-0);line-height:1.6;color:var(--ink);background:transparent;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img,picture,svg,video{display:block;max-width:100%;height:auto}h1,h2,h3,h4{font-family:var(--font-display);line-height:1.05;font-weight:700;letter-spacing:var(--display-tracking);text-wrap:balance;color:var(--heading)}p{text-wrap:pretty}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:var(--accent)}:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:2px}.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--space-m)}.section{padding-block:var(--space-2xl)}.section--tight{padding-block:var(--space-xl)}.eyebrow{font-size:var(--step--1);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.lead{font-size:var(--step-1);line-height:1.5;color:var(--ink-soft);max-width:var(--measure)}.skip-link{position:absolute;left:-999px;top:0;background:var(--ink);color:var(--paper);padding:.75rem 1rem;z-index:100;border-radius:0 0 var(--radius) 0}.skip-link:focus{left:0}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.bg-gradient{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}.bg-layer{position:absolute;inset:0;opacity:0;will-change:opacity}.bg-layer:first-child{opacity:1}.bg-blob{position:absolute;width:65vmax;height:65vmax;border-radius:50%;filter:blur(70px);opacity:var(--grad-opacity);will-change:transform}.bg-layer--1 .bg-blob:nth-child(1){top:-18vmax;left:-12vmax;background:radial-gradient(circle at center,var(--grad-a),transparent 62%);animation:drift-a 40s ease-in-out infinite alternate}.bg-layer--1 .bg-blob:nth-child(2){top:10vmax;right:-18vmax;background:radial-gradient(circle at center,var(--grad-b),transparent 62%);animation:drift-b 52s ease-in-out infinite alternate}.bg-layer--1 .bg-blob:nth-child(3){bottom:-22vmax;left:18vmax;background:radial-gradient(circle at center,var(--grad-c),transparent 62%);animation:drift-c 64s ease-in-out infinite alternate}.bg-layer--2 .bg-blob:nth-child(1){top:-12vmax;right:-14vmax;background:radial-gradient(circle at center,var(--grad-b),transparent 62%);animation:drift-b 46s ease-in-out infinite alternate}.bg-layer--2 .bg-blob:nth-child(2){bottom:-18vmax;right:8vmax;background:radial-gradient(circle at center,var(--grad-c),transparent 62%);animation:drift-c 58s ease-in-out infinite alternate}.bg-layer--2 .bg-blob:nth-child(3){top:18vmax;left:-16vmax;background:radial-gradient(circle at center,var(--grad-a),transparent 62%);animation:drift-a 50s ease-in-out infinite alternate}.bg-layer--3 .bg-blob:nth-child(1){bottom:-20vmax;left:-10vmax;background:radial-gradient(circle at center,var(--grad-c),transparent 62%);animation:drift-c 44s ease-in-out infinite alternate}.bg-layer--3 .bg-blob:nth-child(2){top:-16vmax;left:24vmax;background:radial-gradient(circle at center,var(--grad-a),transparent 62%);animation:drift-a 56s ease-in-out infinite alternate}.bg-layer--3 .bg-blob:nth-child(3){top:14vmax;right:-12vmax;background:radial-gradient(circle at center,var(--grad-b),transparent 62%);animation:drift-b 62s ease-in-out infinite alternate}@keyframes drift-a{0%{transform:translate(0) scale(1)}to{transform:translate(22vmax,14vmax) scale(1.25)}}@keyframes drift-b{0%{transform:translate(0) scale(1)}to{transform:translate(-18vmax,16vmax) scale(1.15)}}@keyframes drift-c{0%{transform:translate(0) scale(1.1)}to{transform:translate(16vmax,-12vmax) scale(.9)}}@media(prefers-reduced-motion:reduce){.bg-blob{animation:none}}[data-mode=dark]{--paper: #0d1a30;--paper-raised: #16243e;--ink: #e9eff8;--ink-soft: #b1c2db;--ink-faint: #7d8fae;--line: #27395a;--accent: #79b2ff;--focus: #79b2ff;--grad-a: #5a9bf0;--grad-b: #2b5fb0;--grad-c: #142a52;--grad-opacity: .5;color-scheme:dark}[data-mode=dark] h1,[data-mode=dark] h2,[data-mode=dark] h3{color:#fff}[data-mode=dark] .eyebrow{color:var(--accent);opacity:.85}.nav[data-astro-cid-dmqpwcec]{position:sticky;top:0;z-index:50}.nav[data-astro-cid-dmqpwcec]:before,.nav[data-astro-cid-dmqpwcec]:after{content:"";position:absolute;left:0;right:0;top:0;height:175%;pointer-events:none;z-index:-1}.nav[data-astro-cid-dmqpwcec]:before{-webkit-backdrop-filter:blur(6px) saturate(160%);backdrop-filter:blur(6px) saturate(160%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 45%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 45%,transparent 100%)}.nav[data-astro-cid-dmqpwcec]:after{background:linear-gradient(to bottom,color-mix(in srgb,var(--paper) 55%,transparent),transparent);-webkit-backdrop-filter:blur(18px) saturate(175%);backdrop-filter:blur(18px) saturate(175%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 25%,transparent 72%);mask-image:linear-gradient(to bottom,#000 0%,#000 25%,transparent 72%)}.nav__inner[data-astro-cid-dmqpwcec]{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;min-height:4rem}.nav__brand[data-astro-cid-dmqpwcec]{font-weight:600;letter-spacing:-.01em;text-decoration:none;color:var(--ink);transition:color .15s ease}.nav__list[data-astro-cid-dmqpwcec]{display:flex;align-items:center;gap:clamp(1rem,3vw,2.25rem);list-style:none;padding:0;font-size:var(--step--1)}.nav__list[data-astro-cid-dmqpwcec] li[data-astro-cid-dmqpwcec]{display:flex}.nav__toggle[data-astro-cid-dmqpwcec]{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:0;background:transparent;color:var(--ink-soft);cursor:pointer;border-radius:50%;transition:color .15s ease}.nav__toggle[data-astro-cid-dmqpwcec]:hover{color:var(--accent)}.nav__icon--sun[data-astro-cid-dmqpwcec],[data-mode=dark] .nav__toggle[data-astro-cid-dmqpwcec] .nav__icon--moon[data-astro-cid-dmqpwcec]{display:none}[data-mode=dark] .nav__toggle[data-astro-cid-dmqpwcec] .nav__icon--sun[data-astro-cid-dmqpwcec]{display:block}.nav__list[data-astro-cid-dmqpwcec] a[data-astro-cid-dmqpwcec]{text-decoration:none;color:var(--ink-soft);font-weight:500;transition:color .15s ease}.nav__list[data-astro-cid-dmqpwcec] a[data-astro-cid-dmqpwcec]:hover{color:var(--accent)}.nav[data-astro-cid-dmqpwcec].is-on-dark .nav__brand[data-astro-cid-dmqpwcec],.nav[data-astro-cid-dmqpwcec].is-on-dark .nav__list[data-astro-cid-dmqpwcec] a[data-astro-cid-dmqpwcec],.nav[data-astro-cid-dmqpwcec].is-on-dark .nav__toggle[data-astro-cid-dmqpwcec]{color:#ffffffeb}.nav[data-astro-cid-dmqpwcec].is-on-light .nav__brand[data-astro-cid-dmqpwcec],.nav[data-astro-cid-dmqpwcec].is-on-light .nav__list[data-astro-cid-dmqpwcec] a[data-astro-cid-dmqpwcec],.nav[data-astro-cid-dmqpwcec].is-on-light .nav__toggle[data-astro-cid-dmqpwcec]{color:#141412e6}@media(prefers-reduced-motion:reduce){.nav__brand[data-astro-cid-dmqpwcec],.nav__list[data-astro-cid-dmqpwcec] a[data-astro-cid-dmqpwcec]{transition:none}}.hero[data-astro-cid-bbe6dxrz]{padding-block:clamp(4rem,12vh,9rem) var(--space-2xl)}.hero__eyebrow[data-astro-cid-bbe6dxrz]{margin-bottom:var(--space-m)}.hero__name[data-astro-cid-bbe6dxrz]{font-size:var(--step-4);letter-spacing:-.03em;margin-bottom:var(--space-l)}.hero__bio[data-astro-cid-bbe6dxrz]{font-size:var(--step-1);line-height:1.45;color:var(--ink-soft);max-width:46ch;margin-bottom:var(--space-l)}.hero__actions[data-astro-cid-bbe6dxrz]{display:flex;align-items:stretch;flex-wrap:wrap;gap:var(--space-s)}.hero__email[data-astro-cid-bbe6dxrz]{display:inline-flex;align-items:center;gap:.55em;font-weight:500;text-decoration:none;padding:.6em 1.1em;border:1px solid var(--ink-faint);border-radius:999px;transition:border-color .15s ease,color .15s ease}.hero__email-icon[data-astro-cid-bbe6dxrz]{flex:none;color:var(--accent)}.hero__email[data-astro-cid-bbe6dxrz]:hover{border-color:var(--accent);color:var(--accent)}.hero__social[data-astro-cid-bbe6dxrz]{box-sizing:border-box;flex:none;align-self:center;display:inline-flex;align-items:center;justify-content:center;width:calc(2.8em + 2px);height:calc(2.8em + 2px);color:var(--ink-soft);text-decoration:none;border:1px solid var(--ink-faint);border-radius:50%;transition:border-color .15s ease,color .15s ease}.hero__social-icon[data-astro-cid-bbe6dxrz]{width:1.2em;height:1.2em}.hero__social[data-astro-cid-bbe6dxrz]:hover{border-color:var(--accent);color:var(--accent)}:where([data-astro-image]){object-fit:var(--fit);object-position:var(--pos);height:auto}:where([data-astro-image=full-width]){width:100%}:where([data-astro-image=constrained]){max-width:100%}.cs[data-astro-cid-zzz72t2a]{padding-block:var(--space-2xl);border-top:1px solid var(--line)}.cs__head[data-astro-cid-zzz72t2a]{max-width:50ch;margin-bottom:var(--space-l)}.cs__index[data-astro-cid-zzz72t2a]{display:flex;align-items:baseline;gap:var(--space-s);margin-bottom:var(--space-s)}.cs__tag[data-astro-cid-zzz72t2a]{color:var(--ink-soft);text-transform:none;letter-spacing:0;font-size:var(--step--1)}.cs__title[data-astro-cid-zzz72t2a]{font-size:var(--step-3);margin-bottom:var(--space-s)}.cs__kicker[data-astro-cid-zzz72t2a]{font-size:var(--step-1);color:var(--ink-soft);line-height:1.4}.cs__grid[data-astro-cid-zzz72t2a]{display:grid;grid-template-columns:1fr;gap:var(--space-l);margin-bottom:var(--space-xl)}.cs__body[data-astro-cid-zzz72t2a]{max-width:var(--measure);display:grid;gap:var(--space-s);color:var(--ink-soft)}.cs__link[data-astro-cid-zzz72t2a]{justify-self:start;display:inline-flex;align-items:center;gap:.45em;margin-top:var(--space-2xs);padding:.6em 1.1em;font-size:var(--step-0);font-weight:500;color:var(--ink);text-decoration:none;border:1px solid var(--ink-faint);border-radius:999px;transition:border-color .15s ease,color .15s ease}.cs__link[data-astro-cid-zzz72t2a]:hover{border-color:var(--accent);color:var(--accent)}.cs__outcomes[data-astro-cid-zzz72t2a]{display:grid;gap:var(--space-m);align-content:start}.cs__outcome[data-astro-cid-zzz72t2a] dt[data-astro-cid-zzz72t2a]{font-size:var(--step--1);color:var(--ink-faint);letter-spacing:.04em}.cs__outcome[data-astro-cid-zzz72t2a] dd[data-astro-cid-zzz72t2a]{font-size:var(--step-1);font-weight:600;color:var(--ink);letter-spacing:-.01em}.cs__visuals[data-astro-cid-zzz72t2a]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-s)}.cs__visual[data-astro-cid-zzz72t2a]{margin:0}.cs__visual--wide[data-astro-cid-zzz72t2a]{grid-column:1 / -1}.cs__img[data-astro-cid-zzz72t2a]{width:100%;height:auto;border-radius:var(--radius);border:1px solid var(--line);background:var(--paper-raised)}.cs__visual[data-astro-cid-zzz72t2a]:not(.cs__visual--wide) .cs__img[data-astro-cid-zzz72t2a]{aspect-ratio:4 / 3;height:auto;object-fit:cover;object-position:center top}.cs__visual--wide[data-astro-cid-zzz72t2a] .cs__img[data-astro-cid-zzz72t2a]{aspect-ratio:16 / 9;object-fit:cover;object-position:center}.cs__placeholder[data-astro-cid-zzz72t2a]{aspect-ratio:16 / 9;border:1px dashed var(--line);border-radius:var(--radius);background:repeating-linear-gradient(135deg,transparent,transparent 12px,color-mix(in srgb,var(--line) 35%,transparent) 12px,color-mix(in srgb,var(--line) 35%,transparent) 13px),var(--paper-raised);display:grid;place-items:center;color:var(--ink-faint);font-size:var(--step--1);letter-spacing:.08em;text-transform:uppercase}.cs__visual--wide[data-astro-cid-zzz72t2a] .cs__placeholder[data-astro-cid-zzz72t2a]{aspect-ratio:16 / 7}.cs__visual[data-astro-cid-zzz72t2a] figcaption[data-astro-cid-zzz72t2a]{margin-top:var(--space-2xs);font-size:var(--step--1);color:var(--ink-faint);max-width:50ch}.cs__split[data-astro-cid-zzz72t2a]{display:grid;grid-template-columns:1fr;gap:var(--space-s)}.cs__split-col[data-astro-cid-zzz72t2a]{display:grid;gap:var(--space-m);align-content:start}.cs__sub[data-astro-cid-zzz72t2a]{margin:0}.cs__sub[data-astro-cid-zzz72t2a] figcaption[data-astro-cid-zzz72t2a]{margin-top:var(--space-2xs);font-size:var(--step--1);color:var(--ink-faint)}.cs__fade[data-astro-cid-zzz72t2a]{position:relative;aspect-ratio:804 / 454;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--paper-raised)}.cs__fade-img[data-astro-cid-zzz72t2a]{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .7s ease}.cs__fade-img[data-astro-cid-zzz72t2a].is-active{opacity:1}@media(prefers-reduced-motion:reduce){.cs__fade-img[data-astro-cid-zzz72t2a]{transition:none}}.cs__phones[data-astro-cid-zzz72t2a]{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-s);margin-top:var(--space-s)}.cs__phone[data-astro-cid-zzz72t2a]{margin:0}.cs__phone-img[data-astro-cid-zzz72t2a]{display:block;width:100%;height:auto}@media(min-width:50rem){.cs__grid[data-astro-cid-zzz72t2a]{grid-template-columns:minmax(0,1.6fr) minmax(14rem,1fr);gap:var(--space-2xl)}.cs__split[data-astro-cid-zzz72t2a]{grid-template-columns:1.3fr 1fr;gap:var(--space-m);align-items:stretch}.cs__split-col[data-astro-cid-zzz72t2a]:first-child{align-content:stretch}.cs__split-col[data-astro-cid-zzz72t2a]:first-child .cs__sub[data-astro-cid-zzz72t2a],.cs__split-col[data-astro-cid-zzz72t2a]:first-child .cs__img[data-astro-cid-zzz72t2a]{height:100%}.cs__split-col[data-astro-cid-zzz72t2a]:first-child .cs__img[data-astro-cid-zzz72t2a]{object-fit:cover}.cs__split-col[data-astro-cid-zzz72t2a]:last-child .cs__img[data-astro-cid-zzz72t2a]{aspect-ratio:804 / 454;object-fit:cover}.cs__phones[data-astro-cid-zzz72t2a]{grid-template-columns:repeat(4,1fr);gap:var(--space-m)}}.demo[data-astro-cid-tb5vpudz]{border-bottom:1px solid var(--line)}.demo__head[data-astro-cid-tb5vpudz]{max-width:50ch;margin-bottom:var(--space-l)}.demo__title[data-astro-cid-tb5vpudz]{font-size:var(--step-3);margin-block:var(--space-s) var(--space-s)}.demo__kicker[data-astro-cid-tb5vpudz]{font-size:var(--step-1);color:var(--ink-soft);line-height:1.4}.demo__grid[data-astro-cid-tb5vpudz]{display:grid;grid-template-columns:1fr;gap:var(--space-l);margin-bottom:var(--space-xl)}.demo__body[data-astro-cid-tb5vpudz]{max-width:var(--measure);color:var(--ink-soft)}.demo__open[data-astro-cid-tb5vpudz]{display:inline-flex;align-items:center;gap:.45em;margin-top:var(--space-m);padding:.6em 1.1em;font-size:var(--step-0);font-weight:500;color:inherit;text-decoration:none;border:1px solid var(--ink-faint);border-radius:999px;transition:border-color .15s ease,color .15s ease}.demo__open[data-astro-cid-tb5vpudz]:hover{border-color:var(--accent);color:var(--accent)}.demo__metrics[data-astro-cid-tb5vpudz]{display:grid;gap:var(--space-m);align-content:start;margin:0}.demo__metric[data-astro-cid-tb5vpudz] dt[data-astro-cid-tb5vpudz]{font-size:var(--step--1);color:var(--ink-faint);letter-spacing:.04em;margin-bottom:2px}.demo__metric[data-astro-cid-tb5vpudz] dd[data-astro-cid-tb5vpudz]{margin:0;font-size:var(--step-1);font-weight:600;color:var(--ink);letter-spacing:-.01em}.demo__metric[data-astro-cid-tb5vpudz]:first-child dd[data-astro-cid-tb5vpudz]{color:var(--accent)}.demo__visual[data-astro-cid-tb5vpudz]{margin:0;padding:clamp(.5rem,1.2vw,.9rem);border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-raised);box-shadow:0 24px 60px #0000002e}.demo__visual[data-astro-cid-tb5vpudz] img{display:block;width:100%;height:auto;border-radius:calc(var(--radius) - 4px);box-shadow:0 2px 10px #00000024}@media(min-width:50rem){.demo__grid[data-astro-cid-tb5vpudz]{grid-template-columns:minmax(0,1.6fr) minmax(14rem,1fr);gap:var(--space-2xl)}}.about__grid[data-astro-cid-v2cbyr3p]{display:grid;gap:var(--space-xl)}.about__title[data-astro-cid-v2cbyr3p]{font-size:var(--step-2);margin-block:var(--space-s) var(--space-m)}.about__body[data-astro-cid-v2cbyr3p]{display:grid;gap:var(--space-s);color:var(--ink-soft);max-width:var(--measure)}@media(min-width:50rem){.about__grid[data-astro-cid-v2cbyr3p]{align-items:start;gap:var(--space-2xl)}}.contact__title[data-astro-cid-xmivup5a]{font-size:var(--step-3);margin-block:var(--space-s) var(--space-l)}.contact__list[data-astro-cid-xmivup5a]{list-style:none;padding:0;display:grid;gap:var(--space-s);font-size:var(--step-1)}.contact__list[data-astro-cid-xmivup5a] a[data-astro-cid-xmivup5a]{text-decoration:none;border-bottom:1px solid var(--ink-faint);padding-bottom:2px}.contact__list[data-astro-cid-xmivup5a] a[data-astro-cid-xmivup5a]:hover{border-color:var(--accent)}.contact__list[data-astro-cid-xmivup5a] a[data-astro-cid-xmivup5a].contact__email{display:inline-flex;align-items:center;gap:.55em;font-size:var(--step-0);font-weight:500;padding:.6em 1.1em;border:1px solid var(--ink-faint);border-radius:999px;transition:border-color .15s ease,color .15s ease}.contact__email[data-astro-cid-xmivup5a] .contact__icon[data-astro-cid-xmivup5a]{flex:none;color:var(--accent)}.contact__list[data-astro-cid-xmivup5a] a[data-astro-cid-xmivup5a].contact__email:hover{border-color:var(--accent);color:var(--accent)}.footer[data-astro-cid-xmivup5a]{border-top:1px solid var(--line);padding-block:var(--space-l)}.footer__inner[data-astro-cid-xmivup5a]{display:flex;flex-wrap:wrap;gap:var(--space-s);justify-content:space-between;font-size:var(--step--1);color:var(--ink-faint)}
