:root{color-scheme:light;--primary:#00675b;--on-primary:#fff;--primary-container:#74f8e5;--on-primary-container:#00201c;--secondary:#4a635f;--on-secondary:#fff;--secondary-container:#cce8e2;--on-secondary-container:#05201c;--tertiary:#456179;--on-tertiary:#fff;--tertiary-container:#cbe6ff;--on-tertiary-container:#001e31;--surface:#f6faf8;--surface-dim:#d6dbd9;--surface-container-lowest:#fff;--surface-container-low:#eff5f2;--surface-container:#e9efec;--surface-container-high:#e3e9e7;--surface-container-highest:#dee4e1;--on-surface:#191c1b;--on-surface-variant:#3f4947;--outline:#6f7976;--outline-variant:#bec9c5;--scrim:#00000052;--shadow-1:0 1px 2px #0000004d, 0 1px 3px 1px #00000026;--shadow-2:0 1px 2px #0000004d, 0 2px 6px 2px #00000026;--shadow-3:0 4px 8px 3px #00000026, 0 1px 3px #0000004d;--radius-xs:4px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:28px;--radius-full:999px;--ease-standard:cubic-bezier(.2, 0, 0, 1);--ease-emphasized:cubic-bezier(.3, 0, 0, 1);--dur-short:.15s;--dur-medium:.3s;--font-sans:system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--content-max:1120px;--gutter:16px;--header-h:64px}@media (width>=720px){:root{--gutter:24px}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--primary:#53dbc9;--on-primary:#003731;--primary-container:#005048;--on-primary-container:#74f8e5;--secondary:#b1ccc6;--on-secondary:#1c3531;--secondary-container:#334b47;--on-secondary-container:#cce8e2;--tertiary:#adcae6;--on-tertiary:#153349;--tertiary-container:#2d4961;--on-tertiary-container:#cbe6ff;--surface:#0f1413;--surface-dim:#0f1413;--surface-container-lowest:#0a0f0e;--surface-container-low:#171c1b;--surface-container:#1b201f;--surface-container-high:#262b29;--surface-container-highest:#303634;--on-surface:#dfe3e1;--on-surface-variant:#bec9c5;--outline:#899390;--outline-variant:#3f4947;--scrim:#00000080}}:root[data-theme=dark]{color-scheme:dark;--primary:#53dbc9;--on-primary:#003731;--primary-container:#005048;--on-primary-container:#74f8e5;--secondary:#b1ccc6;--on-secondary:#1c3531;--secondary-container:#334b47;--on-secondary-container:#cce8e2;--tertiary:#adcae6;--on-tertiary:#153349;--tertiary-container:#2d4961;--on-tertiary-container:#cbe6ff;--surface:#0f1413;--surface-dim:#0f1413;--surface-container-lowest:#0a0f0e;--surface-container-low:#171c1b;--surface-container:#1b201f;--surface-container-high:#262b29;--surface-container-highest:#303634;--on-surface:#dfe3e1;--on-surface-variant:#bec9c5;--outline:#899390;--outline-variant:#3f4947;--scrim:#00000080}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px);-webkit-text-size-adjust:100%}body{background:var(--surface);color:var(--on-surface);font-family:var(--font-sans);letter-spacing:.01em;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;flex-direction:column;min-height:100dvh;margin:0;font-size:1rem;line-height:1.5;display:flex}main{flex:1}img,svg{max-width:100%;display:block}a{color:var(--primary);text-underline-offset:.15em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}p{margin:0 0 1em}p:last-child{margin-bottom:0}ul{margin:0;padding-left:1.25em}:focus-visible{outline:3px solid var(--primary);outline-offset:2px;border-radius:var(--radius-xs)}::selection{background:var(--primary-container);color:var(--on-primary-container)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.display{letter-spacing:-.02em;margin:0;font-size:clamp(2.25rem,2rem + 2.5vw,3.5rem);font-weight:500;line-height:1.1}.headline{letter-spacing:-.01em;margin:0;font-size:clamp(1.5rem,1.3rem + 1vw,2rem);font-weight:500;line-height:1.2}.title-lg{margin:0;font-size:1.375rem;font-weight:500;line-height:1.3}.title{letter-spacing:.005em;margin:0;font-size:1.0625rem;font-weight:600;line-height:1.4}.body-lg{font-size:1.0625rem;line-height:1.6}.body{font-size:.9375rem;line-height:1.55}.label{letter-spacing:.03em;font-size:.8125rem;font-weight:500;line-height:1.25}.muted{color:var(--on-surface-variant)}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--primary);align-items:center;gap:8px;margin:0 0 12px;font-size:.8125rem;font-weight:600;display:inline-flex}.container{width:100%;max-width:var(--content-max);padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:clamp(48px,6vw,88px)}.section+.section{padding-top:0}.section-head{max-width:60ch;margin-bottom:28px}.section-head p{margin-top:10px}.grid{grid-template-columns:1fr;gap:16px;display:grid}@media (width>=640px){.grid-2{grid-template-columns:repeat(2,1fr)}}@media (width>=960px){.grid-3{grid-template-columns:repeat(3,1fr)}}.skip-link{z-index:100;border-radius:var(--radius-full);background:var(--primary);color:var(--on-primary);padding:10px 16px;font-weight:600;position:absolute;top:-100px;left:16px}.skip-link:focus{top:12px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.btn{--btn-bg:var(--primary);--btn-fg:var(--on-primary);isolation:isolate;border-radius:var(--radius-full);background:var(--btn-bg);min-height:44px;color:var(--btn-fg);font:inherit;letter-spacing:.01em;cursor:pointer;white-space:nowrap;transition:box-shadow var(--dur-short) var(--ease-standard), transform var(--dur-short) var(--ease-standard);border:0;justify-content:center;align-items:center;gap:8px;padding:0 24px;font-size:.9375rem;font-weight:600;text-decoration:none;display:inline-flex;position:relative}.btn:after{content:"";border-radius:inherit;z-index:-1;opacity:0;transition:opacity var(--dur-short) var(--ease-standard);background:currentColor;position:absolute;inset:0}.btn:hover:after{opacity:.08}.btn:active:after{opacity:.12}.btn:hover{text-decoration:none}.btn-filled:hover{box-shadow:var(--shadow-1)}.btn-tonal{--btn-bg:var(--secondary-container);--btn-fg:var(--on-secondary-container)}.btn-outlined{--btn-bg:transparent;--btn-fg:var(--primary);box-shadow:inset 0 0 0 1px var(--outline)}.btn-text{--btn-bg:transparent;--btn-fg:var(--primary);padding-inline:12px}.btn svg{flex:none;width:18px;height:18px}.btn-icon{--btn-bg:transparent;--btn-fg:var(--on-surface-variant);width:44px;height:44px;min-height:0;padding:0}.btn-icon svg{width:22px;height:22px}.chips{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.chip{border-radius:var(--radius-sm);letter-spacing:.01em;min-height:30px;color:var(--on-surface-variant);box-shadow:inset 0 0 0 1px var(--outline-variant);background:0 0;align-items:center;gap:6px;padding:0 12px;font-size:.8125rem;font-weight:500;display:inline-flex}.chip-tonal{box-shadow:none;background:var(--secondary-container);color:var(--on-secondary-container)}.chip svg{width:16px;height:16px}.badge{border-radius:var(--radius-full);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:6px;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.badge-live{background:var(--primary-container);color:var(--on-primary-container)}.badge-building{background:var(--tertiary-container);color:var(--on-tertiary-container)}.badge-client{background:var(--secondary-container);color:var(--on-secondary-container)}.card{background:var(--surface-container-low);border-radius:var(--radius-lg);transition:background var(--dur-medium) var(--ease-standard), box-shadow var(--dur-medium) var(--ease-standard), transform var(--dur-medium) var(--ease-emphasized);padding:20px;position:relative}.card-elevated{background:var(--surface-container-lowest);box-shadow:var(--shadow-1)}.card-interactive:hover{background:var(--surface-container);box-shadow:var(--shadow-2);transform:translateY(-2px)}.card-outlined{background:var(--surface);box-shadow:inset 0 0 0 1px var(--outline-variant)}.icon-tile{border-radius:var(--radius-md);flex:none;place-items:center;width:48px;height:48px;display:grid}.icon-tile svg{width:24px;height:24px}.tone-primary{background:var(--primary-container);color:var(--on-primary-container)}.tone-secondary{background:var(--secondary-container);color:var(--on-secondary-container)}.tone-tertiary{background:var(--tertiary-container);color:var(--on-tertiary-container)}.divider{border:0;border-top:1px solid var(--outline-variant);margin:0}.icon-sun{display:none}:root[data-theme=dark] .icon-sun{display:block}:root[data-theme=dark] .icon-moon{display:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .icon-sun{display:block}:root:not([data-theme=light]) .icon-moon{display:none}}.icon-close{display:none}[aria-expanded=true]>.icon-close{display:block}[aria-expanded=true]>.icon-menu{display:none}.app-bar[data-astro-cid-nen7h5rs]{z-index:50;height:var(--header-h);background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(14px);transition:background var(--dur-medium) var(--ease-standard), box-shadow var(--dur-medium) var(--ease-standard);position:sticky;top:0}.app-bar[data-astro-cid-nen7h5rs].scrolled{background:color-mix(in srgb, var(--surface-container) 92%, transparent);box-shadow:0 1px 0 var(--outline-variant)}.app-bar-inner[data-astro-cid-nen7h5rs]{align-items:center;gap:12px;height:100%;display:flex}.brand[data-astro-cid-nen7h5rs]{color:var(--on-surface);letter-spacing:-.01em;align-items:center;gap:10px;margin-right:auto;font-weight:600;text-decoration:none;display:inline-flex}.brand-mark[data-astro-cid-nen7h5rs]{background:var(--primary);width:36px;height:36px;color:var(--on-primary);letter-spacing:.02em;border-radius:10px;place-items:center;font-size:.8125rem;font-weight:700;display:grid}.brand-name[data-astro-cid-nen7h5rs]{font-size:1rem}.nav[data-astro-cid-nen7h5rs] ul[data-astro-cid-nen7h5rs]{gap:4px;margin:0;padding:0;list-style:none;display:flex}.nav-link[data-astro-cid-nen7h5rs]{border-radius:var(--radius-full);height:40px;color:var(--on-surface-variant);transition:background var(--dur-short) var(--ease-standard), color var(--dur-short) var(--ease-standard);align-items:center;padding:0 14px;font-size:.9375rem;font-weight:500;text-decoration:none;display:inline-flex;position:relative}.nav-link[data-astro-cid-nen7h5rs]:hover{background:color-mix(in srgb, var(--on-surface) 8%, transparent);color:var(--on-surface);text-decoration:none}.nav-link[data-astro-cid-nen7h5rs][aria-current=page]{background:var(--secondary-container);color:var(--on-secondary-container)}.app-bar-actions[data-astro-cid-nen7h5rs]{align-items:center;gap:4px;display:flex}.resume-cta[data-astro-cid-nen7h5rs]{min-height:40px;padding-inline:16px}.menu-toggle[data-astro-cid-nen7h5rs]{display:none}@media (width<=767px){.brand-name[data-astro-cid-nen7h5rs]{font-size:.9375rem}.resume-cta[data-astro-cid-nen7h5rs] span[data-astro-cid-nen7h5rs]{display:none}.resume-cta[data-astro-cid-nen7h5rs]{justify-content:center;width:44px;padding:0}.menu-toggle[data-astro-cid-nen7h5rs]{display:inline-flex}.nav[data-astro-cid-nen7h5rs]{padding:8px var(--gutter) 16px;background:var(--surface-container);box-shadow:var(--shadow-2);border-radius:0 0 var(--radius-xl) var(--radius-xl);display:none;position:absolute;top:100%;left:0;right:0}.nav[data-astro-cid-nen7h5rs].open{display:block}.nav[data-astro-cid-nen7h5rs] ul[data-astro-cid-nen7h5rs]{flex-direction:column;gap:2px}.nav-link[data-astro-cid-nen7h5rs]{border-radius:var(--radius-md);width:100%;height:48px;padding:0 16px;font-size:1rem}}.footer[data-astro-cid-jo6i4kqk]{background:var(--surface-container-low);border-radius:var(--radius-xl) var(--radius-xl) 0 0;margin-top:48px;padding:32px 0 28px}.footer-inner[data-astro-cid-jo6i4kqk]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 24px;display:flex}.footer-links[data-astro-cid-jo6i4kqk]{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.copyright[data-astro-cid-jo6i4kqk]{margin-top:20px}
