:root,:host{--fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free";--fa-font-regular: normal 400 1em/1 "Font Awesome 6 Free";--fa-font-light: normal 300 1em/1 "Font Awesome 6 Pro";--fa-font-thin: normal 100 1em/1 "Font Awesome 6 Pro";--fa-font-duotone: normal 900 1em/1 "Font Awesome 6 Duotone";--fa-font-duotone-regular: normal 400 1em/1 "Font Awesome 6 Duotone";--fa-font-duotone-light: normal 300 1em/1 "Font Awesome 6 Duotone";--fa-font-duotone-thin: normal 100 1em/1 "Font Awesome 6 Duotone";--fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands";--fa-font-sharp-solid: normal 900 1em/1 "Font Awesome 6 Sharp";--fa-font-sharp-regular: normal 400 1em/1 "Font Awesome 6 Sharp";--fa-font-sharp-light: normal 300 1em/1 "Font Awesome 6 Sharp";--fa-font-sharp-thin: normal 100 1em/1 "Font Awesome 6 Sharp";--fa-font-sharp-duotone-solid: normal 900 1em/1 "Font Awesome 6 Sharp Duotone";--fa-font-sharp-duotone-regular: normal 400 1em/1 "Font Awesome 6 Sharp Duotone";--fa-font-sharp-duotone-light: normal 300 1em/1 "Font Awesome 6 Sharp Duotone";--fa-font-sharp-duotone-thin: normal 100 1em/1 "Font Awesome 6 Sharp Duotone"}svg.svg-inline--fa:not(:root),svg.svg-inline--fa:not(:host){overflow:visible;box-sizing:content-box}.svg-inline--fa{display:var(--fa-display, inline-block);height:1em;overflow:visible;vertical-align:-.125em}.svg-inline--fa.fa-2xs{vertical-align:.1em}.svg-inline--fa.fa-xs{vertical-align:0em}.svg-inline--fa.fa-sm{vertical-align:-.07143em}.svg-inline--fa.fa-lg{vertical-align:-.2em}.svg-inline--fa.fa-xl{vertical-align:-.25em}.svg-inline--fa.fa-2xl{vertical-align:-.3125em}.svg-inline--fa.fa-pull-left{margin-right:var(--fa-pull-margin, .3em);width:auto}.svg-inline--fa.fa-pull-right{margin-left:var(--fa-pull-margin, .3em);width:auto}.svg-inline--fa.fa-li{width:var(--fa-li-width, 2em);top:.25em}.svg-inline--fa.fa-fw{width:var(--fa-fw-width, 1.25em)}.fa-layers svg.svg-inline--fa{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0}.fa-layers-counter,.fa-layers-text{display:inline-block;position:absolute;text-align:center}.fa-layers{display:inline-block;height:1em;position:relative;text-align:center;vertical-align:-.125em;width:1em}.fa-layers svg.svg-inline--fa{transform-origin:center center}.fa-layers-text{left:50%;top:50%;transform:translate(-50%,-50%);transform-origin:center center}.fa-layers-counter{background-color:var(--fa-counter-background-color, #ff253a);border-radius:var(--fa-counter-border-radius, 1em);box-sizing:border-box;color:var(--fa-inverse, #fff);line-height:var(--fa-counter-line-height, 1);max-width:var(--fa-counter-max-width, 5em);min-width:var(--fa-counter-min-width, 1.5em);overflow:hidden;padding:var(--fa-counter-padding, .25em .5em);right:var(--fa-right, 0);text-overflow:ellipsis;top:var(--fa-top, 0);transform:scale(var(--fa-counter-scale, .25));transform-origin:top right}.fa-layers-bottom-right{bottom:var(--fa-bottom, 0);right:var(--fa-right, 0);top:auto;transform:scale(var(--fa-layers-scale, .25));transform-origin:bottom right}.fa-layers-bottom-left{bottom:var(--fa-bottom, 0);left:var(--fa-left, 0);right:auto;top:auto;transform:scale(var(--fa-layers-scale, .25));transform-origin:bottom left}.fa-layers-top-right{top:var(--fa-top, 0);right:var(--fa-right, 0);transform:scale(var(--fa-layers-scale, .25));transform-origin:top right}.fa-layers-top-left{left:var(--fa-left, 0);right:auto;top:var(--fa-top, 0);transform:scale(var(--fa-layers-scale, .25));transform-origin:top left}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin, 2.5em);padding-left:0}.fa-ul>li{position:relative}.fa-li{left:calc(-1 * var(--fa-li-width, 2em));position:absolute;text-align:center;width:var(--fa-li-width, 2em);line-height:inherit}.fa-border{border-color:var(--fa-border-color, #eee);border-radius:var(--fa-border-radius, .1em);border-style:var(--fa-border-style, solid);border-width:var(--fa-border-width, .08em);padding:var(--fa-border-padding, .2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin, .3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin, .3em)}.fa-beat{animation-name:fa-beat;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, ease-in-out)}.fa-bounce{animation-name:fa-bounce;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, cubic-bezier(.28, .84, .42, 1))}.fa-fade{animation-name:fa-fade;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, cubic-bezier(.4, 0, .6, 1))}.fa-beat-fade{animation-name:fa-beat-fade;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, cubic-bezier(.4, 0, .6, 1))}.fa-flip{animation-name:fa-flip;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, ease-in-out)}.fa-shake{animation-name:fa-shake;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, linear)}.fa-spin{animation-name:fa-spin;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 2s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, linear)}.fa-spin-reverse{--fa-animation-direction: reverse}.fa-pulse,.fa-spin-pulse{animation-name:fa-spin;animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, steps(8))}@media (prefers-reduced-motion: reduce){.fa-beat,.fa-bounce,.fa-fade,.fa-beat-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{animation-delay:-1ms;animation-duration:1ms;animation-iteration-count:1;transition-delay:0s;transition-duration:0s}}@keyframes fa-beat{0%,90%{transform:scale(1)}45%{transform:scale(var(--fa-beat-scale, 1.25))}}@keyframes fa-bounce{0%{transform:scale(1) translateY(0)}10%{transform:scale(var(--fa-bounce-start-scale-x, 1.1),var(--fa-bounce-start-scale-y, .9)) translateY(0)}30%{transform:scale(var(--fa-bounce-jump-scale-x, .9),var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -.5em))}50%{transform:scale(var(--fa-bounce-land-scale-x, 1.05),var(--fa-bounce-land-scale-y, .95)) translateY(0)}57%{transform:scale(1) translateY(var(--fa-bounce-rebound, -.125em))}64%{transform:scale(1) translateY(0)}to{transform:scale(1) translateY(0)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity, .4)}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity, .4);transform:scale(1)}50%{opacity:1;transform:scale(var(--fa-beat-fade-scale, 1.125))}}@keyframes fa-flip{50%{transform:rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),var(--fa-flip-angle, -180deg))}}@keyframes fa-shake{0%{transform:rotate(-15deg)}4%{transform:rotate(15deg)}8%,24%{transform:rotate(-18deg)}12%,28%{transform:rotate(18deg)}16%{transform:rotate(-22deg)}20%{transform:rotate(22deg)}32%{transform:rotate(-12deg)}36%{transform:rotate(12deg)}40%,to{transform:rotate(0)}}@keyframes fa-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fa-rotate-90{transform:rotate(90deg)}.fa-rotate-180{transform:rotate(180deg)}.fa-rotate-270{transform:rotate(270deg)}.fa-flip-horizontal{transform:scaleX(-1)}.fa-flip-vertical{transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1)}.fa-rotate-by{transform:rotate(var(--fa-rotate-angle, 0))}.fa-stack{display:inline-block;vertical-align:middle;height:2em;position:relative;width:2.5em}.fa-stack-1x,.fa-stack-2x{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0;z-index:var(--fa-stack-z-index, auto)}.svg-inline--fa.fa-stack-1x{height:1em;width:1.25em}.svg-inline--fa.fa-stack-2x{height:2em;width:2.5em}.fa-inverse{color:var(--fa-inverse, #fff)}.sr-only,.fa-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.sr-only-focusable:not(:focus),.fa-sr-only-focusable:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.svg-inline--fa .fa-primary{fill:var(--fa-primary-color, currentColor);opacity:var(--fa-primary-opacity, 1)}.svg-inline--fa .fa-secondary{fill:var(--fa-secondary-color, currentColor);opacity:var(--fa-secondary-opacity, .4)}.svg-inline--fa.fa-swap-opacity .fa-primary{opacity:var(--fa-secondary-opacity, .4)}.svg-inline--fa.fa-swap-opacity .fa-secondary{opacity:var(--fa-primary-opacity, 1)}.svg-inline--fa mask .fa-primary,.svg-inline--fa mask .fa-secondary{fill:#000}.nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:var(--space-6) var(--page-gutter);transition:padding var(--duration-standard) var(--ease-out),background var(--duration-standard) var(--ease-out),box-shadow var(--duration-standard) var(--ease-out)}.nav.is-scrolled{padding-top:var(--space-3);padding-bottom:var(--space-3);background:#f4f1ebf0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--color-border)}.nav__logo{font-family:var(--font-display);font-size:18px;font-weight:400;letter-spacing:var(--tracking-snug);color:var(--color-text);transition:color var(--duration-standard) var(--ease-out);z-index:210}.nav__links{display:flex;align-items:center;gap:var(--space-7)}.nav__link{font-family:var(--font-body);font-size:var(--text-body-sm);font-weight:400;color:var(--color-text);position:relative;transition:color var(--duration-fast) var(--ease-out);padding-bottom:2px}.nav__link:after{content:"";position:absolute;left:0;bottom:-1px;height:1px;width:0;background:currentColor;transition:width var(--duration-fast) var(--ease-out)}.nav__link:hover:after{width:100%}.nav__link.is-active{color:var(--color-accent)}.nav__link.is-active:after{width:100%;background:var(--color-accent)}.nav.is-light:not(.is-scrolled) .nav__logo,.nav.is-light:not(.is-scrolled) .nav__link{color:var(--color-text-invert)}.nav.is-light:not(.is-scrolled) .nav__link.is-active{color:var(--color-text-invert)}.nav.is-light:not(.is-scrolled) .nav__burger{color:var(--color-text-invert)}.nav__burger{display:none;font-size:20px;color:var(--color-text);z-index:210}@media (max-width: 767px){.nav__links{display:none}.nav__burger{display:inline-flex}}.mobile-menu{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-bg);z-index:205;display:flex;flex-direction:column;justify-content:center;gap:var(--space-5);padding:var(--page-gutter);opacity:0;transform:translateY(-16px);pointer-events:none;transition:opacity var(--duration-standard) var(--ease-out),transform var(--duration-standard) var(--ease-out)}.mobile-menu.is-open{opacity:1;transform:translateY(0);pointer-events:auto}.mobile-menu__close{position:absolute;top:var(--space-5);right:var(--page-gutter);display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--text-mono);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-text-muted);transition:color var(--duration-fast) var(--ease-out)}.mobile-menu__close:hover{color:var(--color-accent)}.mobile-menu__link{font-family:var(--font-display);font-weight:300;font-size:var(--text-display-sm);color:var(--color-text);letter-spacing:var(--tracking-snug)}.mobile-menu__link.is-active{color:var(--color-accent)}.mobile-menu__meta{margin-top:var(--space-7);font-family:var(--font-mono);font-size:var(--text-mono);letter-spacing:var(--tracking-wide);color:var(--color-text-faint)}.footer{border-top:1px solid var(--color-border);padding:var(--space-7) 0;background:var(--color-bg)}.footer__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);flex-wrap:wrap}.footer__name,.footer__copy{font-family:var(--font-mono);font-size:var(--text-mono-sm);letter-spacing:var(--tracking-wide);color:var(--color-text-muted);text-transform:uppercase}.footer__links{display:flex;gap:var(--space-6)}.footer__links a{font-family:var(--font-mono);font-size:var(--text-mono-sm);letter-spacing:var(--tracking-wide);color:var(--color-text-muted);text-transform:uppercase;transition:color var(--duration-fast) var(--ease-out)}.footer__links a:hover{color:var(--color-accent)}@media (max-width: 640px){.footer__inner{flex-direction:column;align-items:flex-start;gap:var(--space-4)}}.hero{min-height:100svh;display:flex;align-items:center;padding-top:var(--space-10);padding-bottom:var(--space-8)}.hero__grid{display:grid;gap:var(--space-8);width:100%;align-items:center}@media (min-width: 1024px){.hero__grid{grid-template-columns:5fr 6fr;gap:var(--space-9)}}.hero__name{font-family:var(--font-display);font-weight:300;font-size:var(--text-display-xl);line-height:.96;letter-spacing:var(--tracking-tight);text-transform:uppercase;color:var(--color-text)}.hero__name .mask{line-height:.96}.hero__tagline{font-family:var(--font-body);font-weight:300;font-style:italic;font-size:var(--text-h3);color:var(--color-text);margin-top:var(--space-6)}.hero__discipline{font-family:var(--font-mono);font-size:var(--text-mono);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-text-muted);margin-top:var(--space-4)}.hero__scroll{margin-top:var(--space-8);display:inline-flex;align-items:center;gap:var(--space-3);font-family:var(--font-mono);font-size:var(--text-mono-sm);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-text-faint)}.hero__scroll .chev{animation:bounce 2s var(--ease-in-out) infinite}.hero__media{width:100%}@media (min-width: 1024px){.hero__media{justify-self:end;max-width:460px}}.intro__divider{width:var(--width-narrow);max-width:100%;margin:0 auto var(--space-8)}.featured__title{font-family:var(--font-display);font-weight:400;font-size:var(--text-display-sm);letter-spacing:var(--tracking-snug);color:var(--color-text-invert);margin-top:var(--space-6)}.featured__subtitle{font-family:var(--font-body);font-size:var(--text-body-lg);color:#f4f1ebc7;margin-top:var(--space-3);max-width:540px}.featured__meta{font-family:var(--font-mono);font-size:var(--text-mono);letter-spacing:var(--tracking-wide);color:var(--color-text-faint);margin-top:var(--space-5)}.card{display:block;background:var(--color-surface);border:1px solid var(--color-border);overflow:hidden}.card-lift{transition:transform var(--duration-standard) var(--ease-out),box-shadow var(--duration-standard) var(--ease-out),border-color var(--duration-standard) var(--ease-out)}.card-lift:hover{transform:translateY(-4px);box-shadow:0 12px 40px var(--color-shadow-deep);border-color:var(--color-accent-pale)}.card__media .figure{margin:0}.card__media .figure__frame{box-shadow:none}.card__body{padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-3)}.card--featured .card__body{padding:var(--space-7)}.card__meta{font-family:var(--font-mono);font-size:var(--text-mono);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-text-muted)}.card__title{font-family:var(--font-display);font-weight:500;font-size:var(--text-h3);letter-spacing:var(--tracking-snug);color:var(--color-text);transition:color var(--duration-standard) var(--ease-out)}.card--featured .card__title{font-size:var(--text-display-sm);font-weight:400}.card:hover .card__title{color:var(--color-accent)}.card__subtitle{font-family:var(--font-body);font-size:var(--text-body-sm);color:var(--color-text-muted);line-height:var(--leading-normal)}.card--featured .card__subtitle{font-size:var(--text-body-lg);max-width:560px}.card__tags,.card__cta{margin-top:var(--space-2)}.work-grid__featured{margin-bottom:var(--space-7)}.work-grid{display:grid;gap:var(--space-7)}@media (min-width: 768px){.work-grid{grid-template-columns:1fr 1fr}}.bm-hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;background:var(--color-bg-dark)}.bm-hero__bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.bm-hero__bg .figure,.bm-hero__bg .figure__frame{margin:0;height:100%;width:100%;aspect-ratio:auto!important;box-shadow:none}.bm-hero__bg .figure__frame{position:absolute;top:0;right:0;bottom:0;left:0}.bm-hero__overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:linear-gradient(to bottom,#0e1b1f40,#0e1b1f00 35%,#0e1b1fd1)}.bm-hero__content{position:relative;z-index:2;width:100%;padding-bottom:var(--space-9);padding-top:var(--space-10)}.bm-hero__title{font-family:var(--font-display);font-weight:300;font-size:var(--text-display);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--color-text-invert)}.bm-hero__subtitle{font-family:var(--font-body);font-style:italic;font-weight:300;font-size:var(--text-h3);color:#f4f1ebe6;margin-top:var(--space-4);max-width:620px}.bm-hero__meta{font-family:var(--font-mono);font-size:var(--text-mono);letter-spacing:var(--tracking-wide);color:#f4f1eb9e;margin-top:var(--space-6);line-height:var(--leading-snug)}.section-dark .case-heading{color:var(--color-text-invert)}.case-caption-block{margin-top:var(--space-3)}.module{display:grid;grid-template-columns:1.6fr .7fr 2.4fr;gap:var(--space-5);padding:var(--space-5) 0;border-top:1px solid var(--color-border);align-items:baseline}.module:last-child{border-bottom:1px solid var(--color-border)}.module__name{font-family:var(--font-display);font-weight:500;font-size:var(--text-h3);color:var(--color-text)}.module__vol{font-family:var(--font-display);font-weight:600;font-size:var(--text-h3);color:var(--color-warm);font-variant-numeric:tabular-nums}.module__desc{font-family:var(--font-body);font-size:var(--text-body-sm);color:var(--color-text-muted)}@media (max-width: 640px){.module{grid-template-columns:1fr auto;gap:var(--space-2) var(--space-4)}.module__desc{grid-column:1 / -1}}.about-intro{display:grid;gap:var(--space-8);align-items:start}@media (min-width: 1024px){.about-intro{grid-template-columns:5fr 7fr;gap:var(--space-9)}}.about-intro__photo{max-width:420px}.about-intro__name{font-family:var(--font-display);font-weight:300;font-size:var(--text-display-sm);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight)}.about-intro__role{font-family:var(--font-body);font-size:var(--text-body-lg);color:var(--color-text-muted);margin-top:var(--space-5);max-width:30em}.statement-quote{border-left:2px solid var(--color-accent);padding-left:var(--space-6);margin-top:var(--space-8)}.edu-row{display:grid;grid-template-columns:1fr auto;gap:var(--space-4);align-items:baseline;padding:var(--space-6) 0;border-top:1px solid var(--color-border)}.edu-row:last-child{border-bottom:1px solid var(--color-border)}.edu-row__degree{font-family:var(--font-display);font-weight:500;font-size:var(--text-h3);color:var(--color-text)}.edu-row__inst{font-family:var(--font-body);font-size:var(--text-body-sm);color:var(--color-text-muted);margin-top:var(--space-2)}.edu-row__thesis{font-family:var(--font-body);font-style:italic;font-size:var(--text-body-sm);color:var(--color-text-muted);margin-top:var(--space-2)}.edu-row__year{font-family:var(--font-mono);font-size:var(--text-mono);letter-spacing:var(--tracking-wide);color:var(--color-text-muted);white-space:nowrap}.timeline-item{display:grid;grid-template-columns:90px 1fr;gap:var(--space-6);padding:var(--space-5) 0;border-top:1px solid var(--color-border);align-items:start}.timeline-item__year{font-family:var(--font-display);font-weight:500;font-size:var(--text-h3);color:var(--color-accent)}.timeline-item__materials{font-family:var(--font-body);font-size:var(--text-body);color:var(--color-text-muted);line-height:var(--leading-normal)}@media (max-width: 640px){.edu-row{grid-template-columns:1fr}.timeline-item{grid-template-columns:64px 1fr;gap:var(--space-4)}}.collab-grid{display:grid;gap:var(--space-5) var(--space-7)}@media (min-width: 768px){.collab-grid{grid-template-columns:1fr 1fr}}.collab__name{font-family:var(--font-body);font-weight:600;color:var(--color-text)}.collab__role{color:var(--color-text-muted)}:root{--color-bg: #F4F1EB;--color-bg-warm: #EDE7D9;--color-bg-dark: #0E1B1F;--color-bg-dark-2: #152428;--color-text: #1A1815;--color-text-muted: #6B6357;--color-text-faint: #A89E94;--color-text-invert: #F4F1EB;--color-accent: #2E6B5E;--color-accent-hover: #3E8A7A;--color-accent-dim: #1E4A41;--color-accent-pale: #C2DDD8;--color-warm: #C4956A;--color-warm-light: #E8D0B0;--color-warm-dark: #8A5E38;--color-border: #D4CFC5;--color-border-dark: #2A3A3F;--color-surface: #FFFFFF;--color-shadow: rgba(26, 24, 21, .08);--color-shadow-deep: rgba(26, 24, 21, .18);--font-display: "Fraunces", Georgia, "Times New Roman", serif;--font-body: "Source Serif 4", Georgia, serif;--font-mono: "DM Mono", "SFMono-Regular", Menlo, monospace;--text-display-xl: clamp(64px, 9vw, 120px);--text-display: clamp(48px, 6vw, 80px);--text-display-sm: clamp(32px, 4vw, 56px);--text-h1: clamp(28px, 3.5vw, 42px);--text-h2: clamp(22px, 2.5vw, 32px);--text-h3: clamp(18px, 2vw, 24px);--text-body-lg: 18px;--text-body: 17px;--text-body-sm: 15px;--text-mono-sm: 12px;--text-mono: 13px;--text-mono-md: 14px;--leading-tight: 1.15;--leading-snug: 1.35;--leading-normal: 1.65;--leading-relaxed: 1.8;--tracking-tight: -.03em;--tracking-snug: -.01em;--tracking-normal: 0em;--tracking-wide: .08em;--tracking-wider: .14em;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--space-9: 96px;--space-10: 128px;--space-11: 160px;--space-12: 200px;--width-site: 1280px;--width-content: 1080px;--width-prose: 680px;--width-narrow: 520px;--page-gutter: clamp(20px, 5vw, 80px);--section-gap: clamp(80px, 12vw, 160px);--section-gap-sm: clamp(40px, 6vw, 80px);--ease-out: cubic-bezier(.25, 0, 0, 1);--ease-in-out: cubic-bezier(.45, 0, .15, 1);--ease-enter: cubic-bezier(0, 0, .2, 1);--ease-subtle: cubic-bezier(.4, 0, .6, 1);--duration-instant: .1s;--duration-fast: .2s;--duration-standard: .35s;--duration-enter: .6s;--duration-slow: .9s;--duration-drift: 1.2s}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--font-body);font-size:var(--text-body);font-weight:400;line-height:var(--leading-normal);color:var(--color-text);background:var(--color-bg);font-optical-sizing:auto}img,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}ul{list-style:none}::selection{background:var(--color-accent-pale);color:var(--color-accent-dim)}.grain:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1000;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-size:200px 200px}.page{min-height:100vh}.shell{width:100%;max-width:var(--width-content);margin:0 auto;padding-left:var(--page-gutter);padding-right:var(--page-gutter)}.shell--wide{max-width:var(--width-site)}.prose{max-width:var(--width-prose)}.prose--center{margin-left:auto;margin-right:auto}.narrow{max-width:var(--width-narrow)}.section{padding-top:var(--section-gap);padding-bottom:var(--section-gap)}.section--sm{padding-top:var(--section-gap-sm);padding-bottom:var(--section-gap-sm)}.section-default{background:var(--color-bg)}.section-warm{background:var(--color-bg-warm)}.section-teal{background:var(--color-accent-pale)}.section-amber{background:var(--color-warm-light)}.section-dark{background:var(--color-bg-dark);color:var(--color-text-invert)}.section-dark .eyebrow,.section-dark .img-caption{color:var(--color-text-faint)}.section-dark .body-text{color:#f4f1ebdb}.split{display:grid;gap:var(--space-8);align-items:center}@media (min-width: 1024px){.split--55-45{grid-template-columns:1.22fr 1fr}.split--45-55{grid-template-columns:1fr 1.22fr}.split--half{grid-template-columns:1fr 1fr}}.eyebrow{font-family:var(--font-mono);font-size:var(--text-mono);font-weight:400;letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-text-muted);display:block;margin-bottom:var(--space-4)}.display{font-family:var(--font-display);font-weight:300;line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}.heading{font-family:var(--font-display);font-weight:400;line-height:var(--leading-snug);letter-spacing:var(--tracking-snug)}.heading-lg{font-size:var(--text-display-sm)}.heading-h1{font-size:var(--text-h1)}.heading-h2{font-size:var(--text-h2)}.heading-h3{font-size:var(--text-h3)}.body-text{font-family:var(--font-body);font-size:var(--text-body-lg);line-height:var(--leading-relaxed);color:var(--color-text)}.body-text+.body-text{margin-top:var(--space-5)}.lede{font-family:var(--font-body);font-size:clamp(19px,2.2vw,24px);line-height:var(--leading-normal);color:var(--color-text)}.muted{color:var(--color-text-muted)}.italic-quote{font-family:var(--font-body);font-style:italic;font-weight:300;font-size:var(--text-body-lg);line-height:var(--leading-relaxed);color:var(--color-text-muted)}.link-underline{position:relative;display:inline-block}.link-underline:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:1px;background:var(--color-accent);transition:width var(--duration-fast) var(--ease-out)}.link-underline:hover:after{width:100%}.link-arrow{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-body);font-size:var(--text-body-sm);font-weight:500;color:var(--color-accent)}.link-arrow .arrow{display:inline-block;transition:transform var(--duration-fast) var(--ease-out)}.link-arrow:hover{color:var(--color-accent-hover)}.link-arrow:hover .arrow{transform:translate(5px)}.link-arrow:hover .arrow-back{transform:translate(-5px)}.section-dark .link-arrow{color:var(--color-accent-hover)}.btn{display:inline-flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-6);border:1px solid var(--color-text);font-family:var(--font-body);font-size:var(--text-body-sm);font-weight:500;color:var(--color-text);background:transparent;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.btn:hover{background:var(--color-text);color:var(--color-bg)}.tag-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.tag{display:inline-block;padding:var(--space-1) var(--space-4);border:1px solid var(--color-border);border-radius:2px;font-family:var(--font-mono);font-size:var(--text-mono);font-weight:400;letter-spacing:var(--tracking-wide);color:var(--color-text-muted);background:transparent;text-transform:lowercase}.tag--accent{border-color:var(--color-accent-pale);color:var(--color-accent-dim);background:var(--color-accent-pale)}.section-dark .tag{border-color:var(--color-border-dark);color:var(--color-text-faint)}.stat{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-6) 0;border-top:1px solid var(--color-border)}.section-dark .stat{border-top-color:var(--color-border-dark)}.stat__number{font-family:var(--font-display);font-size:var(--text-display-sm);font-weight:600;font-variant-numeric:tabular-nums;line-height:var(--leading-tight);color:var(--color-warm)}.stat__number--accent{color:var(--color-accent)}.section-dark .stat__number--accent{color:var(--color-accent-hover)}.stat__label{font-family:var(--font-body);font-size:var(--text-body-sm);line-height:var(--leading-normal);color:var(--color-text-muted);max-width:320px}.section-dark .stat__label{color:#f4f1ebb3}.stat-grid{display:grid;gap:var(--space-6) var(--space-8)}@media (min-width: 768px){.stat-grid--2{grid-template-columns:1fr 1fr}}.divider{height:1px;background:var(--color-border);border:0;width:100%}.divider--short{width:48px}.section-dark .divider{background:var(--color-border-dark)}.figure{margin:0}.figure__frame{position:relative;overflow:hidden;width:100%;background:var(--color-bg-warm);box-shadow:0 4px 24px var(--color-shadow)}.figure__frame svg{width:100%;height:100%;display:block}.figure__tag{position:absolute;left:var(--space-4);bottom:var(--space-4);font-family:var(--font-mono);font-size:11px;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-text-faint);background:#f4f1ebb3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:4px 8px}.figure__tag--dark{color:#f4f1eba6;background:#0e1b1f73}.img-caption{font-family:var(--font-mono);font-size:var(--text-mono-sm);color:var(--color-text-muted);letter-spacing:var(--tracking-wide);margin-top:var(--space-3);display:block}.ar-cinema{aspect-ratio:21 / 9}.ar-wide{aspect-ratio:16 / 9}.ar-standard{aspect-ratio:3 / 2}.ar-square{aspect-ratio:1 / 1}.ar-portrait{aspect-ratio:4 / 5}.img-hover{overflow:hidden}.img-hover .figure__frame svg,.img-hover img{transition:transform var(--duration-slow) var(--ease-out)}.img-hover:hover .figure__frame svg,.img-hover:hover img{transform:scale(1.04)}.bleed{position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;width:100vw;max-width:100vw}.img-row{display:grid;gap:var(--space-5)}@media (min-width: 768px){.img-row--3{grid-template-columns:repeat(3,1fr)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(110%)}to{transform:translateY(0)}}@keyframes drawLine{0%{width:0}to{width:100%}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}.anim-fade-up{animation:fadeUp var(--duration-enter) var(--ease-out) both}.anim-fade-in{animation:fadeIn var(--duration-slow) var(--ease-out) both}.anim-delay-1{animation-delay:.1s}.anim-delay-2{animation-delay:.25s}.anim-delay-3{animation-delay:.4s}.anim-delay-4{animation-delay:.55s}.anim-delay-5{animation-delay:.7s}.mask{overflow:hidden;display:block}.mask>span{display:inline-block;animation:slideUp var(--duration-slow) var(--ease-out) both}.reveal{opacity:0;transform:translateY(20px);transition:opacity var(--duration-enter) var(--ease-out),transform var(--duration-enter) var(--ease-out);transition-delay:var(--reveal-delay, 0ms)}.reveal.is-visible{opacity:1;transform:translateY(0)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:1px}.skip-link{position:absolute;left:-9999px;top:var(--space-3);z-index:2000;background:var(--color-text);color:var(--color-bg);padding:var(--space-3) var(--space-5);font-family:var(--font-mono);font-size:var(--text-mono)}.skip-link:focus{left:var(--space-3)}.case-heading{font-family:var(--font-display);font-weight:400;font-size:var(--text-h1);line-height:var(--leading-snug);letter-spacing:var(--tracking-snug);margin-bottom:var(--space-6);max-width:16em}.case-hero{padding-top:var(--space-11)}.case-hero__head{margin-top:var(--space-7)}.case-hero__title{font-family:var(--font-body);font-style:italic;font-weight:300;font-size:var(--text-h2);color:var(--color-text);margin-top:var(--space-3)}.case-hero__meta{font-family:var(--font-mono);font-size:var(--text-mono);letter-spacing:var(--tracking-wide);color:var(--color-text-muted);margin-top:var(--space-4)}.numbered{display:grid;grid-template-columns:auto 1fr;gap:var(--space-6);align-items:start}.numbered__index{font-family:var(--font-mono);font-size:28px;font-weight:400;color:var(--color-accent);line-height:1;padding-top:4px}@media (max-width: 640px){.numbered{grid-template-columns:1fr;gap:var(--space-3)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}
