:root{--color-ink:#161515;--color-static-ink:#161515;--color-paper:#f8f8f8;--color-paper-strong:#fff;--color-static-white:#fff;--color-sand:#d7d7d3;--color-amber:#161515b3;--color-sky:#07f;--color-moss:#5d7668;--color-line:#16151514;--color-line-strong:#1615153d;--color-resume-divider:color-mix(in srgb, var(--color-ink) 12%, transparent);--color-floating-outline:#f2f2ee15;--color-muted:#999;--color-accent-alert:#ff1d1d;--color-accent-pink:#ff4f97;--color-mint-surface:#e7f9dc;--color-mint-surface-strong:#d8f2c4;--color-status-badge-surface:#d8f1e5;--color-status-badge-text:#214d39;--color-status-dot-halo:#7fd8a5;--color-status-dot-core:#56b37b;--color-intro-cta-hover:color-mix(in srgb, var(--color-paper) 97%, var(--color-ink) 3%);--color-intro-cta-primary-hover:color-mix(in srgb, var(--color-ink) 88%, var(--color-paper-strong));--size-intro-mobile-header-fade:var(--space-8);--gradient-intro-mobile-header:linear-gradient(to bottom, var(--color-paper-strong) 0%, var(--color-paper-strong) calc(100% - var(--size-intro-mobile-header-fade)), color-mix(in srgb, var(--color-paper-strong) 85%, transparent) calc(100% - var(--space-7)), color-mix(in srgb, var(--color-paper-strong) 55%, transparent) calc(100% - var(--space-6)), color-mix(in srgb, var(--color-paper-strong) 20%, transparent) calc(100% - var(--space-4)), color-mix(in srgb, var(--color-paper-strong) 0%, transparent) 100%);--color-intro-sunset-night:color-mix(in oklab, var(--color-paper-strong) 95%, var(--color-intro-sunset-sky));--color-intro-sunset-blue:#99cbe1;--color-intro-sunset-deep-blue:#053b7b;--color-intro-sunset-sky:var(--color-intro-sunset-blue);--color-intro-sunset-haze:color-mix(in oklab, var(--color-intro-sunset-sky) 70%, var(--color-intro-sunset-horizon));--color-intro-sunset-dusk:color-mix(in oklab, var(--color-intro-sunset-sky) 20%, var(--color-intro-sunset-horizon));--color-intro-sunset-horizon:var(--color-intro-sunset-deep-blue);--color-intro-sunset-ground:var(--color-paper-strong);--texture-intro-sunset-grain:url(/images/textures/grain.svg);--size-intro-sunset-grain:12rem;--size-intro-sunset-height:calc(85svh / .7);--size-intro-sunset-horizon:calc(var(--size-intro-sunset-height) * .7);--effect-intro-sunset-blur:.375rem;--opacity-intro-sunset-grain:.3;--color-intro-star:color-mix(in srgb, var(--color-static-white) 92%, var(--color-intro-sunset-blue));--opacity-intro-stars:0;--effect-intro-star-blur:.025rem;--effect-intro-star-compact-blur:.0125rem;--duration-intro-star-twinkle:2.5s;--opacity-intro-star-bright:2.4;--scale-intro-star-pulse:1.6;--scale-intro-star-large:.82;--effect-intro-star-pulse-glow:2px;--effect-intro-star-compact-accent-glow:.5px;--opacity-intro-star-compact-accent:.65;--size-intro-star-accent-right:1.5rem;--size-intro-star-accent-left:1.125rem;--size-intro-star-compact:max(calc(100vw * 24 / 1600), calc(var(--size-intro-sunset-horizon) * 24 / 900));--position-intro-star-accent-right-top:15%;--position-intro-star-accent-right-edge:8%;--position-intro-star-accent-left-top:27%;--position-intro-star-accent-left-edge:9%;--scale-intro-star-compact-field:1.18;--position-intro-star-compact-field-top:calc(6svh * var(--scale-intro-star-compact-field));--position-intro-star-compact-field-edge:1%;--size-intro-star-compact-field-height:calc(36.8svh * var(--scale-intro-star-compact-field));--position-intro-star-compact-right-level:.799;--position-intro-star-compact-right-edge:11.8%;--position-intro-star-compact-left-level:.186;--position-intro-star-compact-left-edge:7.65%;--mask-intro-stars:linear-gradient(to bottom, transparent, var(--color-static-white) 10%, var(--color-static-white) 30%, transparent 68%);--mask-intro-stars-compact:linear-gradient(to bottom, var(--color-static-white) calc(var(--position-intro-star-compact-field-top) + var(--size-intro-star-compact-field-height) * .15), color-mix(in srgb, var(--color-static-white) 75%, transparent) calc(var(--position-intro-star-compact-field-top) + var(--size-intro-star-compact-field-height) * .45), color-mix(in srgb, var(--color-static-white) 32%, transparent) calc(var(--position-intro-star-compact-field-top) + var(--size-intro-star-compact-field-height) * .72), transparent calc(var(--position-intro-star-compact-field-top) + var(--size-intro-star-compact-field-height) * 1.05));--position-intro-header-color-start:.22;--position-intro-header-color-end:.7;--color-intro-header-overlay-ink:color-mix(in srgb, var(--color-static-white) 85%, transparent);--color-intro-header-overlay-muted:color-mix(in srgb, var(--color-static-white) 70%, transparent);--mask-intro-location-pin:url(/images/icons/location-pin-mask.svg);--background-intro-sunset:linear-gradient(180deg in oklab, var(--color-paper-strong) 0%, var(--color-intro-sunset-night) 14%, color-mix(in oklab, var(--color-paper-strong) 80%, var(--color-intro-sunset-sky)) 21%, color-mix(in oklab, var(--color-paper-strong) 50%, var(--color-intro-sunset-sky)) 27%, color-mix(in oklab, var(--color-paper-strong) 20%, var(--color-intro-sunset-sky)) 33%, color-mix(in oklab, var(--color-paper-strong) 5%, var(--color-intro-sunset-sky)) 37%, var(--color-intro-sunset-sky) 40%, color-mix(in oklab, var(--color-intro-sunset-sky) 95%, var(--color-intro-sunset-horizon)) 44%, color-mix(in oklab, var(--color-intro-sunset-sky) 80%, var(--color-intro-sunset-horizon)) 49%, color-mix(in oklab, var(--color-intro-sunset-sky) 50%, var(--color-intro-sunset-horizon)) 55%, var(--color-intro-sunset-dusk) 61%, color-mix(in oklab, var(--color-intro-sunset-sky) 5%, var(--color-intro-sunset-horizon)) 66%, var(--color-intro-sunset-horizon) 70%, var(--color-intro-sunset-ground) 70%, var(--color-intro-sunset-ground) 100%);--color-contact-close-hover:color-mix(in srgb, var(--color-paper) 92%, var(--color-ink) 8%);--color-contact-close-surface:var(--color-intro-cta-hover);--color-contact-sheet-surface:var(--color-paper-strong);--color-snackbar-surface:linear-gradient(180deg, #f4f4f4 0%, #d3d3d3 100%);--color-snackbar-text:var(--color-static-ink);--shadow-snackbar:inset 0 0 0 1px #0000000a, 0 1px 1px #0000003d;--color-feed-banner-surface:linear-gradient(180deg, var(--color-mint-surface) 0%, var(--color-mint-surface-strong) 100%);--font-display:var(--font-inter), sans-serif;--font-body:var(--font-inter), sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--color-ascii-field:var(--color-ink);--color-ascii-field-bottom:var(--color-static-white);--position-ascii-field-color-start:.6;--position-ascii-field-color-end:.86;--type-ascii-field:.75rem;--weight-ascii-field:400;--size-ascii-field-cell:21px;--size-ascii-field-radius:120px;--size-ascii-field-drawing-radius:48px;--duration-ascii-field:.9s;--duration-ascii-field-drawing:.6s;--duration-ascii-field-rise:25ms;--duration-ascii-field-fall:70ms;--duration-ascii-field-shimmer:.48s;--strength-ascii-field-shimmer:.65;--strength-ascii-field-stroke-shimmer:1.9;--duration-ascii-field-word:.6s;--duration-ascii-field-word-fade:.18s;--duration-ascii-field-ripple:.9s;--size-ascii-field-drag-threshold:6px;--size-ascii-field-ripple:200px;--size-ascii-field-ripple-clear-radius:140px;--size-ascii-field-ripple-band:14px;--size-ascii-field-ripple-halo:42px;--opacity-ascii-field-ripple-halo:.16;--size-ascii-field-ripple-gap:42px;--strength-ascii-field-ripple:6;--strength-ascii-field-press:2.4;--opacity-ascii-field:.121095;--type-heading-l:1.25rem;--type-display:2rem;--type-intro-name:1rem;--type-intro-body:.875rem;--weight-intro-name:450;--weight-intro-attribution:400;--type-heading-m:.875rem;--weight-regular:400;--weight-resume-name:600;--type-body:.875rem;--leading-heading:1;--leading-body-tight:1.2;--leading-body:1.4;--leading-intro-copy:1.463;--space-1:.375rem;--space-2:.75rem;--space-3:1rem;--space-4:1.5rem;--space-5:2rem;--space-6:3rem;--space-7:4.5rem;--space-8:6rem;--space-resume-heading-content:.5rem;--space-intro-cta-block:.25rem;--space-intro-cta-inline:1.25rem;--space-intro-cta-offset:.25rem;--space-intro-cta-expand-trigger:var(--space-2);--space-intro-index-item:.25rem;--space-contact-header-link:calc((var(--space-1) + var(--space-2)) / 2);--space-hero-copy:calc(.4rem + 4px);--size-intro-cta-height:1.875rem;--size-intro-cta-expanded-height:3.5rem;--size-intro-cta-width:6rem;--size-contact-sheet-close:2rem;--size-contact-sheet-icon:.875rem;--size-ambient-player-control:2rem;--size-ambient-player-bar:.1625rem;--space-ambient-player-bars:.125rem;--scale-ambient-player:.85;--duration-ambient-player-bar:1.8s;--size-local-meta-icon:1rem;--size-local-clock-icon:1.0625rem;--size-local-pin-icon:.4375rem;--size-weather-icon:1.0625rem;--size-hero-portrait:22.8rem;--size-hero-photo:8rem;--size-home-hero-desktop-min:32.5rem;--size-home-hero-desktop-fluid:62.4svh;--size-home-hero-desktop-max:42.25rem;--size-intro-project-preview:28rem;--max-width-intro-hero:25rem;--size-intro-scroll-profile-top:5rem;--size-intro-profile-reveal-offset:30px;--size-intro-hover-dot:.25rem;--space-intro-hover-dot-offset:.625rem;--space-intro-hover-dot-y:.125rem;--effect-intro-index-blur:.45rem;--effect-intro-profile-blur:.65rem;--distance-intro-profile-reveal:-.5rem;--duration-intro-reveal:.24s;--duration-intro-cta-expand:.7s;--duration-intro-index-reveal:1.4s;--duration-intro-preview-swap:.1s;--duration-hover-dot-appear:.18s;--duration-hover-dot-move:.24s;--delay-hover-dot-leave:.1s;--duration-header-morph:.7s;--duration-header-part-reveal:.3s;--duration-contact-header:.18s;--delay-header-part-reveal:.14s;--distance-header-part-reveal:var(--space-1);--distance-header-meta-swap:var(--space-4);--duration-intro-profile-reveal:1.4s;--delay-intro-profile-name:.16s;--delay-intro-profile-bio:.34s;--delay-intro-profile-actions:.52s;--easing-soft-reveal:cubic-bezier(.22, 1, .36, 1);--radius-modal:.5rem;--radius-soft:1.5rem;--radius-round:999px;--shadow-soft:0 24px 80px #16151514;--max-width:84rem;--max-width-narrow:64rem;--max-width-text-column:calc(var(--max-width-narrow) * .448);--max-width-text-shell:calc(var(--max-width-text-column) + (var(--space-4) * 2));--max-width-rate-form:var(--max-width-text-column);--max-width-intro:22.5rem;--max-width-intro-copy:22.5rem;--max-width-home-summary-mobile:19rem;--max-width-contact-sheet:26rem;--gallery-row-unit:.72rem;--gallery-tone-sky-start:#091222;--gallery-tone-sky-end:#4ec0ff;--gallery-tone-sky-glow:#7ce4ff;--gallery-tone-amber-start:#1d130e;--gallery-tone-amber-end:#d18f44;--gallery-tone-amber-glow:#ffd270;--gallery-tone-moss-start:#0d1815;--gallery-tone-moss-end:#4aa882;--gallery-tone-moss-glow:#9fe0ba;--gallery-tone-plum-start:#1a1021;--gallery-tone-plum-end:#9764d6;--gallery-tone-plum-glow:#d3a8ff;--gallery-tone-graphite-start:#161616;--gallery-tone-graphite-end:#727272;--gallery-tone-graphite-glow:#d7d7d7}html[data-theme=dark]{--opacity-ascii-field:.08424;--color-ascii-field-bottom:var(--color-ink);--color-ink:#f2f2ee;--color-paper:#0f0f0f;--color-paper-strong:#000;--color-sand:#2b2b2b;--color-amber:#f2f2eead;--color-line:#f2f2ee0d;--color-line-strong:#f2f2ee1f;--color-floating-outline:#16151514;--color-muted:#999;--color-mint-surface:#1f3a38;--color-mint-surface-strong:#244240;--color-status-badge-surface:#18352e;--color-status-badge-text:#9ce4bc;--color-status-dot-halo:#63c98d61;--color-status-dot-core:#63c98d;--color-intro-cta-hover:color-mix(in srgb, var(--color-paper) 97%, var(--color-ink) 3%);--color-contact-close-hover:color-mix(in srgb, var(--color-paper) 84%, var(--color-ink) 16%);--color-contact-close-surface:color-mix(in srgb, var(--color-contact-sheet-surface) 96%, var(--color-ink) 4%);--color-contact-sheet-surface:color-mix(in srgb, var(--color-paper) 98.2%, var(--color-ink) 1.8%);--color-snackbar-surface:linear-gradient(180deg, #3a3a3a 0%, #262626 100%);--color-snackbar-text:var(--color-ink);--shadow-snackbar:0 1px 1px #00000073;--color-feed-banner-surface:#071917;--color-intro-sunset-night:#08090c;--color-intro-sunset-sky:#171e30;--color-intro-sunset-haze:#343d4b;--color-intro-sunset-dusk:#655344;--color-intro-sunset-horizon:#a43c20;--color-intro-sunset-ground:var(--color-paper-strong);--opacity-intro-sunset-grain:1;--opacity-intro-stars:.88;--background-intro-sunset:linear-gradient(180deg in oklab, var(--color-paper-strong) 0%, var(--color-intro-sunset-night) 14%, var(--color-intro-sunset-sky) 34%, var(--color-intro-sunset-haze) 52%, var(--color-intro-sunset-dusk) 63%, var(--color-intro-sunset-horizon) 70%, var(--color-intro-sunset-ground) 70%, var(--color-intro-sunset-ground) 100%);--shadow-soft:0 24px 80px #00000038}html[data-theme=dark] .stack-list__item,html[data-theme=dark] .career-list__item,html[data-theme=dark] .project-links__item,html[data-theme=dark] .grouped-link-list--feed a,html[data-theme=dark] .grouped-link-list--projects a,html[data-theme=dark] .contacts-directory__row{border-color:#f2f2ee15}html{scroll-behavior:smooth;height:100%;font-size:16px}html,body{max-width:100vw;overflow-x:hidden}body{min-height:100%;color:var(--color-ink);background:var(--color-paper-strong);font-family:var(--font-body);font-size:var(--type-body);line-height:var(--leading-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-direction:column;transition:background-color .18s,color .18s;display:flex}*{box-sizing:border-box;scrollbar-width:none;margin:0;padding:0}::-webkit-scrollbar{display:none}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}img{display:block}button{cursor:pointer;color:inherit;background:0 0;border:0}:focus-visible{outline:2px solid var(--color-sky);outline-offset:4px}.site-background{display:none}.site-background__glow{aspect-ratio:1;filter:blur(100px);opacity:.5;border-radius:50%;width:28rem;position:absolute}.site-background__glow--left{background:#16151514;top:-8rem;left:-8rem}.site-background__glow--right{background:#4c8ab833;top:12rem;right:-8rem}.site-background__grid{opacity:.18;background-image:linear-gradient(90deg,#1615150a 1px,#0000 1px),linear-gradient(#1615150a 1px,#0000 1px);background-size:3rem 3rem;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0009,#0000 85%);mask-image:linear-gradient(#0009,#0000 85%)}.site-frame{width:100%}:is(body:has(.intro-page)>.site-header,body:has(.intro-page)>.site-footer-actions,body:has(.intro-page)>.site-footer){display:none}.intro-page{width:100%;font-size:var(--type-intro-body);isolation:isolate;background:var(--color-intro-sunset-ground);position:relative}.ambient-player{display:none}@media (min-width:64rem) and (hover:hover) and (pointer:fine){.ambient-player{right:var(--space-4);bottom:calc(var(--space-4) + env(safe-area-inset-bottom,0px));z-index:9;align-items:center;gap:0;display:flex;position:fixed}}.ambient-player__control{align-items:center;gap:calc(var(--space-2) * var(--scale-ambient-player));min-height:calc(var(--size-ambient-player-control) * var(--scale-ambient-player));padding-inline:calc(var(--space-2) * var(--scale-ambient-player));color:var(--color-muted);border-radius:var(--radius-round);transition:background-color var(--duration-contact-header) ease, color var(--duration-contact-header) ease;display:inline-flex}.ambient-player__control:hover,.ambient-player__control:focus-visible{background:var(--color-intro-cta-hover)}.ambient-player__control[aria-pressed=true],.ambient-player[data-playing=true] .ambient-player__bars{color:var(--color-ink)}.ambient-player__control svg{width:calc(var(--space-3) * var(--scale-ambient-player));height:calc(var(--space-3) * var(--scale-ambient-player));color:currentColor;flex-shrink:0}.ambient-player__bars{color:var(--color-muted);transition:color var(--duration-contact-header) ease;align-items:center;gap:calc(var(--space-ambient-player-bars) * var(--scale-ambient-player));height:calc(var(--space-3) * var(--scale-ambient-player));display:inline-flex}.ambient-player__bars>span{--ambient-bar-height:.4;width:calc(var(--size-ambient-player-bar) * var(--scale-ambient-player));background:color-mix(in srgb, currentColor 18%, transparent);height:100%;display:block;overflow:hidden}.ambient-player__bars>span>span{transform-origin:bottom;width:100%;height:100%;transform:scaleY(var(--ambient-bar-height));background:currentColor;display:block}.ambient-player__bars>span:nth-child(2){--ambient-bar-height:.85}.ambient-player__bars>span:nth-child(3){--ambient-bar-height:.1}.ambient-player__bars>span:nth-child(4){--ambient-bar-height:.65}.ambient-player__bars>span:nth-child(5){--ambient-bar-height:.3}.ambient-player__bars>span:nth-child(6){--ambient-bar-height:.75}.ambient-player__bars>span:nth-child(7){--ambient-bar-height:.5}.ambient-player[data-playing=true] .ambient-player__bars>span>span{animation:ambient-bar-stretch var(--duration-ambient-player-bar) ease-in-out infinite}.ambient-player[data-playing=true] .ambient-player__bars>span:nth-child(2)>span{animation-duration:calc(var(--duration-ambient-player-bar) * 1.3);animation-delay:calc(var(--duration-ambient-player-bar) * -.4)}.ambient-player[data-playing=true] .ambient-player__bars>span:nth-child(3)>span{animation-duration:calc(var(--duration-ambient-player-bar) * .85);animation-delay:calc(var(--duration-ambient-player-bar) * -.7)}.ambient-player[data-playing=true] .ambient-player__bars>span:nth-child(4)>span{animation-duration:calc(var(--duration-ambient-player-bar) * 1.15);animation-delay:calc(var(--duration-ambient-player-bar) * -.2)}.ambient-player[data-playing=true] .ambient-player__bars>span:nth-child(5)>span{animation-duration:calc(var(--duration-ambient-player-bar) * 1.5);animation-delay:calc(var(--duration-ambient-player-bar) * -.55)}.ambient-player[data-playing=true] .ambient-player__bars>span:nth-child(6)>span{animation-duration:calc(var(--duration-ambient-player-bar) * .95);animation-delay:calc(var(--duration-ambient-player-bar) * -.35)}.ambient-player[data-playing=true] .ambient-player__bars>span:nth-child(7)>span{animation-duration:calc(var(--duration-ambient-player-bar) * 1.4);animation-delay:calc(var(--duration-ambient-player-bar) * -.8)}@keyframes ambient-bar-stretch{0%,to{transform:scaleY(.25)}45%{transform:scaleY(1)}75%{transform:scaleY(.55)}}.ambient-player__error{color:var(--color-muted);font-size:var(--type-intro-body)}.intro-page:before,.intro-page:after{content:"";height:var(--size-intro-sunset-height);z-index:-1;pointer-events:none;position:absolute;inset:0 0 auto}.intro-page:before{inset-inline:calc(var(--effect-intro-sunset-blur) * -3);background:var(--background-intro-sunset);filter:blur(var(--effect-intro-sunset-blur))}.intro-page:after{opacity:var(--opacity-intro-sunset-grain);background-image:var(--texture-intro-sunset-grain);background-size:var(--size-intro-sunset-grain) var(--size-intro-sunset-grain);mix-blend-mode:overlay}.intro-page__hero{isolation:isolate;min-height:100svh;padding:var(--space-6) var(--space-4);place-items:center;display:grid;position:relative;overflow:clip}.intro-page__hero>.intro-page__content{z-index:1;position:relative}@media (min-width:64rem){.intro-page__hero>.intro-page__content{width:min(100%, var(--max-width-intro-hero))}.intro-page__hero .intro-page__bio{max-width:var(--max-width-intro-hero)}}.twilight-stars{width:100%;height:var(--size-intro-sunset-horizon);z-index:0;pointer-events:none;-webkit-user-select:none;user-select:none;fill:var(--color-intro-star);opacity:var(--opacity-intro-stars);-webkit-mask-image:var(--mask-intro-stars);mask-image:var(--mask-intro-stars);filter:blur(var(--effect-intro-star-blur));display:none;position:absolute;inset:0 0 auto;overflow:hidden}html[data-theme=dark] .twilight-stars{display:block}.twilight-stars__point{opacity:var(--twilight-star-opacity);transform-box:fill-box;transform-origin:50%}.twilight-stars__sky{width:100%;height:100%;display:none}.twilight-stars__compact{top:var(--position-intro-star-compact-field-top);inset-inline:var(--position-intro-star-compact-field-edge);height:var(--size-intro-star-compact-field-height);position:absolute}.twilight-stars__compact-star{left:calc(var(--twilight-star-x) * 1%);top:calc(var(--twilight-star-y) * 1%);width:var(--size-intro-star-compact);height:var(--size-intro-star-compact);position:absolute;overflow:visible;transform:translate(-50%,-50%)}.twilight-stars__compact-star--bright{filter:drop-shadow(0 0 var(--effect-intro-star-compact-accent-glow) var(--color-intro-star))}@media (min-width:64rem){.twilight-stars__sky{display:block}.twilight-stars__compact{display:none}}@media (max-width:63.999rem){.twilight-stars{--effect-intro-star-blur:var(--effect-intro-star-compact-blur);--mask-intro-stars:var(--mask-intro-stars-compact);--size-intro-star-accent-right:var(--size-intro-star-compact);--size-intro-star-accent-left:var(--size-intro-star-compact);--position-intro-star-accent-right-top:calc(var(--position-intro-star-compact-field-top) + var(--size-intro-star-compact-field-height) * var(--position-intro-star-compact-right-level) - var(--size-intro-star-accent-right) / 2);--position-intro-star-accent-right-edge:var(--position-intro-star-compact-right-edge);--position-intro-star-accent-left-top:calc(var(--position-intro-star-compact-field-top) + var(--size-intro-star-compact-field-height) * var(--position-intro-star-compact-left-level) - var(--size-intro-star-accent-left) / 2);--position-intro-star-accent-left-edge:var(--position-intro-star-compact-left-edge)}.twilight-stars__accent{opacity:var(--opacity-intro-star-compact-accent);filter:drop-shadow(0 0 var(--effect-intro-star-compact-accent-glow) var(--color-intro-star))}}.twilight-stars__core--large{transform-box:fill-box;transform-origin:50%;transform:scale(var(--scale-intro-star-large))}.twilight-stars__accent{position:absolute;overflow:visible}.twilight-stars__accent--right{top:var(--position-intro-star-accent-right-top);right:var(--position-intro-star-accent-right-edge);width:var(--size-intro-star-accent-right);height:var(--size-intro-star-accent-right)}.twilight-stars__accent--left{top:var(--position-intro-star-accent-left-top);left:var(--position-intro-star-accent-left-edge);width:var(--size-intro-star-accent-left);height:var(--size-intro-star-accent-left)}@media (max-width:63.999rem) and (prefers-reduced-motion:no-preference){html[data-theme=dark] .twilight-stars__point--compact-twinkle{animation:twilight-star-twinkle-compact calc(var(--duration-intro-star-twinkle) * var(--twilight-star-compact-slots)) ease-in-out calc(var(--duration-intro-star-twinkle) * var(--twilight-star-compact-slot) * -1) infinite}}@media (min-width:64rem) and (prefers-reduced-motion:no-preference){html[data-theme=dark] .twilight-stars__point--twinkle{animation:twilight-star-twinkle calc(var(--duration-intro-star-twinkle) * var(--twilight-star-slots)) ease-in-out calc(var(--duration-intro-star-twinkle) * var(--twilight-star-slot) * -1) infinite}}@keyframes twilight-star-twinkle{0%,92%,to{opacity:var(--twilight-star-opacity);filter:drop-shadow(0 0 #0000);transform:scale(1)}96%{opacity:calc(var(--twilight-star-opacity) * var(--opacity-intro-star-bright));transform:scale(var(--scale-intro-star-pulse));filter:drop-shadow(0 0 var(--effect-intro-star-pulse-glow) var(--color-intro-star))}}@keyframes twilight-star-twinkle-compact{0%,90%,to{opacity:var(--twilight-star-opacity);filter:drop-shadow(0 0 #0000);transform:scale(1)}95%{opacity:calc(var(--twilight-star-opacity) * var(--opacity-intro-star-bright));transform:scale(var(--scale-intro-star-pulse));filter:drop-shadow(0 0 var(--effect-intro-star-pulse-glow) var(--color-intro-star))}}.ascii-cursor-field{width:100%;height:min(100%, calc(var(--size-intro-sunset-horizon) - var(--effect-intro-sunset-blur)));z-index:0;pointer-events:none;-webkit-user-select:none;user-select:none;color:var(--color-ascii-field);font-family:var(--font-mono);font-size:var(--type-ascii-field);font-weight:var(--weight-ascii-field);line-height:var(--leading-heading);display:none;position:absolute;inset:0;overflow:hidden}@media (min-width:64rem) and (hover:hover) and (pointer:fine){.ascii-cursor-field{display:block}}@media (prefers-reduced-motion:reduce){.ascii-cursor-field{display:none}}.intro-page__topbar{--color-intro-header-ink:var(--color-ink);--color-intro-header-muted:var(--color-muted);z-index:10;justify-content:flex-start;align-items:center;gap:var(--space-3);padding:var(--space-4);display:flex;position:fixed;top:0;left:0;right:0}.intro-page__topbar .theme-toggle{color:var(--color-intro-header-ink)}html[data-theme=light] .intro-page__topbar.is-over-color{--color-intro-header-ink:var(--color-intro-header-overlay-ink);--color-intro-header-muted:var(--color-intro-header-overlay-muted)}.intro-page__meta .local-meta__location-icon{-webkit-mask:var(--mask-intro-location-pin) center / contain no-repeat;mask:var(--mask-intro-location-pin) center / contain no-repeat;background:currentColor}.intro-page__meta .local-meta__location-icon:before,.intro-page__meta .local-meta__location-icon:after{content:none}.intro-page__nav{align-items:center;gap:var(--space-2);display:flex}.intro-page__nav .nav-item{color:var(--color-intro-header-ink);font-size:inherit;line-height:var(--leading-body-tight);padding:0}.intro-page__nav .nav-item:hover,.intro-page__nav .nav-item:focus-visible{color:var(--color-intro-header-muted)}.intro-page__content{width:min(100%, var(--max-width-intro));justify-items:stretch;gap:var(--space-2);text-align:left;display:grid}.intro-page__bio{max-width:var(--max-width-intro-copy);line-height:var(--leading-intro-copy)}.intro-page__name{font-family:var(--font-display);font-size:var(--type-intro-name);line-height:var(--leading-heading);font-weight:var(--weight-intro-name);white-space:nowrap}.intro-page__bio-copy{text-wrap:pretty;margin:0}.intro-page__bio-line{width:fit-content;max-width:100%;display:block}.intro-page__copy-short{display:none}@media not (min-width:64rem){.intro-page__bio-copy--compact .intro-page__copy-full{display:none}.intro-page__bio-copy--compact .intro-page__copy-short{display:inline}}.intro-page__bio-copy+.intro-page__bio-copy{margin-top:var(--space-2)}.intro-page__meta{align-items:center;gap:var(--space-2);color:var(--color-intro-header-muted);transition:color var(--duration-intro-reveal) ease;white-space:nowrap;margin-left:auto;display:flex}.intro-page__meta .local-meta__time{justify-content:flex-start;width:auto}.intro-page__controls{align-items:center;gap:var(--space-2);display:flex}.intro-language-toggle{color:var(--color-intro-header-ink,var(--color-ink));line-height:var(--leading-body-tight);transition:color .18s}.intro-language-toggle:hover,.intro-language-toggle:focus-visible{color:var(--color-intro-header-ink,var(--color-ink))}.intro-page__experience-link,.resume a:not(.button-link){color:var(--color-ink);text-decoration-line:underline;text-decoration-style:dotted;-webkit-text-decoration-color:var(--color-line-strong);text-decoration-color:var(--color-line-strong);text-underline-offset:.2em;text-decoration-thickness:1px}.intro-page__experience-link:hover,.intro-page__experience-link:focus-visible,html[data-theme=dark] .intro-page__experience-link:hover,html[data-theme=dark] .intro-page__experience-link:focus-visible,.resume a:not(.button-link):hover,.resume a:not(.button-link):focus-visible,html[data-theme=dark] .resume a:not(.button-link):hover,html[data-theme=dark] .resume a:not(.button-link):focus-visible{color:var(--color-ink);text-decoration-style:dotted;text-decoration-color:currentColor}html[data-theme=dark] .intro-page__experience-link,html[data-theme=dark] .resume a:not(.button-link){-webkit-text-decoration-color:color-mix(in srgb, var(--color-ink) 48%, transparent);text-decoration-color:color-mix(in srgb, var(--color-ink) 48%, transparent)}.intro-page__actions{align-items:center;gap:var(--space-1);width:max-content;max-width:100%;margin-top:var(--space-intro-cta-offset);display:flex}.intro-page__cta.button-link{width:auto;min-width:var(--size-intro-cta-width);white-space:nowrap;min-height:var(--size-intro-cta-height);padding:var(--space-intro-cta-block) var(--space-intro-cta-inline);transition:background-color .18s,border-color .18s,color .18s}.intro-page__cta.button-link:hover{transform:none}.intro-page__cta.button-link--primary:hover,.intro-page__cta.button-link--primary:focus-visible{background:var(--color-intro-cta-primary-hover);border-color:var(--color-intro-cta-primary-hover);color:var(--color-paper)}.intro-page__cta.button-link:not(.button-link--primary):hover,.intro-page__cta.button-link:not(.button-link--primary):focus-visible{background:var(--color-intro-cta-hover);border-color:var(--color-line)}.intro-index-stage{width:100%}.intro-scroll-profile{display:none}.intro-index{width:min(calc(100% - (var(--space-4) * 2)), var(--max-width-intro));padding:var(--space-7) 0 calc(var(--space-4) * 3 + env(safe-area-inset-bottom,0px));gap:calc(var(--space-8) / 2);margin:0 auto;display:grid}.intro-index__section{gap:var(--space-4);display:grid}.intro-index .section-heading h2,.intro-index .section-heading__count{color:var(--color-muted);font-size:var(--type-intro-name);font-weight:var(--weight-intro-name)}.intro-index__list{gap:calc(var(--space-4) * .75);display:grid;position:relative}.intro-index__item{column-gap:var(--space-2);row-gap:var(--space-intro-index-item);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title title""detail period";align-items:baseline;transition:color .18s;display:grid;position:relative}.intro-index__item:hover,.intro-index__item:focus-visible,.intro-index__item:hover .intro-index__item-detail,.intro-index__item:hover .intro-index__item-period,.intro-index__item:focus-visible .intro-index__item-detail,.intro-index__item:focus-visible .intro-index__item-period{color:var(--color-muted)}.intro-index__item.copy-email{column-gap:var(--space-2);row-gap:var(--space-intro-index-item);width:100%;min-height:0;color:var(--color-ink);font:inherit;text-align:left;box-shadow:none;cursor:pointer;background:0 0;border:0;border-radius:0;justify-content:stretch;align-items:baseline;padding:0;display:grid}.intro-index__item.copy-email:hover,.intro-index__item.copy-email:focus-visible{box-shadow:none;color:var(--color-ink);background:0 0;border-color:#0000;transform:none}.intro-index__item--dot-hover:hover,.intro-index__item--dot-hover:focus-visible{color:var(--color-ink)}.intro-index__item--dot-hover:hover .intro-index__item-detail,.intro-index__item--dot-hover:hover .intro-index__item-period,.intro-index__item--dot-hover:focus-visible .intro-index__item-detail,.intro-index__item--dot-hover:focus-visible .intro-index__item-period{color:var(--color-muted)}.intro-index__item--dot-hover:before{content:"";top:calc((1em - var(--size-intro-hover-dot)) / 2 + var(--space-intro-hover-dot-y));left:calc(var(--space-intro-hover-dot-offset) * -1);width:var(--size-intro-hover-dot);height:var(--size-intro-hover-dot);border-radius:var(--radius-round);opacity:0;background:currentColor;transition:opacity .18s,transform .18s;position:absolute;transform:scale(.5)}.intro-index__item--dot-hover:hover:before,.intro-index__item--dot-hover:focus-visible:before{opacity:1;transform:scale(1)}.hover-dot-list{position:relative}.hover-dot-list .intro-index__item--dot-hover:before{content:none}.hover-dot-list__dot{top:calc(var(--hover-dot-top) + (1em - var(--size-intro-hover-dot)) / 2 + var(--space-intro-hover-dot-y));left:calc(var(--space-intro-hover-dot-offset) * -1);width:var(--size-intro-hover-dot);height:var(--size-intro-hover-dot);border-radius:var(--radius-round);background:var(--color-ink);pointer-events:none;opacity:0;transition:opacity var(--duration-hover-dot-appear) ease, scale var(--duration-hover-dot-appear) ease;position:absolute;scale:.5}.hover-dot-list__dot[data-visible]{opacity:1;animation:hover-dot-appear var(--duration-hover-dot-appear) ease;scale:1}.hover-dot-list__dot[data-moving]{transition:top var(--duration-hover-dot-move) var(--easing-soft-reveal), opacity var(--duration-hover-dot-appear) ease, scale var(--duration-hover-dot-appear) ease}@keyframes hover-dot-appear{0%{opacity:0;scale:.5}to{opacity:1;scale:1}}@media (hover:none),(pointer:coarse){.hover-dot-list__dot{display:none}}.intro-index__item--action-hover:hover,.intro-index__item--action-hover:focus-visible{color:var(--color-ink)}.intro-index__item--action-hover:hover .intro-index__item-detail,.intro-index__item--action-hover:focus-visible .intro-index__item-detail{color:var(--color-muted)}.intro-index__item--action-hover:hover .intro-index__item-period,.intro-index__item--action-hover:focus-visible .intro-index__item-period{color:var(--color-ink)}.intro-index__item-title{font-weight:var(--weight-intro-name);grid-area:title}.intro-index__item-attribution{color:var(--color-muted);font:inherit;font-weight:var(--weight-intro-attribution)}.intro-index__item-detail{color:var(--color-muted);grid-area:detail;transition:color .18s}.intro-index__item-period{color:var(--color-muted);text-align:right;white-space:nowrap;grid-area:period;transition:color .18s}.intro-index__item-period--copied,.intro-index__preview,.intro-index__item--copy[data-copy-state=copied] .intro-index__item-period--idle{display:none}.intro-index__item--copy[data-copy-state=copied] .intro-index__item-period--copied{display:block}.intro-index-stage[data-reveal-enabled] .intro-index__heading,.intro-index-stage[data-reveal-enabled] .intro-index__item{opacity:0;filter:blur(var(--effect-intro-index-blur));transform:translate3d(0, var(--space-3), 0)}.intro-index-stage[data-reveal-enabled][data-reveal-activated] .intro-index__heading,.intro-index-stage[data-reveal-enabled][data-reveal-activated] .intro-index__item{transition:opacity var(--duration-intro-index-reveal) var(--easing-soft-reveal), filter var(--duration-intro-index-reveal) var(--easing-soft-reveal), transform var(--duration-intro-index-reveal) var(--easing-soft-reveal)}.intro-index-stage[data-reveal-enabled] .intro-index__heading[data-viewport-revealed],.intro-index-stage[data-reveal-enabled] .intro-index__item[data-viewport-revealed]{opacity:1;filter:none;transform:none}@media (min-width:64rem) and (hover:hover) and (pointer:fine){.intro-index-stage{grid-template-columns:minmax(0, 1fr) var(--max-width-intro) minmax(0, 1fr);column-gap:var(--space-6);padding-inline:var(--space-4);align-items:start;display:grid}.intro-scroll-profile{top:var(--intro-side-top,var(--size-intro-scroll-profile-top));left:var(--space-4);width:min(var(--max-width-intro), calc((100vw - var(--max-width-intro) - (var(--space-4) * 2) - (var(--space-6) * 2)) / 2));visibility:hidden;pointer-events:none;transition:visibility 0s linear calc(var(--duration-intro-profile-reveal) + var(--delay-intro-profile-actions));grid-area:1/1;place-self:start;display:grid;position:fixed}.intro-scroll-profile.is-visible{visibility:visible;pointer-events:auto;transition-delay:0s}.intro-scroll-profile .intro-page__name,.intro-scroll-profile .intro-page__bio,.intro-scroll-profile .intro-page__actions{opacity:0;filter:blur(var(--effect-intro-profile-blur));transform:translate3d(0, var(--distance-intro-profile-reveal), 0);transition:opacity var(--duration-intro-profile-reveal) var(--easing-soft-reveal), filter var(--duration-intro-profile-reveal) var(--easing-soft-reveal), transform var(--duration-intro-profile-reveal) var(--easing-soft-reveal);will-change:opacity, filter, transform;animation:none}.intro-scroll-profile .intro-page__name{transition-delay:var(--delay-intro-profile-name)}.intro-scroll-profile .intro-page__bio{transition-delay:var(--delay-intro-profile-bio)}.intro-scroll-profile .intro-page__actions{transition-delay:var(--delay-intro-profile-actions)}.intro-scroll-profile .intro-page__bio-copy{text-wrap:pretty}.intro-scroll-profile.is-visible .intro-page__name,.intro-scroll-profile.is-visible .intro-page__bio,.intro-scroll-profile.is-visible .intro-page__actions{opacity:1;filter:none;transform:none}.intro-index{grid-area:1/2;width:100%;margin-inline:0}.intro-index__preview{z-index:8;top:var(--intro-side-top,var(--size-intro-scroll-profile-top));right:var(--space-4);place-self:start;gap:var(--space-3);width:min(var(--size-intro-project-preview), calc((100vw - var(--max-width-intro) - (var(--space-4) * 2) - (var(--space-6) * 2)) / 2));max-width:var(--size-intro-project-preview);opacity:0;visibility:hidden;pointer-events:none;filter:blur(var(--effect-intro-index-blur));transform:translate3d(var(--space-2), 0, 0) scale(.98);transition:opacity var(--duration-intro-preview-swap) ease, visibility var(--duration-intro-preview-swap) ease, filter var(--duration-intro-preview-swap) ease, transform var(--duration-intro-preview-swap) ease;grid-area:1/3;display:grid;position:fixed}.intro-index__preview-media{box-shadow:var(--shadow-soft);min-width:0;max-width:100%}.intro-index__preview-content{gap:var(--space-3);width:100%;min-width:0;display:grid}.intro-index__preview-media img{object-fit:contain;object-position:left top;width:100%;height:auto}.intro-index__preview-description.featured-project__description{width:100%;max-width:100%;font-size:var(--type-intro-body);font-weight:inherit;line-height:var(--leading-intro-copy)}.intro-index__preview.is-visible{opacity:1;visibility:visible;filter:none;transform:translate(0,0)scale(1)}.intro-page__scroll-cta.button-link{display:none}}.intro-page__scroll-cta.button-link{right:var(--space-4);bottom:calc(var(--space-4) + env(safe-area-inset-bottom,0px));z-index:9;opacity:0;visibility:hidden;pointer-events:none;width:auto;filter:blur(var(--effect-intro-index-blur));transform:translate3d(0, var(--space-2), 0);transition:opacity var(--duration-intro-reveal) ease, visibility var(--duration-intro-reveal) ease, filter var(--duration-intro-reveal) ease, transform var(--duration-intro-reveal) ease;position:fixed}.intro-page__scroll-cta.button-link.is-visible{opacity:1;visibility:visible;pointer-events:auto;filter:blur();transform:translate(0,0)}.contact-sheet{width:100%;max-width:none;height:100%;max-height:none;color:var(--color-ink);background:0 0;border:0;margin:0;padding:0}.contact-header-menu{display:none}.contact-entry{display:contents}@media (min-width:721px){.contact-entry--popover{align-items:center;display:flex;position:relative}.contact-entry--popover .contact-header-menu{top:0;left:calc(100% + var(--space-2));width:max-content;color:var(--color-intro-header-ink);opacity:0;visibility:hidden;transform:translateX(calc(-1 * var(--space-2)));transition:opacity var(--duration-contact-header) ease, transform var(--duration-contact-header) ease, visibility 0s var(--duration-contact-header);display:block;position:absolute}.contact-entry--popover .contact-header-menu.is-open{opacity:1;visibility:visible;transition-delay:0s;transform:translate(0)}.contact-entry--popover .contact-sheet__links{align-items:center;gap:var(--space-3);display:flex}.contact-entry--popover .contact-sheet__links>a,.contact-entry--popover .contact-sheet__links>.copy-email--contact-sheet{color:var(--color-intro-header-ink);line-height:var(--leading-body-tight);padding:0}.contact-entry--popover .contact-sheet__links>a:hover,.contact-entry--popover .contact-sheet__links>a:focus-visible,.contact-entry--popover .contact-sheet__links>.copy-email--contact-sheet:hover,.contact-entry--popover .contact-sheet__links>.copy-email--contact-sheet:focus-visible{color:var(--color-intro-header-muted)}}.contact-sheet[open]{padding:var(--space-4);place-items:center;display:grid}.contact-sheet::backdrop{background:color-mix(in srgb, var(--color-static-ink) 28%, transparent);-webkit-backdrop-filter:blur(.15rem);backdrop-filter:blur(.15rem)}.contact-sheet__panel{width:min(100%, var(--max-width-contact-sheet));padding:var(--space-4);border-radius:var(--radius-soft);background:var(--color-contact-sheet-surface);box-shadow:var(--shadow-soft);border:0;margin-inline:auto;animation:.32s cubic-bezier(.22,1,.36,1) both contact-sheet-enter}.contact-sheet__header{justify-content:space-between;align-items:center;gap:var(--space-2);padding-bottom:var(--space-2);display:flex}.contact-sheet__header h2{font-size:var(--type-heading-m);font-weight:var(--weight-intro-name)}.contact-sheet__close{width:var(--size-contact-sheet-close);height:var(--size-contact-sheet-close);border-radius:var(--radius-round);background:var(--color-contact-close-surface);color:var(--color-ink);border:0;place-items:center;padding:0;display:inline-grid}.contact-sheet__close:hover,.contact-sheet__close:focus-visible{background:var(--color-contact-close-hover)}.contact-sheet__close svg{width:var(--size-contact-sheet-icon);height:var(--size-contact-sheet-icon)}.contact-sheet__links{display:grid}.contact-sheet__links>a,.contact-sheet__links>.copy-email--contact-sheet{min-height:auto;padding:var(--space-2) 0;color:var(--color-ink);text-align:left;background:0 0;border:0;border-radius:0;justify-content:flex-start}.contact-sheet__links>a:hover,.contact-sheet__links>a:focus-visible,.contact-sheet__links>.copy-email--contact-sheet:hover,.contact-sheet__links>.copy-email--contact-sheet:focus-visible{color:var(--color-muted);background:0 0;transform:none}@keyframes contact-sheet-enter{0%{opacity:0;transform:translateY(1.5rem)}to{opacity:1;transform:translate(0,0)}}.page-shell{width:min(100%, var(--max-width));padding:calc(5.5rem + var(--space-6)) var(--space-4) var(--space-8);margin:0 auto}.page-shell--narrow{width:min(100%, var(--max-width-narrow))}.page-shell--text-grid{width:min(100%, var(--max-width-text-shell))}.page-shell--resume{width:min(100%, calc(var(--max-width-narrow) * .75))}.resume{gap:var(--space-6);font-size:var(--type-body);line-height:var(--leading-body);display:grid}.resume__intro,.resume__job,.resume__project,.resume__detail,.resume__skills>div{gap:var(--space-2);display:grid}.resume h1{font-size:var(--type-display);font-weight:var(--weight-resume-name);line-height:var(--leading-body-tight)}.resume__summary{margin-top:calc(var(--space-1) * -1)}.resume__muted,.resume__section>h2{color:var(--color-muted)}.resume__section>h2{font-size:var(--type-heading-m);font-weight:var(--weight-regular);text-transform:uppercase}.resume h3,.resume h4,.resume dt{font-size:inherit;font-weight:500}.resume__contact,.resume__job-heading{gap:var(--space-1) var(--space-3);flex-wrap:wrap;align-items:baseline;display:flex}.resume__contact{margin-bottom:var(--space-2)}.resume__job-heading{justify-content:flex-start;column-gap:var(--space-2)}.resume__job-title,.resume__position{align-items:baseline;gap:var(--space-1);display:inline-flex}.resume__job-title{flex-wrap:wrap}.resume__position{font-weight:var(--weight-regular)}.resume__section{gap:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-resume-divider);display:grid}.resume__detail,.resume__skills>div{gap:var(--space-resume-heading-content)}.resume__entries,.resume__skills{gap:var(--space-5);display:grid}.resume ul{gap:var(--space-1);padding-left:var(--space-4);list-style:outside;display:grid}.resume__project{margin-top:var(--space-2)}.resume dd{margin:0}@media (min-width:64rem){.resume__intro{column-gap:var(--space-4);grid-template-columns:minmax(0,1fr) auto}.resume__intro>*{grid-column:1/-1}.resume__intro>h1{grid-area:1/1;align-self:center}.resume__intro>.resume__download{grid-area:1/2;align-self:center}.resume__intro>.resume__summary{grid-column:1}.resume__contact{margin-bottom:0}}@media (max-width:39.999rem){.resume h1{font-size:var(--type-heading-l)}.resume__job-heading{flex-direction:column}}.page-shell--home{width:min(100%,66rem)}.page-shell--contacts{width:min(100%,82rem)}.page-shell--feed{width:min(100%, var(--max-width-text-shell))}:is(body:has(.simple-text-page)>.site-header,body:has(.simple-text-page)>.site-footer-actions,body:has(.simple-text-page)>.site-footer){display:none}.simple-text-page{padding-top:clamp(var(--space-6), 8vw, var(--space-8))}@keyframes soft-blur-reveal{0%{opacity:0;filter:blur(var(--reveal-blur,.9rem));transform:translate3d(0, var(--reveal-y,.85rem), 0)}to{opacity:1;filter:blur();transform:translate(0,0)}}.site-header__inner,.intro-page__topbar,.intro-page__name,.intro-page__bio,.intro-page__actions,.page-shell--home:not(.project-page) .home-hero__portrait-block,.page-shell--home:not(.project-page) .home-hero__copy,.page-shell--home:not(.project-page) .home-hero__links,.page-shell--home:not(.project-page) .home-hero__tabs,.page-shell--home:not(.project-page) .page-section--initial-reveal,.page-shell--contacts .home-hero__portrait-block,.page-shell--contacts .home-hero__copy,.page-shell--contacts .contacts-directory,.page-shell--rate-form .rate-form-page__intro,.page-shell--rate-form .rate-form,.page-shell--feed .feed-posts__promo-header,.page-shell--feed .feed-posts__promo,.page-shell--feed .feed-posts__entries,.page-shell--feed .feed-posts__archive{animation:soft-blur-reveal .76s var(--easing-soft-reveal) both;animation-delay:var(--reveal-delay,0s);will-change:opacity, filter, transform}.site-header__inner{--reveal-blur:.45rem;--reveal-y:-.3rem;--reveal-delay:40ms}.intro-page__topbar{--reveal-blur:.45rem;--reveal-y:-.3rem;--reveal-delay:40ms;animation-duration:1.4s}.intro-page__name,.intro-page__bio,.intro-page__actions{--reveal-blur:var(--effect-intro-profile-blur);--reveal-y:var(--distance-intro-profile-reveal);animation-duration:var(--duration-intro-profile-reveal)}.intro-page__name{--reveal-delay:var(--delay-intro-profile-name)}.intro-page__bio{--reveal-delay:var(--delay-intro-profile-bio)}.intro-page__actions{--reveal-delay:var(--delay-intro-profile-actions)}.page-shell--home:not(.project-page) .home-hero__portrait-block{--reveal-blur:1rem;--reveal-y:.65rem;--reveal-delay:.12s}.page-shell--home:not(.project-page) .home-hero__copy{--reveal-delay:.21s}.page-shell--home:not(.project-page) .home-hero__links{--reveal-blur:.7rem;--reveal-delay:.32s}.page-shell--home:not(.project-page) .home-hero__tabs{--reveal-blur:.65rem;--reveal-delay:.42s}.page-shell--home:not(.project-page) .page-section--initial-reveal{--reveal-blur:.75rem;--reveal-y:1rem;--reveal-delay:.52s}.page-shell--home:not(.project-page) .page-section--initial-reveal-late{--reveal-blur:.75rem;--reveal-y:1rem;--reveal-delay:.64s}.page-shell--contacts .home-hero__portrait-block,.page-shell--rate-form .rate-form-page__intro,.page-shell--feed .feed-posts__promo-header{--reveal-blur:.8rem;--reveal-y:.7rem;--reveal-delay:.12s}.page-shell--contacts .home-hero__copy,.page-shell--rate-form .rate-form,.page-shell--feed .feed-posts__promo{--reveal-blur:.75rem;--reveal-y:.85rem;--reveal-delay:.24s}.page-shell--contacts .contacts-directory,.page-shell--feed .feed-posts__entries{--reveal-blur:.75rem;--reveal-y:1rem;--reveal-delay:.38s}.page-shell--feed .feed-posts__archive{--reveal-blur:.7rem;--reveal-y:1rem;--reveal-delay:.52s}.site-header{z-index:20;background:var(--color-paper-strong);position:fixed;top:0;left:0;right:0}.site-header__inner,.site-footer__inner{width:min(100%,66rem);padding:.75rem var(--space-4);margin:0 auto}.site-header__inner{gap:var(--space-3);grid-template-columns:1fr auto 1fr;align-items:center;display:grid}.site-header__inner--mobile{display:none}.header-transition-layer{z-index:21;pointer-events:none;visibility:hidden;position:fixed;inset:0}html[data-header-transition] .site-header__inner,html[data-header-transition] .intro-page__topbar{opacity:1;filter:none;will-change:auto;animation:none;transform:none}.site-header__brand{font-family:var(--font-display);font-size:var(--type-heading-m);line-height:var(--leading-body);letter-spacing:.05em;color:var(--color-ink);justify-self:center;transition:color .18s}.brand-snackbar{left:50%;bottom:calc(var(--space-4) + env(safe-area-inset-bottom,0px));z-index:60;border-radius:var(--radius-round);background:var(--color-snackbar-surface);min-width:5.8rem;min-height:2.25rem;box-shadow:var(--shadow-snackbar);color:var(--color-snackbar-text);font-family:var(--font-display);opacity:0;pointer-events:none;transform:translate3d(-50%, calc(100% + var(--space-4)), 0) scale(.98);border:0;place-items:center;padding:.34rem .7rem;font-size:.88rem;line-height:1;transition:opacity .18s,transform .3s cubic-bezier(.16,1,.3,1);display:inline-grid;position:fixed}.portrait-snackbar-button{padding:0;display:block}.brand-snackbar--visible{opacity:1;transform:translate(-50%)scale(1)}.site-header__nav{flex-wrap:wrap;justify-content:flex-start;gap:.2rem;display:flex}.nav-item{border-radius:var(--radius-round);color:var(--color-ink);font-size:var(--type-heading-m);line-height:var(--leading-body);align-items:flex-start;padding:.55rem .35rem;transition:background-color .18s,color .18s,transform .18s;display:inline-flex}.nav-item__label{display:inline-flex}.nav-item__dot{color:var(--color-accent-alert);flex-shrink:0;margin-left:.08rem;font-size:.88rem;line-height:1;display:inline-flex;transform:translateY(-.28rem)}.nav-item[aria-current=page]{color:var(--color-ink);background:0 0}.site-header__inner--desktop .nav-item:hover,.site-header__inner--desktop .site-header__brand:hover,.site-header__inner--desktop .site-header__brand:focus-visible{color:var(--color-muted)}.site-header__meta{color:var(--color-ink);font-size:var(--type-heading-m);line-height:var(--leading-body);justify-self:end;align-items:center;gap:.5rem;display:flex}.site-header__inner--desktop .site-header__meta{gap:var(--space-2)}.local-meta__time{font-variant-numeric:tabular-nums;justify-content:flex-end;width:10ch;display:inline-flex}.site-header__meta .local-meta__time{justify-content:flex-start;width:auto}.local-meta__location,.local-time,.weather-badge{align-items:center;gap:var(--space-1);white-space:nowrap;display:inline-flex}.local-time__clock--filled{width:var(--size-local-clock-icon);height:var(--size-local-clock-icon);opacity:1;flex:none}.weather-badge__icon{flex:none}.analog-clock,.weather-badge__icon--outline{width:var(--size-local-meta-icon);height:var(--size-local-meta-icon)}.weather-badge__icon--filled{width:var(--size-weather-icon);height:var(--size-weather-icon);opacity:1}.analog-clock{overflow:visible}.analog-clock__face,.analog-clock__hand{fill:none;stroke:currentColor;stroke-linecap:round}.analog-clock__face{stroke-width:1px}.analog-clock__hand--hour,.analog-clock__hand--minute{stroke-width:1.15px}.analog-clock__pin{fill:currentColor}.local-meta__location-icon{width:var(--size-local-pin-icon);height:var(--size-weather-icon);flex:none;position:relative}.local-meta__location-icon:before,.local-meta__location-icon:after{content:"";background:currentColor;position:absolute;left:50%;transform:translate(-50%)}.local-meta__location-icon:before{z-index:1;border-radius:var(--radius-round);width:.3125rem;height:.3125rem;box-shadow:0 0 0 1.5px var(--color-paper-strong);top:.125rem}.local-meta__location-icon:after{border-radius:var(--radius-round);width:1px;height:.35rem;top:.55rem}.site-header__divider,.local-meta__divider{color:#16151538;transform-origin:50%;align-items:center;line-height:.72;display:inline-flex;transform:scaleY(.72)}html[data-theme=dark] .site-header__divider,html[data-theme=dark] .local-meta__divider{color:#f2f2ee29}.theme-toggle{justify-content:center;align-items:center;width:1.5rem;height:1.5rem;transition:transform .32s cubic-bezier(.22,1,.36,1),filter .32s;display:inline-flex;position:relative}.theme-toggle__icon{justify-content:center;align-items:center;width:1.25rem;height:1.25rem;transition:transform .52s cubic-bezier(.22,1,.36,1),filter .32s;display:inline-flex;position:relative;overflow:visible}.theme-toggle__glyph{transform-origin:50%;transition:transform .42s cubic-bezier(.22,1,.36,1),opacity .22s;position:absolute;inset:0}.theme-toggle__sun{opacity:1;transform:rotate(0)scale(1)}html[data-theme=dark] .theme-toggle__sun,.theme-toggle[aria-pressed=true] .theme-toggle__sun{opacity:0;transform:rotate(90deg)scale(.55)}.theme-toggle__moon{opacity:0;transform:translate(-1px,1px)scale(.62)rotate(52deg)}html[data-theme=dark] .theme-toggle__moon,.theme-toggle[aria-pressed=true] .theme-toggle__moon{opacity:1;transform:translate(0)scale(.9)rotate(19deg)}html[data-theme=dark] .theme-toggle__icon,.theme-toggle[aria-pressed=true] .theme-toggle__icon{filter:drop-shadow(0 0 .18rem #f2f2ee38);transform:rotate(-18deg)scale(1.04)}html[data-theme=light] .theme-toggle__icon,.theme-toggle[aria-pressed=false] .theme-toggle__icon{transform:rotate(0)scale(1)}.theme-toggle:active{transform:scale(.92)}@media (prefers-reduced-motion:reduce){.theme-toggle,.theme-toggle__icon,.theme-toggle__glyph,.theme-toggle__moon{transition:none}}.hero{gap:var(--space-6);grid-template-columns:minmax(0,1.05fr) minmax(18rem,.95fr);align-items:end;min-height:calc(100svh - 10rem);display:grid}.hero__copy{gap:var(--space-3);max-width:36rem;display:grid}.hero__eyebrow{color:var(--color-muted);text-transform:uppercase;letter-spacing:.16em;font-size:var(--type-body)}.hero__title,.page-title,.project-hero__title{font-family:var(--font-display);letter-spacing:-.04em;font-size:clamp(3.6rem,11vw,7.5rem);line-height:.9}.hero__lede,.page-intro__lede{font-size:clamp(1.2rem,2.6vw,1.75rem);line-height:1.35}.hero__detail,.page-intro__detail{max-width:42rem;color:var(--color-muted);line-height:1.7}.hero__visual{gap:.5rem;display:grid}.hero__poster{border-radius:calc(var(--radius-soft) * 1.25);min-height:min(72svh,42rem);box-shadow:var(--shadow-soft);background:linear-gradient(145deg,#ededeb 0%,#fafaf9 52%,#dcdcd8 100%);position:relative;overflow:hidden}.hero__caption{gap:var(--space-2);color:var(--color-muted);text-transform:uppercase;letter-spacing:.12em;font-size:var(--type-body);display:flex}.home-hero{text-align:center;align-content:center;place-items:center;gap:.8rem;min-height:32.5rem;padding-top:.5rem;display:grid}.home-hero__portrait-block{justify-items:center;gap:calc(var(--space-3) + 1rem);margin-bottom:.8rem;display:grid}.home-hero__portrait{--portrait-size:var(--size-hero-portrait);width:var(--portrait-size);height:var(--portrait-size);display:block;position:relative;overflow:hidden}.home-hero__portrait--photo{--portrait-size:var(--size-hero-photo)}.home-hero__portrait-image{object-fit:cover}.home-hero__portrait-photo{object-position:center 35%}.home-hero__portrait-video{pointer-events:none;z-index:1;width:313px;height:313px;display:block;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.home-hero__portrait-video::-webkit-media-controls{-webkit-appearance:none;opacity:0!important;display:none!important}.home-hero__portrait-video::-webkit-media-controls-enclosure{-webkit-appearance:none;opacity:0!important;display:none!important}.home-hero__portrait-video::-webkit-media-controls-panel{-webkit-appearance:none;opacity:0!important;display:none!important}.home-hero__portrait-video::-webkit-media-controls-play-button{-webkit-appearance:none;opacity:0!important;display:none!important}.home-hero__portrait-video::-webkit-media-controls-start-playback-button{-webkit-appearance:none;opacity:0!important;display:none!important}.home-hero__portrait-gradient{pointer-events:none;z-index:2;width:100%;height:34%;display:block;position:absolute;bottom:0;left:0;right:0}.home-hero__portrait-gradient-image{object-fit:cover;object-position:center bottom}.home-hero__portrait-gradient.home-hero__portrait-gradient--dark{z-index:4}.home-hero__portrait-image--dark{opacity:0;z-index:3}html[data-theme=dark] .home-hero__portrait-image--light{opacity:0}html[data-theme=dark] .home-hero__portrait-image--dark{opacity:1}.home-hero__status-badge{--status-badge-fill:var(--color-status-badge-surface);--status-badge-beam:color-mix(in srgb, var(--color-status-badge-text) 36%, transparent);align-items:center;gap:calc(var(--space-2) - .18rem);border-radius:var(--radius-round);background:var(--status-badge-fill);color:var(--color-status-badge-text);box-shadow:var(--shadow-soft);font-family:var(--font-display);letter-spacing:-.01em;padding:.45rem .8rem .45rem calc(.8rem + 4px);font-size:.875rem;font-weight:500;line-height:1;text-decoration:none;transition:background-color .16s,box-shadow .16s,transform .16s;display:inline-flex;position:relative;overflow:hidden}.home-hero__status-beams{opacity:0;pointer-events:none;z-index:1;width:100%;height:100%;transition:opacity .18s;position:absolute;inset:0;overflow:hidden}.home-hero__status-beam{border-radius:var(--radius-round);background:linear-gradient(90deg, transparent 0%, color-mix(in srgb, var(--color-status-badge-text) 8%, transparent) 34%, var(--status-badge-beam) 100%);transform-origin:100%;will-change:left, top, transform;width:2.65rem;height:1px;position:absolute}.home-hero__status-badge>*{z-index:2;position:relative}.home-hero__status-badge>.home-hero__status-beams{z-index:1;position:absolute}.home-hero__status-badge:hover{--status-badge-fill:color-mix(in srgb, var(--color-status-badge-surface) 82%, var(--color-status-dot-core))}.home-hero__status-badge:hover .home-hero__status-beams{opacity:1}.home-hero__status-badge:focus-visible{outline:2px solid var(--color-sky);outline-offset:3px}.home-hero__status-indicator{flex:none;place-items:center;width:.95rem;height:.9rem;margin-left:-.1rem;display:grid;position:relative;overflow:visible}.home-hero__status-arrow{color:currentColor;animation:3.8s cubic-bezier(.65,0,.35,1) infinite home-hero-status-arrow-slide;transform:translateY(-.04rem)}html[data-theme=dark] .home-hero__status-badge{box-shadow:none}.home-hero__copy{gap:var(--space-hero-copy);max-width:31.5rem;display:grid}.home-hero__name{font-family:var(--font-display);font-size:var(--type-heading-l);line-height:var(--leading-heading);font-weight:500}@keyframes home-hero-status-arrow-slide{0%,42%{filter:blur();opacity:1;transform:translateY(-.04rem)}62%{filter:blur(.16rem);opacity:0;transform:translate(1.05rem,-.04rem)}68%{filter:blur(.18rem);opacity:0;transform:translate(-1.05rem,-.04rem)}90%,to{filter:blur();opacity:1;transform:translateY(-.04rem)}}.home-hero__summary{font-family:var(--font-display);font-size:var(--type-body);line-height:var(--leading-body);gap:.15rem;display:grid}.home-hero__summary a{color:var(--color-sky)}.home-hero__summary--mobile{display:none}.home-hero__summary-block,.home-hero__summary-line{display:block}.home-hero__links{font-family:var(--font-display);font-size:var(--type-body);line-height:var(--leading-body);flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:.55rem;display:flex}.home-hero__links a{transition:color .18s}.home-hero__links a:hover,.home-hero__links a:focus-visible{color:var(--color-sky)}.home-hero__links .copy-email--inline,.intro-page__actions .copy-email--inline{appearance:none;min-height:0;color:var(--color-ink);font:inherit;line-height:inherit;letter-spacing:inherit;box-shadow:none;cursor:pointer;background:0 0;border:0;border-radius:0;margin:0;padding:0;display:inline-block}.home-hero__links .copy-email--inline:hover,.home-hero__links .copy-email--inline:focus-visible,.intro-page__actions .copy-email--inline:hover,.intro-page__actions .copy-email--inline:focus-visible{box-shadow:none;color:var(--color-sky);background:0 0;border-color:#0000;transform:none}.home-hero__tabs{width:fit-content}.segmented-tabs{background:linear-gradient(#f7f7f7 0%,#ddd 100%);border-radius:999px;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:.12rem;margin-top:.6rem;padding:.26rem;display:grid;position:relative;box-shadow:inset 0 0 0 1px #0000000a}.segmented-tabs__indicator{width:calc((100% - .52rem) / var(--segment-count));transform:translateX(calc(100% * var(--active-index)));pointer-events:none;background:linear-gradient(#f4f4f4 0%,#d3d3d3 100%);border-radius:999px;transition:transform .28s cubic-bezier(.22,1,.36,1),background .18s,box-shadow .18s;position:absolute;top:.26rem;bottom:.26rem;left:.26rem;box-shadow:inset 0 0 0 1px #0000000a,0 1px 1px #0000003d}.segmented-tabs__button{z-index:1;color:var(--color-muted);font-family:var(--font-display);font-size:var(--type-body);line-height:var(--leading-body);border-radius:999px;justify-content:center;padding:.36rem .82rem;transition:color .18s;display:inline-flex;position:relative}.segmented-tabs__button.is-active,.segmented-tabs__button:not(.is-active):hover,.segmented-tabs__button:not(.is-active):focus-visible{color:var(--color-ink)}html[data-theme=dark] .segmented-tabs{box-shadow:none;background:linear-gradient(#2a2a2a 0%,#1a1a1a 100%)}html[data-theme=dark] .segmented-tabs__indicator{background:linear-gradient(#3a3a3a 0%,#262626 100%);box-shadow:0 1px 1px #00000073}html[data-theme=dark] .segmented-tabs__button:not(.is-active):hover,html[data-theme=dark] .segmented-tabs__button:not(.is-active):focus-visible{color:var(--color-ink)}.tag-list{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.tag-list__item{color:var(--color-muted);font-size:var(--type-caption);line-height:var(--leading-body);white-space:nowrap;align-items:center;display:inline-flex}.tag-list__separator{margin-right:.45rem}.featured-projects{gap:1rem;display:grid}.featured-projects--stack{gap:5.25rem}.featured-projects__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.featured-projects__grid--images{align-items:start}.featured-projects__grid--images .featured-project__preview-trigger--span-2{grid-column:1/-1}.featured-projects--images .featured-project{flex-direction:column;display:flex}.featured-projects--images .featured-project__row{order:-1}.featured-project{border:1px solid var(--color-line);background:var(--color-paper);transition:background-color .18s,background .18s;position:relative;overflow:hidden}.featured-project--editorial{background:0 0;border:0;overflow:visible}.featured-project-link{display:block}.featured-project__body{gap:.9rem;padding:3.3rem 0 0;display:grid}.featured-project__row{grid-template-columns:1fr auto;align-items:center;gap:1rem;padding:1.5rem;display:grid}.featured-project__row--editorial{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;padding:0}.featured-project__meta{align-items:center;gap:1rem;display:flex}.featured-project__meta--editorial{align-items:start;gap:.2rem;display:grid}.featured-project__meta-head{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:2.05rem;display:grid}.featured-project__meta-head .featured-project__logo{align-self:start;margin-right:.6rem}.featured-project__meta-head>div{gap:.2rem;min-width:0;display:grid}.featured-project__meta>div{gap:.1rem;display:grid}.featured-project__meta h3,.gallery-card__body h3{font-family:var(--font-display);font-size:var(--type-heading-m);line-height:var(--leading-body);font-weight:600}.featured-project__meta p,.gallery-card__body p{color:var(--color-muted);font-size:var(--type-body);line-height:var(--leading-body)}.featured-project__meta-detail{margin:0}.featured-project__meta-detail--combined{flex-wrap:wrap;align-items:center;gap:.34rem;display:inline-flex}.featured-project__meta-divider{color:var(--color-line-strong);margin:0;font-size:.67em;line-height:1}.featured-project__meta p{transform:translateY(-.15rem)}.featured-project__meta--editorial p{transform:none}.featured-project__logo{flex:none;width:2.8rem;height:2.8rem;position:relative;overflow:hidden}.featured-project__cover-shell{position:relative}.featured-project__cover-shell--editorial{overflow:hidden}.featured-project__cover{background:inherit;min-height:35.5rem;position:relative;overflow:hidden}.featured-project__cover--editorial{width:100%;min-height:0}.featured-project__cover--editorial.placeholder-media--responsive{width:100%}.featured-project__cover img{object-fit:cover;object-position:center top}.featured-project__cover--padded{padding:1.5rem 1.5rem 0}.featured-project__cover--framed{padding:var(--space-2) var(--space-2) 0;background:var(--color-paper)}.featured-project__cover--framed.placeholder-media--responsive{min-height:0}.featured-project__cover--contain img{object-fit:contain}.featured-project__cover--hero{min-height:32.25rem}.featured-project__cover--hero.featured-project__cover--editorial{aspect-ratio:1.6}.featured-project__tags{justify-content:flex-start;align-items:center;gap:.34rem;margin-top:.05rem}.featured-project__tags .tag-list__item{color:var(--color-muted);font-size:var(--type-body);line-height:var(--leading-body);gap:.34rem;font-weight:400}.featured-project__tags .tag-list__separator{color:var(--color-line-strong);margin-right:0;font-size:.67em}html[data-theme=dark] .featured-project__meta-divider,html[data-theme=dark] .featured-project__tags .tag-list__separator{color:var(--color-muted)}.featured-project__cursor-label{z-index:2;border:1px solid color-mix(in srgb, var(--color-paper) 3%, transparent);border-radius:var(--radius-round);background:color-mix(in srgb, var(--color-ink) 58%, transparent);-webkit-backdrop-filter:blur(18px)saturate(140%);backdrop-filter:blur(18px)saturate(140%);min-height:2.75rem;color:var(--color-paper);font-family:var(--font-display);font-size:var(--type-body);line-height:var(--leading-body);opacity:0;pointer-events:none;transform:translate3d(var(--cursor-label-x,0), var(--cursor-label-y,0), 0) translate3d(-50%, calc(-50% + .35rem), 0) scale(.92);will-change:opacity, transform;white-space:nowrap;justify-content:center;align-items:center;gap:.28rem;padding:.54rem .78rem .54rem .92rem;transition:opacity .18s;display:inline-flex;position:absolute;top:calc(50% - 16px);left:50%}.featured-project__cursor-label-icon{color:currentColor;flex:none}html[data-theme=dark] .featured-project__cursor-label{border-color:color-mix(in srgb, var(--color-paper) 3%, transparent)}.featured-project-link:hover .featured-project__cursor-label,.featured-project-link:focus-visible .featured-project__cursor-label{opacity:1;transform:translate3d(var(--cursor-label-x,0), var(--cursor-label-y,0), 0) translate3d(-50%, -50%, 0) scale(1)}@media (hover:none),(pointer:coarse){.featured-project__cursor-label,.featured-project__action{display:none}}.featured-project__description{color:var(--color-ink);font-size:18px;font-weight:500;line-height:var(--leading-body);text-wrap:pretty;margin:0}.featured-project__content{align-content:start;gap:.4rem;display:grid}.featured-project__action{font-family:var(--font-display);font-size:var(--type-body);line-height:var(--leading-body);justify-items:end;gap:.15rem;transition:color .18s;display:grid}.featured-project__action-icon{line-height:1;display:inline-flex}.featured-project-link:focus-visible .featured-project__action,.featured-project__preview-trigger:focus-visible .featured-project__action,.featured-project__action:hover{color:var(--color-sky)}.content-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.content-grid--channels{align-items:stretch}.content-grid--channels>:first-child{grid-row:auto}.content-grid--mentorship{grid-template-columns:repeat(3,minmax(0,1fr))}.content-card--mentorship{min-height:32rem}.content-card{border:1px solid var(--color-line);background:var(--color-paper);transition:border-radius .18s,background-color .18s,background .18s;overflow:hidden}.content-card--channel{align-content:center;justify-items:center;min-height:16rem;display:grid}.content-grid--channels .content-card--channel{height:100%;min-height:33rem}.content-card--channel-feed{grid-template-rows:auto 1fr;align-self:stretch;gap:1rem;height:100%;min-height:33rem;padding:1.4rem;display:grid}.channel-feed-card__header{justify-items:start;display:grid}.channel-feed-card__header h3{font-family:var(--font-display);font-size:var(--type-heading-m);line-height:var(--leading-body);font-weight:600}.channel-feed-card__list{grid-auto-rows:minmax(0,auto);align-content:start;display:grid}.channel-feed-card__item{border-top:1px solid var(--color-line);min-height:2.9rem;color:inherit;grid-template-columns:1fr auto;align-items:center;gap:.8rem;padding:.7rem 0;text-decoration:none;transition:color .18s;display:grid}.channel-feed-card__item:hover,.channel-feed-card__item:focus-visible{color:var(--color-sky)}.channel-feed-card__label{font-family:var(--font-body);font-size:var(--type-body);line-height:var(--leading-body);white-space:nowrap;text-overflow:ellipsis;padding-right:.5rem;overflow:hidden}.channel-feed-card__meta{color:currentColor;flex-shrink:0;align-items:center;line-height:1;display:inline-flex}.channel-feed-card__arrow{line-height:1;display:inline-flex}.content-card--flat{background:0 0;border:0}.content-card-link{color:inherit;text-decoration:none;display:block}.featured-project:hover,.featured-project:focus-within,.featured-project--editorial:hover,.featured-project--editorial:focus-within,html[data-theme=dark] .featured-project:hover,html[data-theme=dark] .featured-project:focus-within{background:0 0}.featured-projects--images .featured-project:hover,.featured-projects--images .featured-project:focus-within{background:var(--color-paper)!important;border-radius:0!important}.content-card__body{gap:.25rem;padding:1rem 0;display:grid}.content-card__body--compact{padding:.8rem 0 0}.content-card__body--center{text-align:center;justify-items:center;padding:1.2rem}.content-card--mentorship .content-card__body--center{align-content:center;justify-items:center;gap:.25rem;min-height:100%}.content-card--channel .content-card__body--center{gap:.25rem}.content-card--channel .content-card__body h3,.content-card--flat .content-card__body h3,.content-card--mentorship .content-card__body h3{font-weight:600}.content-card__body h3{font-family:var(--font-display);font-size:var(--type-heading-m);line-height:var(--leading-body)}.content-card__body p{color:var(--color-muted);font-size:var(--type-body);line-height:var(--leading-body)}.placeholder-media{background:inherit;color:#1615154d;place-items:center;display:grid;position:relative;overflow:hidden}.placeholder-media img{object-fit:cover}.placeholder-media--outlined:after{content:"";border:1px solid var(--color-line);pointer-events:none;position:absolute;inset:0}.placeholder-media--responsive{display:block;overflow:visible}.placeholder-media--responsive img,.placeholder-media--responsive video{object-fit:contain;width:100%;height:auto;display:block;position:static}.placeholder-media--intrinsic{display:block;overflow:visible}.placeholder-media--intrinsic img,.placeholder-media--intrinsic video{width:100%;max-width:100%;height:auto;display:block;position:static}.placeholder-media video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.placeholder-media span{font-family:var(--font-display);letter-spacing:.04em;font-size:1rem}.content-card__media--wide{aspect-ratio:1.45}.content-card__media--tall{min-height:19rem}.content-card__media--square{aspect-ratio:1;width:2.9rem;margin:1.4rem auto 0}.content-card--channel .content-card__media--square{margin:0}.content-card__cta{font-family:var(--font-display);font-size:var(--type-heading-m);line-height:var(--leading-body);align-items:center;gap:.35rem;margin-top:.2rem;transition:color .18s;display:inline-flex}.content-card__cta span{font-size:1.35em;line-height:1}.content-card-link:focus-visible .content-card__cta,.content-card__preview-trigger:focus-visible .content-card__cta,.content-card__cta:hover{color:var(--color-sky)}.content-card__media--square img,.career-path__logo img,.featured-project__logo img{object-fit:contain}.feedback-list__avatar img{object-fit:cover}.feedback-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem 3rem;display:grid}.feedback-list__item{justify-items:start;gap:.5rem;display:grid}.feedback-list__head{align-items:center;gap:.8rem;display:flex}.feedback-list__identity{gap:.1rem;display:grid}.feedback-list__avatar{aspect-ratio:1;flex:none;width:2rem}.career-path{display:grid}.career-path__item{border-top:1px solid var(--color-line);grid-template-columns:minmax(0,1fr) auto;gap:2rem;padding:1.5rem 0;display:grid}html[data-theme=dark] .career-path__item{border-top-color:#f2f2ee13}.page-section--images{padding-top:var(--space-6)}.images-gallery{grid-template-columns:repeat(6,minmax(0,1fr));align-items:start;gap:.5rem;display:grid}.gallery-card{gap:calc(var(--space-2) / 2);z-index:0;min-width:0;display:grid;position:relative}.gallery-card--span-2{grid-column:span 2}.gallery-card--span-3{grid-column:span 3}.gallery-card--span-4{grid-column:span 4}.gallery-card--span-6{grid-column:span 6}.gallery-card__media-grid{align-items:start;gap:.5rem;display:grid}.gallery-card__media-grid--single{grid-template-columns:1fr}.gallery-card__media-grid--single .gallery-card__tile{aspect-ratio:10/7}.gallery-card__media-grid--duo,.gallery-card__media-grid--trio{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-card__media-grid--trio{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-card__media-grid--duo-feature{grid-template-columns:minmax(0,1.65fr) minmax(0,.85fr)}.gallery-card__tile{aspect-ratio:1;border:1px solid var(--color-line);background:var(--color-paper);transition:border-radius .18s;overflow:hidden}.gallery-card__preview-trigger{width:100%;color:inherit;text-align:left;perspective:1200px;transform-style:preserve-3d;--tilt-rotate-x:0deg;--tilt-rotate-y:0deg;--tilt-glare-x:50%;--tilt-glare-y:50%;--tilt-glare-alpha:0;--tilt-transition:transform .15s cubic-bezier(.22, 1, .36, 1), border-color .16s ease;background:0 0;border:0;padding:0;display:block}.gallery-card__preview-trigger:disabled{cursor:default}.gallery-card__preview-trigger .gallery-card__tile,.gallery-card__preview-trigger .about-story-card__media{transform:rotateX(var(--tilt-rotate-x)) rotateY(var(--tilt-rotate-y));transform-origin:50%;transform-style:preserve-3d;transition:var(--tilt-transition), box-shadow .22s cubic-bezier(.22, 1, .36, 1);will-change:transform;backface-visibility:hidden;position:relative}.gallery-card__preview-trigger .gallery-card__tile:after,.gallery-card__preview-trigger .about-story-card__media:after{content:"";pointer-events:none;background:radial-gradient(circle at var(--tilt-glare-x) var(--tilt-glare-y), rgba(255, 255, 255, var(--tilt-glare-alpha)) 0%, #fff0 42%);transition:opacity .18s;position:absolute;inset:0}.gallery-card__preview-trigger:hover .gallery-card__tile,.gallery-card__preview-trigger:focus-visible .gallery-card__tile,.gallery-card__preview-trigger:hover .about-story-card__media,.gallery-card__preview-trigger:focus-visible .about-story-card__media{box-shadow:none}.featured-project__preview-trigger{pointer-events:none;display:block}.featured-project__preview-trigger .featured-project-link{pointer-events:auto;cursor:pointer;transform:rotateX(var(--tilt-rotate-x)) rotateY(var(--tilt-rotate-y));transform-origin:50%;transform-style:preserve-3d;transition:var(--tilt-transition), box-shadow .22s cubic-bezier(.22, 1, .36, 1);will-change:transform;backface-visibility:hidden;display:block;position:relative}.featured-project__preview-trigger .featured-project{position:relative}.featured-project__preview-trigger .featured-project__action{z-index:1;pointer-events:auto;position:relative}.featured-project__preview-trigger .featured-project:after{content:"";pointer-events:none;background:radial-gradient(circle at var(--tilt-glare-x) var(--tilt-glare-y), rgba(255, 255, 255, var(--tilt-glare-alpha)) 0%, #fff0 42%);transition:opacity .18s;position:absolute;inset:0}.featured-project__preview-trigger:hover .featured-project-link,.featured-project__preview-trigger:focus-visible .featured-project-link{box-shadow:none}.content-card__media-trigger{display:block}.content-card__media-trigger .content-card__media{transform:rotateX(var(--tilt-rotate-x)) rotateY(var(--tilt-rotate-y));transform-origin:50%;transform-style:preserve-3d;transition:var(--tilt-transition), box-shadow .22s cubic-bezier(.22, 1, .36, 1);will-change:transform;backface-visibility:hidden;position:relative}.content-card__media-trigger .content-card__media:after{content:"";pointer-events:none;background:radial-gradient(circle at var(--tilt-glare-x) var(--tilt-glare-y), rgba(255, 255, 255, var(--tilt-glare-alpha)) 0%, #fff0 42%);transition:opacity .18s;position:absolute;inset:0}.content-card__media-trigger:hover .content-card__media,.content-card__media-trigger:focus-visible .content-card__media{box-shadow:none}.content-card__preview-trigger{height:100%;display:block}.content-card__preview-trigger .content-card{height:100%;transform:rotateX(var(--tilt-rotate-x)) rotateY(var(--tilt-rotate-y));transform-origin:50%;transform-style:preserve-3d;transition:var(--tilt-transition), box-shadow .22s cubic-bezier(.22, 1, .36, 1);will-change:transform;backface-visibility:hidden;position:relative}.content-card__preview-trigger .content-card:after{content:"";pointer-events:none;background:radial-gradient(circle at var(--tilt-glare-x) var(--tilt-glare-y), rgba(255, 255, 255, var(--tilt-glare-alpha)) 0%, #fff0 42%);transition:opacity .18s;position:absolute;inset:0}.content-card__preview-trigger:hover .content-card,.content-card__preview-trigger:focus-visible .content-card{box-shadow:none;border-radius:0}.gallery-card__tile img{object-fit:cover}.gallery-card__tile--intrinsic{aspect-ratio:auto;overflow:visible}.gallery-card__tile-clip{border-radius:inherit;background:inherit;overflow:hidden}.gallery-card__tile-media--intrinsic{width:100%;height:auto;display:block}.gallery-card:hover,.gallery-card:focus-within{z-index:1}.gallery-card:hover .gallery-card__tile,.gallery-card:focus-within .gallery-card__tile{border-radius:0}.gallery-card__tile--duo-feature.gallery-card__tile--primary{align-self:stretch}.gallery-card__tile.placeholder-media span{font-size:.9rem}.gallery-card__body{gap:2px;display:grid}.media-lightbox{z-index:60;padding:var(--space-5);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000c;place-items:center;display:grid;position:fixed;inset:0}.media-lightbox__close{top:var(--space-4);right:var(--space-4);width:2.75rem;height:2.75rem;color:var(--color-static-white);opacity:.3;background:0 0;border:0;place-items:center;padding:0;font-size:2rem;line-height:1;display:inline-grid;position:absolute}.media-lightbox__frame{gap:var(--space-5);justify-items:center;width:min(100%,82rem);display:grid}.media-lightbox__stage{place-items:center;width:100%;height:clamp(18rem,100vh - 21rem,48rem);min-height:0;display:grid;overflow:hidden}.media-lightbox__asset-shell{place-items:center;max-width:100%;max-height:100%;display:grid}.media-lightbox__asset{object-fit:contain;width:100%;height:100%;box-shadow:var(--shadow-soft);display:block}.booking-modal{z-index:70;padding:var(--space-5) var(--space-6);background:color-mix(in srgb, var(--color-static-ink) 78%, transparent);place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.booking-modal__frame{width:min(100%,90rem);height:min(calc(100vh - var(--space-6)), 42.5rem);border-radius:var(--radius-modal);box-shadow:var(--shadow-soft);overflow:hidden}.booking-modal__close{top:var(--space-4);right:var(--space-4);width:2.75rem;height:2.75rem;color:var(--color-static-white);background:0 0;border:0;place-items:center;padding:0;font-size:2rem;line-height:1;display:inline-grid;position:absolute}.booking-modal__cal,.booking-modal__cal iframe{width:100%;height:100%}.booking-modal__cal iframe{border:0;display:block}@media (max-width:720px){.booking-modal{padding:var(--space-3)}.booking-modal__frame{height:min(calc(100vh - var(--space-5)), 43rem)}}.media-lightbox__meta{text-align:center;width:fit-content;color:var(--color-static-white);flex-direction:column;justify-content:center;justify-self:center;align-items:center;gap:.35rem;margin-inline:auto;display:flex}.media-lightbox__meta p{font-family:var(--font-display);font-size:var(--type-heading-m);line-height:var(--leading-body);margin:0}.media-lightbox__meta-line{white-space:nowrap;color:#fff;font-size:var(--type-body);line-height:var(--leading-body);flex-wrap:nowrap;justify-content:center;align-items:center;gap:.55rem;display:inline-flex}.media-lightbox__meta a.button-link.media-lightbox__action,.media-lightbox__meta a.button-link.media-lightbox__action:link,.media-lightbox__meta a.button-link.media-lightbox__action:visited{min-width:auto;font-family:var(--font-display);font-size:var(--type-body);line-height:1;color:#fff!important;opacity:1!important;background:0 0!important;border-color:#0000!important;min-height:auto!important;margin-top:.45rem!important;padding:0!important;text-decoration:none!important;transition:color .18s!important;transform:none!important}.media-lightbox__meta a.button-link.media-lightbox__action,.media-lightbox__meta a.button-link.media-lightbox__action *{color:currentColor!important}.media-lightbox__meta a.button-link.media-lightbox__action:hover,.media-lightbox__meta a.button-link.media-lightbox__action:hover *,.media-lightbox__meta a.button-link.media-lightbox__action:focus-visible,.media-lightbox__meta a.button-link.media-lightbox__action:focus-visible *,.media-lightbox__meta a.button-link.media-lightbox__action:active,.media-lightbox__meta a.button-link.media-lightbox__action:active *{color:var(--color-sky)!important;opacity:1!important;background:0 0!important;border-color:#0000!important;text-decoration:none!important;transform:none!important}.media-lightbox__meta .button-link.media-lightbox__action .button-link__icon--arrow{font-size:1.15em;transition:transform .18s}.media-lightbox__meta a.button-link.media-lightbox__action:hover .button-link__icon--arrow,.media-lightbox__meta a.button-link.media-lightbox__action:focus-visible .button-link__icon--arrow{transform:translate(2px)}.media-lightbox__strip-shell{justify-content:center;width:100%;display:flex}.media-lightbox__strip{gap:var(--space-1);width:fit-content;max-width:min(100vw - 2 * var(--space-5), 82rem);padding-inline:var(--space-1);padding-bottom:var(--space-1);-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;touch-action:pan-x;flex-wrap:nowrap;justify-content:flex-start;align-items:center;display:flex;overflow:auto hidden}.media-lightbox__thumb{opacity:.72;background:0 0;border:1px solid #0000;flex:none;align-items:stretch;width:auto;height:4.25rem;padding:0;transition:opacity .18s,border-color .18s,transform .18s;display:flex;overflow:hidden}.media-lightbox__thumb--active{opacity:1;border-color:#ffffff6b}.media-lightbox__thumb-media{width:100%;max-width:none;height:100%;display:block}.page-section--about{padding-top:var(--space-6)}.about-story{gap:var(--space-4) var(--space-2);grid-template-columns:repeat(6,minmax(0,1fr));align-items:start;display:grid}.about-story-card{gap:calc(var(--space-2) / 2);z-index:0;min-width:0;display:grid;position:relative}.about-story-card--span-2{grid-column:span 2}.about-story-card--span-3{grid-column:span 3}.about-story-card--span-4{grid-column:span 4}.about-story-card--span-6{grid-column:span 6}.about-story-card__copy{gap:var(--space-2);max-width:15.5rem;display:grid}.about-story-card--text{align-self:start}.about-story-card__copy h3{font-family:var(--font-display);font-size:var(--type-heading-l);line-height:var(--leading-heading);font-weight:500}.about-story-card__eyebrow{color:var(--color-ink);font-size:var(--type-heading-m);line-height:var(--leading-body);font-weight:700}.about-story-card__paragraph,.about-story-card__caption{color:var(--color-muted);font-size:var(--type-body);line-height:var(--leading-body)}.about-story-card--text .about-story-card__paragraph{color:var(--color-ink);font-size:var(--type-heading-m);line-height:1.45}.about-story-card__media{aspect-ratio:4/5;background:var(--color-paper);overflow:hidden}.about-story-card__media.placeholder-media--intrinsic{aspect-ratio:auto}.about-story-card__preview-trigger{cursor:pointer}.about-story-card:hover,.about-story-card:focus-within{z-index:1}.about-story-card--span-4 .about-story-card__media,.about-story-card--span-6 .about-story-card__media{aspect-ratio:16/10}.about-story-card--span-4 .about-story-card__media.placeholder-media--intrinsic,.about-story-card--span-6 .about-story-card__media.placeholder-media--intrinsic{aspect-ratio:auto}.about-story-card__caption{color:var(--color-muted)}.career-path__item:first-child{border-top:0}.career-path__meta{gap:.8rem;display:grid}.career-path__meta div{grid-template-columns:6rem 1fr;gap:1rem;display:grid}.career-path__meta span{color:var(--color-muted);font-size:var(--type-body);line-height:var(--leading-body)}.career-path__meta strong{font-weight:400;font-size:var(--type-body);line-height:var(--leading-body)}.career-path__meta div:first-child strong{font-family:var(--font-display);font-size:var(--type-heading-m);line-height:var(--leading-body);font-weight:600}.career-path__projects{flex-wrap:wrap;align-items:center;gap:.5rem;display:inline-flex}.career-path__project-item{align-items:center;gap:.5rem;display:inline-flex}.career-path__meta .career-path__project-label{color:var(--color-ink)}a.career-path__project-label{transition:color .18s}a.career-path__project-label:hover,a.career-path__project-label:focus-visible{color:var(--color-sky)}.career-path__meta .site-header__divider{color:#16151538;transform-origin:50%;line-height:.72;transform:scaleY(.72)}.career-path__period{display:inline-block}html[data-theme=dark] .career-path__meta .site-header__divider{color:#f2f2ee29}.career-path__logo{aspect-ratio:1;width:5.8rem}.career-path__actions{flex-wrap:wrap;justify-content:center;gap:.45rem;padding-top:2rem;display:flex}.site-footer-actions{padding:var(--space-5) 0 var(--space-4)}.site-frame:has(.page-shell--contacts)+.site-footer-actions{display:none}.site-footer-actions__inner{width:min(100%, var(--max-width-text-column));padding-inline:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;margin:0 auto;display:grid}.career-path__actions .button-link{width:min(100%,17.75rem)}.site-footer-actions__inner .button-link{width:100%}.career-path__actions .button-link:hover,.career-path__actions .button-link:focus-visible,.site-footer-actions__inner .button-link:hover,.site-footer-actions__inner .button-link:focus-visible{background:var(--color-sky);border-color:var(--color-sky);color:var(--color-static-white);transform:none}.cta-row{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.button-link,.social-link,.copy-email{border:1px solid var(--color-line);border-radius:var(--radius-round);background:color-mix(in srgb, var(--color-paper) 78%, transparent);justify-content:center;align-items:center;gap:.55rem;min-height:2.9rem;padding:.7rem 1rem;transition:transform .18s,background-color .18s,border-color .18s,color .18s;display:inline-flex}.button-link:hover,.social-link:hover,.copy-email:hover{background:color-mix(in srgb, var(--color-paper) 92%, transparent);border-color:var(--color-line-strong);transform:translateY(-1px)}.button-link--primary{background:var(--color-ink);color:var(--color-paper)}.button-link--primary:hover{background:color-mix(in srgb, var(--color-ink) 88%, var(--color-paper-strong))}.button-link__icon{line-height:1;display:inline-flex}.button-link__icon--arrow{font-size:1.1rem}.link-button--plain{background:0 0;border:0;border-radius:0;min-height:auto;padding:0}.link-button--plain:hover{color:var(--color-sky);background:0 0;border-color:#0000;transform:none}.link-button--plain:focus-visible{color:var(--color-sky)}.link-button--plain .button-link__icon--arrow{font-size:1.35em}.link-button--compact{font-size:var(--type-heading-m);line-height:var(--leading-body);align-items:center;gap:.35rem;margin-top:.2rem;display:inline-flex}.mentorship-card__body{justify-content:center;height:100%}.mentorship-card__media{margin:0 0 1rem}.mentorship-card__copy{text-align:center;gap:.3rem;display:grid}.mentorship-card__copy p{font-size:.92rem;line-height:1.3}.page-section{gap:var(--space-4);padding-top:8.25rem;display:grid}.page-section--dual{gap:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr))}@media (min-width:961px){.page-shell--home:not(.project-page){padding-top:calc(4rem + var(--space-5))}.page-shell--home:not(.project-page) .home-hero{min-height:clamp(var(--size-home-hero-desktop-min), var(--size-home-hero-desktop-fluid), var(--size-home-hero-desktop-max))}.page-shell--home:not(.project-page) .page-section:first-of-type{padding-top:5rem}}.section-heading{justify-content:space-between;align-items:end;gap:var(--space-3);padding-bottom:0;display:flex}.section-heading+.featured-projects--stack{margin-top:1.5rem}.section-heading h1,.section-heading h2{font-family:var(--font-display);font-size:var(--type-heading-l);line-height:var(--leading-heading);font-weight:500}.section-heading__count{color:var(--color-muted);font-family:var(--font-display);font-size:var(--type-heading-l);line-height:var(--leading-heading);font-weight:500}.section-heading__aside{align-self:end;align-items:center;gap:1.6rem;display:inline-flex}.section-heading--images{align-items:center}.section-heading__aside--images{align-self:center;align-items:center}.section-heading__aside--images .toggle-switch{align-items:center;line-height:1;gap:0!important}.section-heading__aside--images .toggle-switch__label,.section-heading__aside--images .toggle-switch__control{align-self:center;line-height:1}.section-heading__aside--images .toggle-switch__label{margin-right:16px}.section-heading__aside--images .toggle-switch__control{margin-left:0;padding-top:0;transform:translateY(-.05rem)}.toggle-switch{color:var(--color-ink);font-family:var(--font-display);font-size:var(--type-heading-l);line-height:var(--leading-heading);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;outline:none;align-items:center;gap:1.35rem;padding:0;display:inline-flex}.toggle-switch__label{align-items:center;line-height:1;display:inline-flex}.toggle-switch__control{flex:none;display:inline-flex}.toggle-switch__track{border:2px solid var(--color-ink);background:var(--color-paper);border-radius:999px;justify-content:flex-start;align-items:center;width:2.9rem;min-width:2.9rem;height:1.62rem;padding:.14rem;transition:background-color .18s,border-color .18s,box-shadow .18s;display:inline-flex}.toggle-switch__thumb{background:var(--color-ink);width:1.1rem;height:1.1rem;box-shadow:none;border-radius:999px;transition:transform .18s;display:block;transform:translate(0)}.toggle-switch[aria-checked=true] .toggle-switch__track{background:var(--color-ink)}.toggle-switch[aria-checked=true] .toggle-switch__thumb{background:var(--color-paper);transform:translate(1.22rem)}.toggle-switch:hover .toggle-switch__track{border-color:var(--color-ink);box-shadow:none}.toggle-switch:focus-visible{outline:none}.toggle-switch:focus-visible .toggle-switch__track{border-color:var(--color-ink);box-shadow:none}.toggle-switch:focus,.toggle-switch:active{outline:none}.toggle-switch:focus .toggle-switch__track,.toggle-switch:active .toggle-switch__track{border-color:var(--color-ink);box-shadow:none}.stack-list{display:grid}.stack-list__item,.career-list__item,.project-links__item{gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-line);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.stack-list__item h3,.quote-grid__item h3,.feedback-list__item h3,.project-links__item h3,.portfolio-index__entry h3{font-size:var(--type-heading-m);line-height:var(--leading-body);font-weight:600}.stack-list__item p,.quote-grid__item p,.career-list__item p,.feed-grid__item p{color:var(--color-muted);font-size:var(--type-body);line-height:var(--leading-body)}.meta-row{gap:var(--space-2);flex-wrap:wrap;margin-top:.5rem;display:flex}.meta-row__item{color:var(--color-muted);font-size:var(--type-body);gap:.45rem;display:inline-flex}.meta-row__item strong{color:var(--color-ink);font-weight:500}.quote-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.quote-grid__item{padding:var(--space-4);border:1px solid var(--color-line);background:var(--color-paper);border-radius:var(--radius-soft);box-shadow:var(--shadow-soft)}.quote-grid__role{color:var(--color-muted);font-size:var(--type-body);line-height:var(--leading-body-tight);margin-bottom:0}.career-list{display:grid}.career-list__item{grid-template-columns:minmax(0,1fr)}.career-list__meta{gap:var(--space-2);flex-wrap:wrap;font-size:1rem;display:flex}.career-list__meta span:nth-child(2){color:var(--color-muted)}.page-intro{gap:var(--space-3);max-width:48rem;display:grid}.contacts-directory{padding-top:var(--space-2);padding-bottom:var(--space-6)}.contacts-directory__stack{width:min(100%, var(--max-width-text-column));margin:0 auto}.contacts-directory__row{gap:var(--space-2);padding:var(--space-4) 0;border-top:1px solid var(--color-line);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;display:grid}.contacts-directory__row:first-child{border-top:0}.section-group-label{color:var(--color-muted);font-family:var(--font-body);font-size:var(--type-body);line-height:var(--leading-body);font-weight:400}.contacts-directory__title{color:var(--color-muted);font-family:var(--font-display);font-size:var(--type-body);line-height:var(--leading-body);text-align:right;justify-self:end;font-weight:400}.contacts-directory .grouped-link-list{justify-self:start;gap:.75rem;width:100%}.contacts-directory .grouped-link-list a{color:var(--color-ink);font-family:var(--font-display);font-size:var(--type-heading-m);line-height:var(--leading-body)}.contacts-directory .grouped-link-list a:hover{color:var(--color-sky);transform:none}.contacts-directory .copy-email--contacts{appearance:none;min-height:0;color:var(--color-ink);font-family:var(--font-display);font-size:var(--type-heading-m);line-height:var(--leading-body);letter-spacing:normal;box-shadow:none;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:0;justify-content:flex-start;align-items:flex-start;margin:0;padding:0;display:inline-flex}.contacts-directory .copy-email--contacts:hover,.contacts-directory .copy-email--contacts:focus-visible{box-shadow:none;color:var(--color-sky);background:0 0;border-color:#0000;transform:none}.page-shell--contacts .home-hero{min-height:auto;padding-top:0;padding-bottom:var(--space-2)}.page-shell--contacts .home-hero__links{display:none}.feed-grid,.contact-grid,.portfolio-index{gap:var(--space-4);display:grid}.portfolio-index{width:min(100%, var(--max-width-text-column));margin:0 auto}.portfolio-index .feed-posts__groups{gap:var(--space-6)}.feed-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.feed-grid__item,.contact-grid__item{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-soft);border:1px solid var(--color-line);background:var(--color-paper);box-shadow:var(--shadow-soft);display:grid}.grouped-link-list{gap:.85rem;display:grid}.grouped-link-list a{color:var(--color-ink);transition:color .18s}.grouped-link-list a:hover{color:var(--color-sky)}.feed-posts{--feed-group-gap:calc(var(--space-4) * 2);gap:var(--feed-group-gap);display:grid}.feed-posts__header{display:block}.feed-posts__header .section-heading{width:100%}.feed-posts__promo{display:grid}.feed-posts__entries{gap:var(--space-7);display:grid}.feed-posts__archive{gap:var(--space-4);display:grid}.feed-posts__archive-title{color:var(--color-muted)}.feed-posts__groups{gap:var(--feed-group-gap);display:grid}.feed-posts__group{gap:var(--space-2);display:grid}.feed-posts__group-title{padding-left:.1rem}.feed-post-page{display:grid}.feed-entry{gap:var(--space-4);display:grid}.feed-entry__media-link{display:block}.feed-entry__media{background:var(--color-paper);width:100%;height:auto;display:block}.feed-entry__media-grid{gap:var(--space-2);display:grid}.feed-entry__media-grid--preview,.feed-entry__media-grid--full{grid-template-columns:repeat(3,minmax(0,1fr))}.feed-entry__media-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.feed-entry__media--gallery{object-fit:cover;height:100%;min-height:18rem}.feed-entry--preview .feed-entry__media--gallery{min-height:12rem}.feed-entry__body{gap:.35rem;display:grid}.feed-entry__title{font-family:var(--font-display);font-size:var(--type-heading-m);line-height:var(--leading-body);font-weight:600}.feed-entry__date{color:var(--color-muted);font-size:var(--type-body);line-height:var(--leading-body)}.feed-entry__copy{gap:var(--space-2);display:grid}.feed-entry__copy p,.feed-entry__copy li{font-size:var(--type-body);line-height:var(--leading-body)}.feed-entry__list{gap:.6rem;padding-left:1.25rem;display:grid}.feed-entry__link{color:var(--color-sky);font-size:var(--type-heading-m);line-height:var(--leading-body);align-items:center;gap:.25rem;display:inline-flex}.feed-entry__link:hover,.feed-entry__link:focus-visible{color:var(--color-sky)}.feed-entry--full .feed-entry__body{gap:var(--space-2)}.feed-entry--full .feed-entry__media--gallery{min-height:28rem}.feed-entry--full .feed-entry__title{font-size:var(--type-heading-l);line-height:1.12}.feed-entry--full .feed-entry__date{font-size:var(--type-heading-l)}.feed-entry--full .feed-entry__copy{gap:var(--space-3)}.feed-entry--full .feed-entry__copy p,.feed-entry--full .feed-entry__copy li{font-size:clamp(1.15rem,1.8vw,1.55rem);line-height:1.45}.feed-entry--full .feed-entry__list{gap:.85rem}.feed-posts__promo-header{margin-bottom:var(--space-4);justify-content:center;display:flex}.feed-posts__promo-heading{font-family:var(--font-display);font-size:var(--type-heading-l);line-height:var(--leading-heading);justify-content:center;align-items:flex-start;margin:0;font-weight:500;display:inline-flex}.feed-posts__promo-dot{color:var(--color-accent-alert);margin-left:.08rem;font-size:.88rem;line-height:1;transform:translateY(-.28rem)}.channel-banner__tilt{display:block}.channel-banner__tilt .channel-banner{transform:rotateX(var(--tilt-rotate-x)) rotateY(var(--tilt-rotate-y));transform-origin:50%;transform-style:preserve-3d;transition:var(--tilt-transition), box-shadow .22s cubic-bezier(.22, 1, .36, 1);will-change:transform;backface-visibility:hidden;position:relative}.channel-banner__tilt .channel-banner:after{content:"";pointer-events:none;background:radial-gradient(circle at var(--tilt-glare-x) var(--tilt-glare-y), rgba(255, 255, 255, var(--tilt-glare-alpha)) 0%, #fff0 42%);transition:opacity .18s;position:absolute;inset:0}.channel-banner__tilt:hover .channel-banner,.channel-banner__tilt:focus-visible .channel-banner,.channel-banner__tilt:focus-within .channel-banner{box-shadow:none}.channel-banner{justify-items:center;gap:var(--space-2);padding:var(--space-5) var(--space-4);background:var(--color-feed-banner-surface);text-align:center;display:grid}.channel-banner__media{aspect-ratio:1;border-radius:50%;width:2.66667rem;overflow:hidden;box-shadow:inset 0 0 0 .22rem #9ad800,0 0 0 .02rem #1615150a}.channel-banner__body{justify-items:center;gap:.2rem;display:grid}.channel-banner__title{font-family:var(--font-display);font-size:var(--type-heading-m);line-height:var(--leading-body);font-weight:600}.channel-banner__description{color:var(--color-ink);font-size:var(--type-body);line-height:var(--leading-body)}.channel-banner__link{color:var(--color-sky);font-size:var(--type-body);line-height:var(--leading-body);align-items:center;gap:.2rem;display:inline-flex}.channel-banner__link:hover,.channel-banner__link:focus-visible{color:var(--color-sky)}.channel-banner__link-icon{flex-shrink:0}.grouped-link-list--feed,.grouped-link-list--projects{gap:0}.grouped-link-list--feed a,.grouped-link-list--projects a{gap:var(--space-2);border-bottom:1px solid var(--color-line);color:var(--color-ink);grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:.7rem 0;transition:color .18s;display:grid}.grouped-link-list__label{font-family:var(--font-body);font-size:var(--type-body);line-height:var(--leading-body);letter-spacing:0;font-weight:400}.grouped-link-list__meta{color:currentColor;align-items:center;gap:.55rem;line-height:1;display:inline-flex}.grouped-link-list__marker{color:currentColor;width:1.1rem;height:1.1rem;display:inline-flex}.grouped-link-list__icon{color:currentColor;width:1.15rem;height:1.15rem;display:inline-flex}.grouped-link-list__icon-svg{width:100%;height:100%}.grouped-link-list__icon-svg--projects{width:1.25rem;height:1.25rem}.grouped-link-list--feed a:hover,.grouped-link-list--feed a:focus-visible,.grouped-link-list--projects a:hover,.grouped-link-list--projects a:focus-visible{color:var(--color-sky)}.project-page{gap:var(--space-5);padding-bottom:calc(var(--space-8) + 4.5rem);display:grid}.project-hero{width:100%}.project-hero__cover{background:color-mix(in srgb, var(--color-paper) 84%, var(--color-ink));width:100%;min-height:clamp(16rem,34vw,30.5rem);position:relative;overflow:hidden}.project-hero__cover-image{object-fit:cover;object-position:center}.project-hero[data-project-slug=re-luna] .project-hero__cover{aspect-ratio:393/196;min-height:0}.project-hero[data-project-slug=re-luna] .project-hero__cover-image{object-fit:contain}.project-hero__cover-fallback{align-content:end;gap:var(--space-3);width:100%;height:100%;padding:clamp(1.5rem,3vw,2.5rem);display:grid}.project-hero__fallback-title{font-family:var(--font-display);letter-spacing:-.04em;font-size:clamp(2rem,6vw,4.8rem);line-height:.94}.project-intro{width:min(100%, var(--max-width-text-column));gap:var(--space-4);margin:0 auto;display:grid}.project-intro__identity{align-items:flex-start;gap:var(--space-3);display:flex}.project-intro__logo{background:0 0;flex-shrink:0;width:3rem;height:3rem;position:relative;overflow:hidden}.project-intro__heading{gap:.175rem;display:grid}.project-intro__title{font-family:var(--font-display);font-size:var(--type-heading-m);line-height:var(--leading-body);font-weight:600}.project-intro__meta{color:var(--color-muted);line-height:var(--leading-body-tight);flex-wrap:wrap;align-items:center;gap:.1rem .34rem;display:flex}.project-intro__meta-divider{color:var(--color-line-strong);font-size:.67em;line-height:1;transform:translateY(-.02em)}.project-intro__body{gap:var(--space-4);display:grid}.project-section{gap:var(--space-4);width:min(100%, var(--max-width-text-column));border-top:0;margin:0 auto;padding-top:0;display:grid}.project-section--gallery{width:100%;max-width:none}.project-section--narrow-media{width:min(100%, var(--max-width-text-column));margin:0 auto}.project-section--narrow-media .project-gallery__item{width:100%;margin:0 auto}.project-section--gallery>h2{display:none}.project-section>h2{font-family:var(--font-display);font-size:var(--type-heading-l);line-height:var(--leading-heading);font-weight:500}.project-section__body{gap:var(--space-3);color:var(--color-ink);display:grid}.project-section p,.project-section li{color:var(--color-ink);font-size:var(--type-body);line-height:var(--leading-body)}.project-section__list{color:var(--color-ink);gap:.55rem;padding-left:1.1rem;display:grid}.project-section__list li::marker{color:var(--color-ink)}.project-sticky-actions{left:50%;bottom:calc(var(--space-4) + env(safe-area-inset-bottom,0px));z-index:40;pointer-events:none;position:fixed;transform:translate(-50%)}.project-sticky-actions__inner{pointer-events:auto;align-items:center;gap:2px;display:flex}.project-sticky-actions__button{border:1px solid var(--color-floating-outline);background:var(--color-ink);min-height:3.5rem;color:var(--color-static-white);font-family:var(--font-body);font-size:var(--type-body);justify-content:center;align-items:center;gap:.5rem;padding:.9rem 1.15rem;line-height:1;transition:background-color .18s,border-color .18s,color .18s,opacity .18s;display:inline-flex}.project-sticky-actions__button:first-child{min-width:5.25rem}.project-sticky-actions__button--next{min-width:12rem}.project-sticky-actions__button--like:hover,.project-sticky-actions__button--like:focus-visible{background:var(--color-accent-pink);border-color:var(--color-accent-pink);color:var(--color-static-white)}.project-sticky-actions__button--liked .project-sticky-actions__icon{color:var(--color-accent-pink)}.project-sticky-actions__button--like:hover .project-sticky-actions__icon,.project-sticky-actions__button--like:focus-visible .project-sticky-actions__icon{color:var(--color-static-white)}.project-sticky-actions__button--next:hover,.project-sticky-actions__button--next:focus-visible{background:var(--color-sky);border-color:var(--color-sky);color:var(--color-static-white)}.project-sticky-actions__button:disabled{opacity:1;cursor:progress}html[data-theme=dark] .project-sticky-actions__button{background:var(--color-static-white);color:var(--color-static-ink)}html[data-theme=dark] .project-sticky-actions__button--like:hover,html[data-theme=dark] .project-sticky-actions__button--like:focus-visible{background:var(--color-accent-pink);border-color:var(--color-accent-pink);color:var(--color-static-white)}html[data-theme=dark] .project-sticky-actions__button--next:hover,html[data-theme=dark] .project-sticky-actions__button--next:focus-visible{background:var(--color-sky);border-color:var(--color-sky);color:var(--color-static-white)}.project-link-cards{gap:var(--space-4);display:grid}.project-gallery{gap:8px;display:grid}.project-gallery__item,.project-link-card{position:relative}.project-gallery__item{background:0 0;gap:0;width:100%;display:grid}.project-gallery__preview-trigger{display:block}.project-gallery__tile{border-color:var(--color-line);background:var(--color-paper)}.project-gallery__tile-media{width:100%;height:auto}.project-gallery__media{width:100%;display:block}.project-gallery__placeholder{aspect-ratio:16/10;border:1px solid var(--color-line)}.project-link-card{gap:var(--space-4);background:0 0;border:0;grid-template-columns:minmax(0,1fr) minmax(14rem,18rem);padding:0;display:grid}.project-link-card__copy{align-content:start;gap:.18rem;display:grid}.project-link-card__copy h3{font-family:var(--font-body);font-size:var(--type-body);line-height:var(--leading-body);margin:0;font-weight:600}.project-link-card__button{width:fit-content;font-size:var(--type-body);line-height:var(--leading-body);background:0 0;border:0;border-radius:0;min-height:auto;margin-top:0;padding:0}.project-link-card__button:hover,.project-link-card__button:focus-visible{color:var(--color-sky);background:0 0;border-color:#0000;transform:none}.project-link-card__button .button-link__icon--arrow{font-size:1.35em}.project-link-card__media{background:0 0;width:100%;position:relative;overflow:hidden}.project-link-card__media--outlined{border:1px solid var(--color-line)}.project-link-card__image{object-fit:cover}.project-gallery__caption{gap:var(--space-1);padding:var(--space-3);display:grid}.project-gallery__caption strong{font-size:var(--type-heading-m);line-height:var(--leading-body)}.next-project{border:1px solid var(--color-line-strong);background:var(--color-paper);align-items:stretch;width:fit-content;margin:0 auto;display:flex}.next-project__label,.next-project__link{align-items:center;min-height:4.75rem;display:inline-flex}.next-project__label{border-right:1px solid var(--color-line-strong);color:var(--color-muted);padding:0 1.5rem}.next-project__link{font-family:var(--font-display);gap:.75rem;padding:0 1.75rem;font-size:clamp(1.15rem,2vw,1.5rem);transition:background-color .18s,color .18s}.next-project__link:hover,.next-project__link:focus-visible{background:var(--color-ink);color:var(--color-paper)}.portfolio-index__header{width:min(100%, var(--max-width-text-column));margin:0 auto}.tone-amber{color:#fff6ed;background:linear-gradient(135deg,#201813 0%,#7b4521 42%,#e0b37e 100%)}.tone-sky{color:#f6fbff;background:linear-gradient(135deg,#0c1c2d 0%,#345f83 44%,#b4d0e4 100%)}.tone-moss{color:#f4f8f3;background:linear-gradient(135deg,#16211f 0%,#4b6458 44%,#b2c3ac 100%)}.tone-plum{color:#fff7fc;background:linear-gradient(135deg,#251521 0%,#69405c 42%,#d5a6bf 100%)}.tone-graphite{color:#faf8f4;background:linear-gradient(135deg,#101010 0%,#464646 44%,#bdbdbd 100%)}.site-footer{padding-bottom:var(--space-7);background:0 0}.site-footer__desktop{display:block}.site-footer__mobile{display:none}.site-footer__art{margin:0 auto var(--space-6);pointer-events:none;container-type:inline-size}.footer-connect-title{width:100%;color:var(--color-ink);font-family:var(--font-display);letter-spacing:-.055em;white-space:nowrap;font-size:13.56cqi;font-weight:550;line-height:.84;display:block}:is(.site-frame:has(.page-shell--contacts)+.site-footer-actions+.site-footer .site-footer__art,.site-frame:has(.page-shell--contacts)+.site-footer-actions+.site-footer .site-footer__mobile-art){margin-bottom:0}:is(.site-frame:has(.page-shell--contacts)+.site-footer-actions+.site-footer .site-footer__grid,.site-frame:has(.page-shell--contacts)+.site-footer-actions+.site-footer .site-footer__mobile-sections){display:none}.site-footer__grid{z-index:1;gap:var(--space-5);grid-template-columns:repeat(5,minmax(0,1fr));align-items:start;display:grid;position:relative}.site-footer__group{gap:var(--space-3);display:grid}.site-footer__group h3{font-family:var(--font-display);font-size:var(--type-heading-m);line-height:var(--leading-body);color:var(--color-muted);font-weight:400}.site-footer__group .copy-email--footer{appearance:none;width:100%;min-height:0;color:var(--color-ink);font:inherit;line-height:inherit;letter-spacing:inherit;text-align:left;box-shadow:none;cursor:pointer;background:0 0;border:0;border-radius:0;justify-content:flex-start;margin:0;padding:0;display:block}.site-footer__group .copy-email--footer:hover,.site-footer__group .copy-email--footer:focus-visible{box-shadow:none;color:var(--color-sky);background:0 0;border-color:#0000;transform:none}.site-footer__mobile-art{margin:0 auto var(--space-6);pointer-events:none;container-type:inline-size}.site-footer__mobile-sections{display:grid}.site-footer__mobile-row{gap:var(--space-2);padding:var(--space-5) 0;border-top:1px solid var(--color-line);grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);align-items:start;display:grid}.site-footer__mobile-row:first-child{border-top:0}.site-footer__mobile-title{color:var(--color-muted);font-family:var(--font-display);font-size:var(--type-body);line-height:var(--leading-body);text-align:right;justify-self:end;font-weight:400}.site-footer__mobile-links{justify-items:start;gap:.85rem;display:grid}.site-footer__mobile-links a,.site-footer__mobile-links span,.site-footer__mobile-links .copy-email--footer-mobile{color:var(--color-ink);font-family:var(--font-body);font-size:var(--type-body);line-height:var(--leading-body);font-weight:400}.site-footer__mobile-links a{transition:color .18s}.site-footer__mobile-links a:hover,.site-footer__mobile-links a:focus-visible,.site-footer__mobile-links .copy-email--footer-mobile:hover,.site-footer__mobile-links .copy-email--footer-mobile:focus-visible{color:var(--color-sky)}.site-footer__mobile-links .copy-email--footer-mobile{letter-spacing:normal;text-align:left;min-height:0;box-shadow:none;cursor:pointer;background:0 0;border:0;border-radius:0;justify-content:flex-start;align-items:flex-start;margin:0;padding:0;display:inline-flex}.rate-form-page{gap:var(--space-4);width:100%;max-width:var(--max-width-text-column);margin:0 auto;display:grid}.rate-form-page__intro{max-width:none;padding-bottom:var(--space-2)}.rate-form{gap:0;display:grid}.rate-form-success{min-height:clamp(28rem,56vh,44rem);padding:clamp(var(--space-5), 5vw, var(--space-7));border:1px solid var(--color-line);background:color-mix(in srgb, var(--color-ink) 8%, var(--color-paper-strong));place-items:center;display:grid}.rate-form-success__inner{gap:var(--space-3);text-align:center;justify-items:center;width:min(100%,24rem);display:grid}.rate-form-success__inner h2{font-family:var(--font-display);font-size:var(--type-heading-l);line-height:var(--leading-heading);letter-spacing:normal;font-weight:400}.rate-form-success__inner p{color:var(--color-muted);font-size:1.125rem;line-height:1.5}.rate-form-success__action{min-height:3.25rem;margin-top:var(--space-2);border:1px solid var(--color-ink);background:var(--color-ink);color:var(--color-paper);justify-content:center;align-items:center;padding:.8rem 1.25rem;transition:opacity .14s,transform .18s;display:inline-flex}.rate-form-success__action:hover,.rate-form-success__action:focus-visible{opacity:.92;transform:translateY(-1px)}.rate-form__section{padding:var(--space-4) 0;border-top:1px solid var(--color-line)}.rate-form__grid{gap:var(--space-4);display:grid}.rate-form{--rate-form-border:#16151524;--rate-form-border-hover:#1615152e;--rate-form-checkbox-border:#1615153d;--rate-form-control-hover:color-mix(in srgb, var(--color-paper) 98%, var(--color-ink) 2%);--rate-form-option-hover:color-mix(in srgb, var(--color-paper) 95%, var(--color-ink) 5%)}.rate-form__grid--duo{grid-template-columns:repeat(2,minmax(0,1fr))}.rate-form__field,.rate-form__group{gap:var(--space-2);min-width:0;display:grid}.rate-form__group{gap:calc(var(--space-4) + .15rem);border:0}.rate-form__label{color:var(--color-amber);font-size:.95rem;line-height:var(--leading-body)}.rate-form__group .rate-form__label{margin-bottom:.75rem}.rate-form__select-wrap{align-items:center;display:flex;position:relative}.rate-form__field select,.rate-form__field textarea{border:1px solid var(--rate-form-border);background:var(--color-paper);width:100%;color:var(--color-ink);box-shadow:none;border-radius:0;outline:none;transition:border-color .14s,background-color .14s,color .14s}.rate-form__field select{appearance:none;align-items:center;min-height:3.2rem;padding:0 2.75rem 0 .95rem;display:flex}.rate-form__field textarea{min-height:8.5rem;padding:var(--space-3);resize:vertical}.rate-form__field select:hover,.rate-form__field textarea:hover{border-color:var(--rate-form-border-hover);background:var(--rate-form-control-hover)}.rate-form__field select:focus,.rate-form__field select:focus-visible,.rate-form__field textarea:focus,.rate-form__field textarea:focus-visible{box-shadow:none;border-color:var(--rate-form-border);outline:none}.rate-form__field textarea::placeholder,.rate-form__field select:invalid{color:var(--color-amber)}@supports (appearance:base-select){.rate-form__field select{appearance:base-select}.rate-form__field select::picker(select){appearance:base-select}.rate-form__field select::picker(select){border:1px solid var(--rate-form-border);background:var(--color-paper);color:var(--color-ink);box-shadow:none;border-top:0;border-radius:0}.rate-form__field select::picker-icon{display:none}.rate-form__field select option::checkmark{display:none}.rate-form__field select option{background:var(--color-paper);min-height:2.15rem;color:var(--color-ink);padding:.45rem .95rem}.rate-form__field select option:hover{background:var(--rate-form-option-hover);color:var(--color-ink)}.rate-form__field select option:focus,.rate-form__field select option:focus-visible,.rate-form__field select option:checked{background:var(--color-paper);color:var(--color-ink);box-shadow:none;outline:none}.rate-form__field select option:disabled{color:var(--color-amber)}}.rate-form__chevron{right:var(--space-3);pointer-events:none;color:var(--color-amber);font-size:1rem;line-height:1;position:absolute}.rate-form__checklist{gap:.9rem;display:grid}.rate-form__check{color:var(--color-ink);align-items:center;gap:.55rem;display:flex}.rate-form__check input{appearance:none;border:1px solid var(--rate-form-checkbox-border);width:1.1rem;height:1.1rem;box-shadow:none;background:0 0;border-radius:0;outline:none;flex:none;place-items:center;margin:0;transition:border-color .14s,background-color .14s;display:inline-grid}.rate-form__check:hover input,.rate-form__check input:hover{border-color:var(--rate-form-border-hover);background:var(--rate-form-control-hover)}.rate-form__check input:after{content:"";background:var(--color-ink);width:.5rem;height:.5rem;transition:transform .12s;transform:scale(0)}.rate-form__check input:checked:after{transform:scale(1)}.rate-form__check input:focus,.rate-form__check input:focus-visible{box-shadow:none;border-color:var(--rate-form-checkbox-border);outline:none}.rate-form__submit{width:100%;min-height:3.25rem;margin-top:var(--space-4);background:var(--color-ink);color:var(--color-paper);transition:opacity .14s,background-color .14s,color .14s}.rate-form__submit:hover{opacity:.92}.rate-form__submit:disabled{opacity:.65;cursor:wait}.rate-form__status{min-height:1.5rem;margin-top:var(--space-3);color:var(--color-muted)}.rate-form__status[data-status=success]{color:var(--color-ink)}.rate-form__status[data-status=error]{color:var(--color-amber)}.rate-form__trap{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}html[data-theme=dark] .rate-form{--rate-form-border:#f2f2ee14;--rate-form-border-hover:#f2f2ee1f;--rate-form-checkbox-border:#f2f2ee2e;--rate-form-control-hover:color-mix(in srgb, var(--color-paper) 97%, var(--color-ink) 3%);--rate-form-option-hover:color-mix(in srgb, var(--color-paper) 94%, var(--color-ink) 6%)}html[data-theme=dark] .rate-form-success{background:color-mix(in srgb, var(--color-paper) 92%, var(--color-static-white) 4%)}html[data-theme=dark] .rate-form-success__action{border-color:var(--color-static-white);background:var(--color-static-white);color:var(--color-static-ink)}.back-to-top{width:fit-content}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:960px){.hero,.page-section--dual,.feed-grid,.quote-grid{grid-template-columns:1fr}.hero{min-height:auto}.hero__poster{min-height:28rem}.featured-project__row{grid-template-columns:1fr auto;align-items:center}.featured-project__row--editorial{grid-template-columns:1fr;gap:.75rem}.featured-project__cover{min-height:23rem}.featured-project__cover--editorial{min-height:0}.featured-project__cursor-label,.site-footer__desktop{display:none}.site-footer__mobile{display:block}.site-header__inner{gap:.55rem}.site-header .site-header__inner--desktop{display:none!important}.site-header .site-header__inner--mobile{flex-direction:column;place-items:center;width:100%;display:flex!important}.site-header__mobile-topline{width:100%;font-family:var(--font-display);font-size:var(--type-heading-m);line-height:var(--leading-body);flex-wrap:nowrap;justify-content:center;align-items:center;gap:.42rem;display:flex}.site-header__inner--mobile .site-header__brand{justify-self:center}.site-header__inner--mobile .site-header__nav{flex-wrap:nowrap;justify-content:center;align-items:center;gap:.08rem}.site-header__inner--mobile .site-header__nav .nav-item{font-size:var(--type-heading-m);padding:.28rem .24rem;line-height:1}.site-header__inner--mobile .site-header__nav .nav-item__dot{margin-left:.02rem;transform:translate(.02rem,-.34rem)}.site-header__inner--mobile .site-header__meta{width:100%;font-family:var(--font-display);font-size:var(--type-heading-m);line-height:var(--leading-body);color:var(--color-muted);opacity:1;max-height:2rem;transform:translateX(calc(var(--space-2) * -1));flex-wrap:nowrap;justify-content:center;justify-self:center;gap:.72rem;transition:max-height .18s,opacity .18s,margin-top .18s;overflow:hidden}.site-header__inner--mobile .site-header__time{justify-content:flex-end;width:7.8ch}.site-header__inner--mobile .site-header__divider{color:#16151538}.site-header__inner--mobile .theme-toggle__icon{filter:none;transform:none}.site-header.is-condensed .site-header__inner--mobile .site-header__meta{opacity:0;pointer-events:none;max-height:0;margin-top:0}.site-header.is-condensed .site-header__inner--mobile{gap:0}.featured-projects__grid,.content-grid,.content-grid--mentorship,.feedback-list{grid-template-columns:1fr}.content-grid--channels>:first-child{grid-row:auto}.content-grid--channels .content-card--channel,.content-grid--channels>:first-child .content-card--channel{min-height:22rem}.content-card--channel-feed{min-height:auto}.featured-projects__grid--images,.images-gallery,.about-story{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-card--span-2,.gallery-card--span-3,.gallery-card--span-4,.gallery-card--span-6,.about-story-card--span-2,.about-story-card--span-3,.about-story-card--span-4,.about-story-card--span-6{grid-column:auto}.gallery-card__media-grid--trio,.gallery-card__media-grid--duo-feature{grid-template-columns:repeat(2,minmax(0,1fr))}.rate-form__grid--duo{grid-template-columns:1fr}.home-hero__mobile-hidden{display:none!important}}@media (max-width:1100px){.page-shell--home:not(.project-page) .home-hero__mobile-hidden{display:none!important}}@media (max-width:720px){.intro-page__topbar{isolation:isolate;padding:var(--space-2);opacity:1;filter:none;will-change:auto;grid-template-columns:1fr auto;grid-template-areas:"nav controls";row-gap:0;animation:none;display:grid;left:0;right:0;transform:none}.intro-page__topbar:before{content:"";inset:0 0 calc(-1 * var(--size-intro-mobile-header-fade));z-index:-1;pointer-events:none;background:var(--gradient-intro-mobile-header);opacity:0;transition:opacity var(--duration-contact-header) ease;position:absolute}.intro-page__topbar.is-past-color:before{opacity:1}.intro-page__topbar:has(.contact-header-menu.is-open):before{opacity:1}html[data-theme=light] .intro-page__topbar:has(.contact-header-menu.is-open){--color-intro-header-ink:var(--color-ink);--color-intro-header-muted:var(--color-muted)}.intro-page__nav:has(.contact-header-menu){grid-column:1/-1;grid-template-columns:max-content 1fr;grid-template-rows:var(--space-4) auto;column-gap:var(--space-2);transition:row-gap var(--duration-contact-header) ease;row-gap:0;display:grid}.intro-page__nav:has(.contact-header-menu.is-open){row-gap:var(--space-2)}.intro-page__nav:has(.contact-header-menu)>.nav-item{justify-self:start}.intro-page__nav:has(.contact-header-menu)>.contact-entry>.nav-item{justify-self:start}.intro-page__topbar:has(.contact-header-menu) .intro-page__controls{align-self:start}.contact-header-menu{opacity:0;visibility:hidden;transition:grid-template-rows var(--duration-contact-header) ease, opacity var(--duration-contact-header) ease, visibility 0s var(--duration-contact-header);grid-column:2/-1;grid-template-rows:0fr;display:grid}.contact-header-menu.is-open{opacity:1;visibility:visible;grid-template-rows:1fr;transition-delay:0s}.contact-header-menu>.contact-sheet__links{min-height:0;overflow:hidden}.contact-header-menu .contact-sheet__links>a,.contact-header-menu .contact-sheet__links>.copy-email--contact-sheet{padding-block:var(--space-contact-header-link)}.intro-page__meta{right:var(--space-2);bottom:calc(var(--space-4) + env(safe-area-inset-bottom,0px));left:var(--space-2);opacity:1;visibility:visible;max-height:var(--space-4);transition:max-height var(--duration-intro-reveal) ease, opacity var(--duration-intro-reveal) ease, visibility var(--duration-intro-reveal) ease;justify-content:flex-start;position:fixed;overflow:hidden}.intro-page__topbar.is-condensed{row-gap:0}.intro-page__topbar.is-condensed .intro-page__meta{opacity:0;visibility:hidden;pointer-events:none;max-height:0}.intro-page__nav{min-height:var(--space-4);grid-area:nav}.intro-page__meta{gap:var(--space-1);grid-area:auto;margin-left:0}.intro-page__meta .local-meta__time{margin-left:auto}.intro-page__controls{grid-area:controls}.intro-page__principle{white-space:nowrap}.intro-page__hero{min-height:100svh;padding:var(--space-6) var(--space-2);place-items:center}.intro-page__content{width:100%;max-width:var(--max-width-intro)}.intro-index{width:auto;margin-inline:var(--space-2);gap:calc(var(--space-7) / 2);padding-top:var(--space-6);padding-bottom:calc(var(--size-intro-cta-expanded-height) + var(--space-2) + var(--space-intro-cta-expand-trigger) + var(--space-2) + env(safe-area-inset-bottom,0px))}.intro-index__item:hover,.intro-index__item--dot-hover:hover{color:var(--color-ink)}.intro-index__item:hover .intro-index__item-detail,.intro-index__item:hover .intro-index__item-period{color:var(--color-muted)}.intro-index__item--dot-hover:hover:before{opacity:0;transform:scale(.5)}.hover-dot-list__dot{display:none}.intro-page__scroll-cta.button-link{right:var(--space-2);bottom:calc(var(--space-2) + env(safe-area-inset-bottom,0px));width:var(--scroll-cta-compact-width,auto);max-width:calc(100% - (var(--space-2) * 2));transition:width var(--duration-intro-cta-expand) var(--easing-soft-reveal), min-height var(--duration-intro-cta-expand) var(--easing-soft-reveal), opacity var(--duration-intro-reveal) ease, visibility var(--duration-intro-reveal) ease, filter var(--duration-intro-reveal) ease, transform var(--duration-intro-reveal) ease}.intro-page__scroll-cta.button-link>span{flex-shrink:0}.intro-page__scroll-cta.button-link.is-expanded{width:calc(100% - (var(--space-2) * 2));min-height:var(--size-intro-cta-expanded-height)}.contact-sheet[open]{place-items:end stretch;padding:0}.contact-sheet__panel{padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom,0px));border-radius:var(--radius-soft) var(--radius-soft) 0 0}.page-shell{padding-inline:var(--space-3);padding-top:calc(8.5rem + var(--space-4))}.page-shell--home:not(.project-page){padding-top:100px}.page-shell--text-grid{width:100%}.hero__title,.page-title,.project-hero__title{font-size:clamp(3rem,17vw,5rem)}.stack-list__item,.project-links__item{grid-template-columns:1fr}.project-link-card{align-items:start;gap:var(--space-3);grid-template-columns:minmax(0,1fr) minmax(8.75rem,42vw)}.project-intro__identity{flex-direction:row;align-items:flex-start}.project-hero__cover{aspect-ratio:393/196;min-height:0}.project-sticky-actions{left:var(--space-3);right:var(--space-3);bottom:calc(var(--space-3) + env(safe-area-inset-bottom,0px));width:auto;transform:none}.project-sticky-actions__inner{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.project-sticky-actions__button{width:100%;min-width:0;min-height:3.25rem;padding:.85rem 1rem}.project-sticky-actions__button:first-child{min-width:0}.project-sticky-actions__button--next{justify-content:center;min-width:0}.next-project{flex-direction:column;width:100%;max-width:100%}.next-project__label{border-right:0;border-bottom:1px solid var(--color-line-strong);min-height:auto;padding:1rem 1.25rem}.next-project__link{justify-content:space-between;padding:1.15rem 1.25rem}.home-hero{gap:1.35rem;min-height:auto;padding-top:2.25rem}.home-hero__portrait{width:min(var(--portrait-size), calc(100vw - (var(--space-3) * 2)));height:min(var(--portrait-size), calc(100vw - (var(--space-3) * 2)))}.home-hero__links{justify-content:center;gap:.8rem 1.5rem}.home-hero__summary{gap:0;display:block}.home-hero__summary--desktop{display:none}.home-hero__summary--mobile{width:min(100%, var(--max-width-home-summary-mobile));margin-inline:auto;display:block}.home-hero__summary-block,.home-hero__summary-line{display:block}.home-hero__tabs{width:auto;max-width:100%}.segmented-tabs{width:min(100%,30rem);margin-inline:auto;padding:.34rem}.segmented-tabs__indicator{width:calc((100% - .68rem) / var(--segment-count));top:.34rem;bottom:.34rem;left:.34rem}.segmented-tabs__button{padding:.42rem 1rem}.site-footer{padding-bottom:var(--space-6)}.site-footer__mobile-art{margin-bottom:var(--space-5)}.site-footer__mobile-row{grid-template-columns:minmax(0,.95fr) minmax(0,1.25fr);gap:1rem;padding:2rem 0}.about-story{gap:var(--space-4);grid-template-columns:1fr}.about-story-card{grid-column:auto!important}.about-story-card__copy{max-width:none}.images-gallery,.featured-projects__grid--images{grid-template-columns:1fr}.section-heading,.section-heading__aside{align-items:center}.section-heading__aside{gap:1rem}.section-heading--images,.section-heading__aside--images,.section-heading__aside--images .toggle-switch{align-items:center}.section-heading__aside--images .toggle-switch{font-size:var(--type-heading-l);line-height:var(--leading-heading);gap:0!important}.section-heading__aside--images .toggle-switch__label,.section-heading__aside--images .toggle-switch__control{align-self:center;line-height:1}.section-heading__aside--images .toggle-switch__label{font-size:inherit;line-height:inherit;margin-right:16px;font-weight:500}.section-heading__aside--images .toggle-switch__control{margin-left:0;padding-top:0;transform:translateY(-.04rem)}.toggle-switch{font-size:var(--type-heading-m);line-height:var(--leading-body);gap:.85rem}.toggle-switch__track{width:2.55rem;min-width:2.55rem;height:1.42rem}.toggle-switch__thumb{width:.98rem;height:.98rem}.toggle-switch[aria-checked=true] .toggle-switch__thumb{transform:translate(1rem)}.about-story,.gallery-card__media-grid--duo,.gallery-card__media-grid--trio,.gallery-card__media-grid--duo-feature{grid-template-columns:1fr}.featured-project__meta{align-items:flex-start}.featured-project__meta-head{grid-template-columns:minmax(0,1fr) auto}.featured-project__meta-head .featured-project__logo{grid-area:1/2;margin-left:.6rem;margin-right:0}.featured-project__meta-head>div{grid-area:1/1}.featured-project__body{gap:0}.featured-project__meta h3{font-size:var(--type-heading-m);line-height:var(--leading-body)}.featured-project__meta p{font-size:var(--type-body);line-height:var(--leading-body)}.featured-project__description{text-wrap:pretty}.content-card--mentorship{min-height:22.5rem}.career-path{gap:0}.career-path__item{grid-template-columns:4.5rem minmax(0,1fr);align-items:start;gap:1.15rem;padding:1.5rem 0}.career-path__logo{grid-area:1/1;width:4.5rem}.career-path__meta{grid-area:1/2;gap:1rem}.career-path__meta div{grid-template-columns:1fr;gap:.2rem}.career-path__meta span,.career-path__meta strong{font-size:var(--type-heading-m);line-height:var(--leading-body)}.career-path__meta div:first-child strong{font-size:var(--type-heading-m)}.career-path__actions{flex-direction:column;align-items:center}.feed-posts{--feed-group-gap:var(--space-6)}.feed-posts__groups{gap:var(--feed-group-gap)}.feed-posts__group{gap:var(--space-3)}.feed-posts__entries{gap:var(--space-6)}.feed-entry__title,.feed-entry__date,.feed-entry__link{font-size:1.3rem}.feed-entry__copy p,.feed-entry__copy li{font-size:1.05rem}.feed-entry--preview .feed-entry__title,.feed-entry--preview .feed-entry__date,.feed-entry--preview .feed-entry__link,.feed-entry--preview .feed-entry__copy p,.feed-entry--preview .feed-entry__copy li{font-size:var(--type-body)}.feed-entry__media-grid--full{grid-template-columns:1fr}.feed-entry__media--gallery,.feed-entry--full .feed-entry__media--gallery{min-height:0}.grouped-link-list--feed a{padding:1rem 0}.grouped-link-list__meta{gap:.8rem}.rate-form-page .page-title{font-size:2.4rem}.rate-form__section{padding:var(--space-3) 0}.rate-form__field select{min-height:3.5rem}.rate-form-success{min-height:26rem;padding:var(--space-5) var(--space-3)}.rate-form-success__inner h2{font-size:var(--type-heading-l)}.rate-form-success__inner p{font-size:1rem}}@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}.site-header__inner,.intro-index__section>.section-heading,.intro-index__item,.intro-page__topbar,.intro-page__name,.intro-page__bio,.intro-page__actions,.page-shell--home:not(.project-page) .home-hero__portrait-block,.page-shell--home:not(.project-page) .home-hero__copy,.page-shell--home:not(.project-page) .home-hero__links,.page-shell--home:not(.project-page) .home-hero__tabs,.page-shell--home:not(.project-page) .page-section--initial-reveal,.page-shell--contacts .home-hero__portrait-block,.page-shell--contacts .home-hero__copy,.page-shell--contacts .contacts-directory,.page-shell--rate-form .rate-form-page__intro,.page-shell--rate-form .rate-form,.page-shell--feed .feed-posts__promo-header,.page-shell--feed .feed-posts__promo,.page-shell--feed .feed-posts__entries,.page-shell--feed .feed-posts__archive{will-change:auto;opacity:1!important;filter:none!important;transform:none!important}}
