﻿:root{--ink: #202a30;--ink-soft: #59666d;--ink-faint: #829198;--steel: #617b86;--steel-dark: #405861;--paper: #fbfcfc;--mist: #f0f3f4;--line: #dbe1e3;--line-dark: #c7d0d4;--surface-rgb: 248 251 251;--card-surface-rgb: 255 255 255;--card-radius: 26px;--card-gap: 28px;--mobile-card-gap: 21px;--section-space: 112px;--mobile-section-space: 80.64px;--mist-transition-space: 80px;--mobile-mist-transition-space: 57.6px;--hover-lift: 5px;--shadow-alpha: 0.1;--nav-height: 46px;--nav-opacity: 0.48;--nav-blur: 8px;--nav-side-padding: 24px;--nav-highlight: 0.35;--nav-text-alpha: 0.95;--mobile-menu-width: 200px;--home-hero-size: 32px;--home-hero-weight: 480;--font-display: "Instrument Sans", "Avenir Next", sans-serif;--font-body: "Source Sans 3", "Helvetica Neue", sans-serif;--font-utility: "IBM Plex Mono", ui-monospace, monospace;--project-prose-width: 720px}html{scroll-behavior:smooth}.modern-page,.modern-page *,.modern-page *::before,.modern-page *::after{box-sizing:border-box}.modern-page{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased}.modern-page a{color:inherit;text-decoration:none}.modern-page :where(button){font:inherit}.modern-page img{display:block;max-width:100%}.modern-page [hidden]{display:none !important}.modern-page :focus-visible{outline:2px solid rgba(91, 119, 129, 0.58);outline-offset:4px}@media(prefers-reduced-motion: reduce){html{scroll-behavior:auto}.modern-page *,.modern-page *::before,.modern-page *::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;scroll-behavior:auto !important;transition-duration:.01ms !important}}.design-wrap{width:min(1120px,100% - 44px);margin-inline:auto}.design-section{padding-block:var(--section-space)}.section-head-row{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:38px}.section-kicker{display:block;margin-bottom:12px;color:var(--steel);font:600 9px/1 var(--font-utility);letter-spacing:.15em;text-transform:uppercase}.section-heading{margin:0;font-family:var(--font-display);font-size:clamp(34px,4.8vw,58px);font-weight:650;line-height:.98;letter-spacing:-0.055em;text-wrap:balance}.section-number{align-self:flex-start;color:#93a2a9;font:500 10px/1 var(--font-utility);letter-spacing:.12em}.text-link{display:inline-flex;align-items:center;gap:10px;margin-top:28px;border-bottom:1px solid var(--steel);padding-bottom:5px;color:var(--steel-dark);font:600 10px/1 var(--font-utility);letter-spacing:.08em;text-transform:uppercase}.text-link::after{font-size:14px;content:"→";transition:transform 180ms ease}.text-link:hover::after{transform:translateX(4px)}@media(max-width: 640px){.design-wrap{width:min(1120px,100% - 28px)}.design-section{padding-block:var(--mobile-section-space)}.section-head-row{align-items:start;margin-bottom:30px}.section-number{display:none}}.site-nav-shell{position:fixed;z-index:50;top:14px;left:50%;width:min(1120px,100% - 24px);pointer-events:none;transform:translateX(-50%)}.site-nav{position:relative;display:flex;align-items:center;justify-content:space-between;width:100%;height:var(--nav-height);border:1px solid rgba(0,0,0,0);border-radius:999px;padding-inline:var(--nav-side-padding);background:rgba(0,0,0,0);color:#f7fafa;font-family:var(--font-display);text-shadow:0 1px 8px rgba(0,0,0,.5);pointer-events:none;transition:background 240ms ease,border-color 240ms ease,box-shadow 240ms ease,backdrop-filter 240ms ease,color 180ms ease}.site-name,.nav-links a,.mobile-menu-trigger{pointer-events:auto}.site-nav.surface-visible{border-color:rgb(255, 255, 255, var(--nav-highlight));background:rgb(var(--surface-rgb)/var(--nav-opacity));box-shadow:inset 0 1px rgb(255, 255, 255, var(--nav-highlight)),0 10px 30px rgb(35, 49, 55, var(--shadow-alpha));color:rgb(14, 20, 23, var(--nav-text-alpha));text-shadow:none;backdrop-filter:blur(var(--nav-blur)) saturate(1.04);-webkit-backdrop-filter:blur(var(--nav-blur)) saturate(1.04)}.site-name{font-size:13px;font-weight:650;letter-spacing:-0.015em;white-space:nowrap}.nav-links{display:flex;align-items:center;height:100%;gap:clamp(18px,2.6vw,36px);font-size:13px;font-weight:560;letter-spacing:.005em}.nav-links a{position:relative;padding-block:8px;opacity:.75;transition:opacity 180ms ease}.nav-links a::after{position:absolute;right:100%;bottom:2px;left:0;height:1px;background:currentColor;content:"";transition:right 180ms ease}.nav-links a:hover,.nav-links a.active{opacity:1}.nav-links a:hover::after,.nav-links a.active::after{right:0}.mobile-menu-trigger,.mobile-menu-panel{display:none}@media(max-width: 640px){.site-nav-shell{top:10px}.site-nav{padding-inline:14px}.nav-links{display:none}.mobile-menu-trigger{display:inline-flex;align-items:center;justify-content:center;min-width:70px;height:calc(var(--nav-height) - 8px);gap:9px;border:1px solid rgba(0,0,0,0);border-radius:999px;padding-inline:12px;background:rgba(0,0,0,0);color:inherit;font-size:13px;font-weight:560;letter-spacing:.005em;text-shadow:inherit;cursor:pointer}.mobile-menu-trigger i{width:7px;height:7px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;opacity:.72;transform:translateY(-2px) rotate(45deg);transition:transform 220ms cubic-bezier(0.2, 0.7, 0.2, 1)}.site-nav-shell.menu-open .mobile-menu-trigger i{transform:translateY(2px) rotate(225deg)}.site-nav-shell.menu-open .site-nav:not(.surface-visible) .mobile-menu-trigger{border-color:rgb(255, 255, 255, var(--nav-highlight));background:rgb(var(--surface-rgb)/var(--nav-opacity));box-shadow:inset 0 1px rgb(255, 255, 255, var(--nav-highlight)),0 10px 30px rgb(35, 49, 55, var(--shadow-alpha));color:rgb(14, 20, 23, var(--nav-text-alpha));text-shadow:none;backdrop-filter:blur(var(--nav-blur)) saturate(1.04);-webkit-backdrop-filter:blur(var(--nav-blur)) saturate(1.04)}.mobile-menu-panel{position:absolute;top:calc(100% + 8px);right:0;display:grid;visibility:hidden;width:min(var(--mobile-menu-width),100vw - 24px);gap:2px;border:1px solid rgb(255, 255, 255, var(--nav-highlight));border-radius:22px;padding:8px;background:rgb(var(--surface-rgb)/var(--nav-opacity));box-shadow:inset 0 1px rgb(255, 255, 255, var(--nav-highlight)),0 10px 30px rgb(35, 49, 55, var(--shadow-alpha));color:rgb(14, 20, 23, var(--nav-text-alpha));text-align:left;opacity:0;pointer-events:none;transform:translateY(-7px) scale(0.98);transform-origin:top right;backdrop-filter:blur(var(--nav-blur)) saturate(1.04);-webkit-backdrop-filter:blur(var(--nav-blur)) saturate(1.04);transition:opacity 180ms ease,transform 220ms cubic-bezier(0.2, 0.7, 0.2, 1),visibility 180ms ease}.site-nav-shell.menu-open .mobile-menu-panel{visibility:visible;opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}.mobile-menu-panel a{display:flex;align-items:center;justify-content:flex-start;border-radius:14px;padding:12px 13px;font:560 13px/1 var(--font-display);letter-spacing:.005em;opacity:.75;transition:background 160ms ease,opacity 160ms ease,transform 160ms ease}.mobile-menu-panel a:hover,.mobile-menu-panel a:focus-visible,.mobile-menu-panel a.active{background:rgba(14,20,23,.075);opacity:1;transform:translateX(2px)}}.glass-card{border:1px solid hsla(0,0%,100%,.78);background:rgb(var(--card-surface-rgb)/0.58);box-shadow:inset 0 1px hsla(0,0%,100%,.78),0 22px 60px rgb(36, 51, 58, var(--shadow-alpha));backdrop-filter:blur(22px) saturate(1.1);-webkit-backdrop-filter:blur(22px) saturate(1.1);transform:translateY(0);transition:transform 240ms cubic-bezier(0.2, 0.7, 0.2, 1),border-color 220ms ease,box-shadow 220ms ease;overflow:hidden;border-radius:var(--card-radius)}.glass-card:hover{border-color:hsla(0,0%,100%,.96);box-shadow:inset 0 1px #fff,0 30px 76px rgba(36,51,58,.16);transform:translateY(calc(-1 * var(--hover-lift)))}.site-footer{background:#111a1e;color:#eef2f3;text-align:center}.footer-main{display:grid;place-items:center;min-height:340px;padding-block:70px}.footer-main h2{margin:0;font-family:var(--font-display);font-size:clamp(34px,5vw,60px);font-weight:650;letter-spacing:-0.055em}.footer-main p{max-width:560px;margin:18px auto 0;color:#98a8ae;font-size:15px;line-height:1.65}.footer-links{display:flex;justify-content:center;flex-wrap:wrap;gap:22px;margin-top:28px;color:#c4d0d4;font:500 9px/1 var(--font-utility);letter-spacing:.06em;text-transform:uppercase}.footer-links a:hover{color:#fff}.footer-copyright{border-top:1px solid hsla(0,0%,100%,.08);padding:20px;color:#607078;font:500 8px/1 var(--font-utility);letter-spacing:.08em;text-transform:uppercase}.site-footer--compact{padding:74px 24px}.site-footer--compact p{margin:0;color:#aab8bd;font-size:13px}.footer-home-link{display:inline-block;margin-top:16px;border-bottom:1px solid hsla(0,0%,100%,.4);font:600 9px/2 var(--font-utility);letter-spacing:.12em;text-transform:uppercase}.home-hero{position:relative;display:grid;place-items:center;min-height:100svh;overflow:hidden;background:#293238;color:#fff}.home-hero::before{position:absolute;z-index:1;inset:0;background:linear-gradient(180deg, rgba(8, 15, 19, 0.3), transparent 40%, rgba(7, 13, 16, 0.25));content:""}.home-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:75% 0}.home-hero-copy{position:relative;z-index:2;width:min(980px,100% - 40px);text-align:center;animation:home-arrive 900ms cubic-bezier(0.2, 0.75, 0.2, 1) both}.home-hero-copy h1{display:flex;align-items:center;justify-content:center;gap:.52em;margin:0;font-family:var(--font-display);font-size:var(--home-hero-size);font-weight:var(--home-hero-weight);line-height:1.06;letter-spacing:-0.025em;text-shadow:0 3px 18px rgba(0,0,0,.66);text-wrap:balance}.home-hero-copy h1 span:last-child{opacity:.84}.home-hero-meta{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px 15px;margin:22px 0 0;color:hsla(0,0%,100%,.9);font:600 clamp(9px, 0.92vw, 11.5px)/1.2 var(--font-utility);letter-spacing:.065em;text-shadow:0 2px 9px rgba(0,0,0,.92),0 0 20px rgba(0,0,0,.42);text-transform:uppercase}.home-hero-meta span+span::before{margin-right:15px;color:hsla(0,0%,100%,.62);font:400 11px/1 var(--font-display);content:"/"}.scroll-cue{position:absolute;z-index:2;bottom:26px;left:50%;display:flex;flex-direction:column;align-items:center;gap:9px;color:hsla(0,0%,100%,.65);font:600 8px/1 var(--font-utility);letter-spacing:.14em;text-transform:uppercase;transform:translateX(-50%)}.scroll-cue::after{width:1px;height:28px;background:linear-gradient(rgba(255, 255, 255, 0.62), transparent);content:""}.home-about{background:var(--paper)}.about-grid{display:grid;grid-template-columns:.38fr .62fr;align-items:center;gap:clamp(46px,8vw,110px)}.portrait-wrap{position:relative;justify-self:end;width:min(100%,310px)}.portrait-wrap::before{position:absolute;inset:12px -12px -12px 12px;border:1px solid var(--line-dark);border-radius:50%;content:""}.portrait{position:relative;z-index:1;width:100%;aspect-ratio:1;border-radius:50%;box-shadow:0 24px 70px rgba(35,48,55,.12);object-fit:cover}.about-copy p{max-width:660px;margin:22px 0 0;color:var(--ink-soft);font-size:17px;line-height:1.72}.home-experiences{position:relative;isolation:isolate;overflow:hidden;border-block:1px solid var(--line);background:linear-gradient(145deg, #e9eef0 0%, #f3f5f5 48%, #e6ecee 100%)}.home-experiences::before{position:absolute;z-index:-1;top:-230px;right:-120px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle at 35% 35%, rgba(145, 181, 192, 0.36), transparent 68%);content:""}.experience-grid,.skills-grid{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:var(--card-gap)}.experience-card{display:flex;flex-direction:column;min-height:445px}.experience-logo{position:relative;display:grid;place-items:center;height:180px;padding:28px 26px 8px;background:radial-gradient(circle at 50% 48%, rgba(255, 255, 255, 0.9), transparent 68%)}.experience-logo::after{position:absolute;right:28px;bottom:0;left:28px;height:1px;background:linear-gradient(90deg, transparent, rgba(122, 143, 151, 0.28), transparent);content:""}.experience-logo img{width:64%;max-width:155px;max-height:94px;object-fit:contain;filter:saturate(0.82) contrast(1.03)}.experience-body{display:flex;flex:1;flex-direction:column;padding:25px 28px 28px}.experience-company{color:var(--steel);font:600 9px/1 var(--font-utility);letter-spacing:.12em;text-transform:uppercase}.experience-card h3{margin:13px 0 15px;font-family:var(--font-display);font-size:clamp(23px,2vw,27px);font-weight:620;line-height:1.05;letter-spacing:-0.045em}.experience-card p{margin:0;color:var(--ink-soft);font-size:14px;line-height:1.6}.experience-link{margin-top:auto;padding-top:24px;color:var(--steel-dark);font:600 9px/1 var(--font-utility);letter-spacing:.08em;text-transform:uppercase}.home-work{background:var(--paper)}.home-work .section-head-row{margin-bottom:0}.work-switcher{display:flex;justify-content:flex-start;width:fit-content;gap:34px;margin:36px 0 42px}.work-tab{position:relative;border:0;padding:8px 2px 11px;background:rgba(0,0,0,0);color:#7b878c;font:560 13px/1 var(--font-display);letter-spacing:-0.005em;cursor:pointer;transition:color 180ms ease}.work-tab::after{position:absolute;right:50%;bottom:0;left:50%;height:1px;background:var(--steel);content:"";transition:right 200ms ease,left 200ms ease}.work-tab:hover,.work-tab.active{color:var(--steel-dark)}.work-tab.active::after{right:0;left:0}.work-tab:focus-visible{outline:2px solid rgba(91,119,129,.5);outline-offset:4px}.work-panel{display:none}.work-panel.active,.work-panel:not([hidden]){display:block;animation:work-panel-in 300ms ease both}.work-layout{display:grid;grid-template-columns:repeat(12, minmax(0, 1fr));grid-auto-rows:235px;gap:calc(var(--card-gap)*.75)}.portfolio-item{position:relative;display:grid;min-width:0;overflow:hidden;border:1px solid rgba(211,220,223,.72);border-radius:var(--card-radius);box-shadow:0 18px 46px rgb(33, 45, 51, var(--shadow-alpha));transition:transform 240ms cubic-bezier(0.2, 0.7, 0.2, 1),box-shadow 220ms ease}.portfolio-item:hover{box-shadow:0 28px 65px rgba(35,49,55,.15);transform:translateY(calc(-1 * var(--hover-lift)))}.portfolio-item::after{position:absolute;z-index:1;inset:0;background:linear-gradient(180deg, transparent 0%, transparent 56%, rgba(8, 16, 20, 0.12) 72%, rgba(8, 16, 20, 0.56) 100%);content:"";pointer-events:none}.portfolio-item.item-feature{grid-column:span 7;grid-row:span 2}.portfolio-item.item-secondary,.portfolio-item.item-tertiary{grid-column:span 5}.portfolio-visual{grid-area:1/1;height:100%;margin:0;background:#dce2e4}.portfolio-visual picture{display:block;width:100%;height:100%}.portfolio-visual img{width:100%;height:100%;object-fit:cover;transition:transform 650ms cubic-bezier(0.2, 0.7, 0.2, 1)}#projects-panel .portfolio-visual img{object-position:center bottom}.portfolio-item:hover .portfolio-visual img{transform:scale(1.035)}.portfolio-meta{position:absolute;z-index:2;right:0;bottom:0;left:0;display:flex;align-items:end;justify-content:space-between;gap:20px;padding:14px 18px;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.46)}.portfolio-meta strong{display:block;font-family:var(--font-display);font-size:18px;font-weight:600;line-height:1.08;letter-spacing:-0.035em}.portfolio-meta em{color:hsla(0,0%,100%,.64);font:500 8px/1.3 var(--font-utility);font-style:normal;letter-spacing:.06em;text-align:right;text-transform:uppercase}.section-intro{max-width:600px;margin:18px 0 0;color:var(--ink-soft);font-size:16px;line-height:1.7}.home-notes{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(circle at 85% 0%, rgba(90, 125, 137, 0.42), transparent 34%),linear-gradient(150deg, #26343a, #1f2b30 70%);color:#f4f7f7}.home-notes::before{position:absolute;z-index:-1;bottom:-300px;left:-180px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle, rgba(119, 158, 171, 0.2), transparent 68%);content:""}.home-notes .section-kicker{color:#a8c0c8}.home-notes .section-intro{color:#afbdc2}.notes-preview-badge{display:inline-block;margin-left:10px;border:1px solid hsla(0,0%,100%,.2);border-radius:999px;padding:5px 8px;color:#9eb3ba;font:500 7px/1 var(--font-utility);letter-spacing:.1em;vertical-align:middle}.notes-grid{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:var(--card-gap);margin-top:42px}.note-card{display:flex;min-height:270px;flex-direction:column;border:1px solid hsla(0,0%,100%,.13);border-radius:var(--card-radius);padding:28px;background:hsla(0,0%,100%,.065);box-shadow:inset 0 1px hsla(0,0%,100%,.081),0 22px 55px rgba(3,10,13,.13);backdrop-filter:blur(18px) saturate(1.12);-webkit-backdrop-filter:blur(18px) saturate(1.12);transition:background 180ms ease,transform 220ms ease,border-color 180ms ease}.note-card:hover{border-color:hsla(0,0%,100%,.22);background:hsla(0,0%,100%,.095);transform:translateY(calc(-1 * var(--hover-lift)))}.note-type{color:#9ab4bd;font:600 8px/1 var(--font-utility);letter-spacing:.12em;text-transform:uppercase}.note-card h3{margin:28px 0 14px;font-family:var(--font-display);font-size:clamp(23px,2vw,28px);font-weight:580;line-height:1.08;letter-spacing:-0.045em}.note-card p{margin:0;color:#acbbc0;font-size:13px;line-height:1.6}.note-date{margin-top:auto;padding-top:26px;color:#82969d;font:500 8px/1 var(--font-utility);letter-spacing:.08em;text-transform:uppercase}.home-skills{position:relative;isolation:isolate;overflow:hidden;border-top:1px solid var(--line);background:linear-gradient(155deg, #edf1f2 0%, #f6f8f8 55%, #e9eef0 100%)}.home-skills::before{position:absolute;z-index:-1;top:-300px;left:18%;width:620px;height:620px;border-radius:50%;background:radial-gradient(circle, rgba(134, 172, 185, 0.22), transparent 68%);content:""}.skill-card{padding:30px}.skill-top{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:24px}.skill-top h3{margin:0;font-family:var(--font-display);font-size:24px;font-weight:620;letter-spacing:-0.045em}.skill-top img{width:66px;height:66px;object-fit:contain;opacity:.86}.skill-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:22px}.skill-list span{border:1px solid rgba(204,216,220,.76);border-radius:999px;padding:8px 10px;background:hsla(0,0%,100%,.58);box-shadow:inset 0 1px hsla(0,0%,100%,.8);color:#596b72;font:500 8px/1 var(--font-utility);letter-spacing:.035em}@keyframes home-arrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes work-panel-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media(max-width: 850px){.about-grid{grid-template-columns:1fr;gap:44px;text-align:center}.portrait-wrap{justify-self:center;width:min(62vw,280px)}.about-copy p{margin-inline:auto}.experience-grid,.skills-grid,.notes-grid{grid-template-columns:1fr}.experience-card{min-height:390px}.notes-grid{gap:1px}.note-card{min-height:220px}.work-layout{grid-auto-rows:205px}}@media(max-width: 640px){.home-hero-image{object-position:72% 0}.home-hero-copy h1{display:block;font-size:min(var(--home-hero-size),8.2vw);line-height:1.15}.home-hero-copy h1 span{display:block}.home-hero-copy h1 span+span{margin-top:7px}.home-hero-meta{display:grid;gap:8px}.home-hero-meta span+span::before{display:none}.work-switcher{gap:28px;margin-top:30px;margin-bottom:34px}.work-tab{font-size:12px}.work-layout{grid-template-columns:1fr;grid-auto-rows:auto;gap:var(--mobile-card-gap)}.portfolio-item.item-feature,.portfolio-item.item-secondary,.portfolio-item.item-tertiary{grid-column:auto;grid-row:auto;aspect-ratio:1.22}.portfolio-meta{align-items:start}.portfolio-meta em{max-width:120px}.experience-grid,.skills-grid,.notes-grid{gap:var(--mobile-card-gap)}.skill-top{align-items:flex-end}}.projects-page{--project-card-height: 400px;--project-footer-padding: 22px;--project-description-tags-gap: 16px;background:#f1f4f4}.projects-hero{position:relative;display:grid;place-items:center;min-height:400px;overflow:hidden;background:#26343a;color:#fff}.projects-hero::before,.projects-hero::after{position:absolute;z-index:1;inset:0;content:"";pointer-events:none}.projects-hero::before{background:linear-gradient(90deg, rgba(10, 18, 22, 0.34), rgba(10, 18, 22, 0.08))}.projects-hero::after{background:linear-gradient(180deg, rgba(9, 16, 20, 0.04) 0%, rgba(9, 16, 20, 0.02) 55%, rgba(9, 16, 20, 0.34) 100%)}.projects-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 46%}.projects-hero-copy{position:relative;z-index:2;width:min(1120px,100% - 48px);padding-top:38px;text-align:center}.projects-hero-copy h1{margin:0;font-family:var(--font-display);font-size:clamp(28px,3vw,32px);font-weight:480;line-height:1;letter-spacing:-0.045em;text-shadow:0 3px 22px rgba(0,0,0,.32)}.projects-hero-separator{display:inline-block;margin-inline:.22em;color:hsla(0,0%,100%,.7);font-weight:400}.projects-hero-copy p{margin:18px 0 0;color:hsla(0,0%,100%,.84);font:600 10px/1.2 var(--font-utility);letter-spacing:.14em;text-shadow:0 2px 12px rgba(0,0,0,.5);text-transform:uppercase}.projects-hero-copy p span+span::before{margin-inline:13px;color:hsla(0,0%,100%,.55);content:"/"}.projects-hero-index{position:absolute;z-index:2;right:24px;bottom:22px;color:hsla(0,0%,100%,.65);font:500 9px/1 var(--font-utility);letter-spacing:.12em;text-transform:uppercase}.projects-content{overflow:hidden;background:radial-gradient(circle at 76% 22%, rgba(255, 255, 255, 0.68), transparent 36%),var(--mist)}.projects-page .section-heading{font-size:clamp(34px,4vw,50px)}.projects-highlights{padding-top:var(--section-space)}.highlights-grid{display:grid;grid-template-columns:1.65fr 1fr;grid-template-rows:repeat(2, 260px);gap:var(--card-gap)}.highlight-card{position:relative;display:block;overflow:hidden;border:1px solid hsla(0,0%,100%,.72);border-radius:var(--card-radius);background:rgb(var(--surface-rgb)/0.58);box-shadow:inset 0 1px hsla(0,0%,100%,.82),0 22px 55px rgb(35, 49, 55, var(--shadow-alpha));transition:transform 220ms ease,box-shadow 220ms ease}.highlight-card::after{position:absolute;z-index:1;inset:0;background:linear-gradient(180deg, transparent 0%, transparent 56%, rgba(8, 16, 20, 0.12) 72%, rgba(8, 16, 20, 0.56) 100%);content:"";pointer-events:none}.highlight-card:hover{box-shadow:inset 0 1px hsla(0,0%,100%,.9),0 28px 65px rgba(35,49,55,.15);transform:translateY(calc(-1 * var(--hover-lift)))}.highlight-card img{width:100%;height:100%;object-fit:cover;transition:transform 600ms cubic-bezier(0.2, 0.7, 0.2, 1)}.highlight-card>picture,.archive-image picture{display:block;width:100%;height:100%}.highlight-card:hover img{transform:scale(1.018)}.highlight-card--primary{grid-row:1/3}.highlight-info{position:absolute;z-index:2;right:0;bottom:0;left:0;padding:18px;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.46)}.highlight-info small{display:block;margin-bottom:4px;color:hsla(0,0%,100%,.64);font:500 8px/1.3 var(--font-utility);letter-spacing:.06em;text-transform:uppercase}.highlight-info h3{display:block;margin:0;font-family:var(--font-display);font-size:18px;font-weight:600;line-height:1.08;letter-spacing:-0.035em}.highlight-info p{margin:4px 0 0;color:hsla(0,0%,100%,.72);font-size:12px;line-height:1.3}.projects-archive{padding-top:var(--mist-transition-space);padding-bottom:var(--section-space)}.projects-archive-head{align-items:center;margin-bottom:22px}.project-filter-system{margin-bottom:34px}.project-filter-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.project-filters{display:flex;align-items:center;flex-wrap:wrap;max-width:820px;gap:9px}.filter-pill{border:1px solid #d4dee1;border-radius:999px;padding:9px 13px;background:hsla(0,0%,100%,.48);color:#6c7d84;font:560 11px/1 var(--font-display);cursor:pointer;transition:border-color 160ms ease,background 160ms ease,color 160ms ease,transform 160ms ease}.filter-pill:hover{border-color:#aabcc2;transform:translateY(-1px)}.filter-pill.active{border-color:#536c76;background:#536c76;color:#fff}.more-toggle{display:inline-flex;align-items:center;gap:7px}.more-toggle i{font-size:12px;font-style:normal;transition:transform 180ms ease}.more-toggle[aria-expanded=true] i{transform:rotate(45deg)}.project-result-count{color:#829198;font:500 9px/1 var(--font-utility);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.archive-grid{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:var(--card-gap)}.archive-card{display:flex;flex-direction:column;min-width:0;height:var(--project-card-height);overflow:hidden;border:1px solid hsla(0,0%,100%,.78);border-radius:var(--card-radius);background:rgb(var(--card-surface-rgb)/0.58);box-shadow:inset 0 1px hsla(0,0%,100%,.9),0 22px 55px rgb(35, 49, 55, var(--shadow-alpha));backdrop-filter:blur(22px) saturate(1.08);-webkit-backdrop-filter:blur(22px) saturate(1.08);transition:transform 220ms ease,box-shadow 220ms ease}.archive-card:hover{box-shadow:inset 0 1px hsla(0,0%,100%,.95),0 28px 65px rgba(35,49,55,.15);transform:translateY(calc(-1 * var(--hover-lift)))}.archive-image{position:relative;height:220px;flex:0 0 220px;overflow:hidden;background:#eef2f3}.archive-image img{width:100%;height:100%;object-fit:cover}.archive-copy{position:relative;display:flex;flex:1;flex-direction:column;border-top:1px solid hsla(0,0%,100%,.82);padding:var(--project-footer-padding);box-shadow:inset 0 1px rgba(112,133,141,.08)}.archive-copy::before{position:absolute;top:-1px;right:9%;left:9%;height:1px;background:linear-gradient(90deg, transparent, rgba(103, 125, 134, 0.3), transparent);content:""}.archive-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;color:#7b8b92;font:600 8px/1 var(--font-utility);letter-spacing:.1em;text-transform:uppercase}.archive-copy h3{margin:0;font-family:var(--font-display);font-size:20px;font-weight:580;line-height:1.08;letter-spacing:-0.035em}.archive-copy p{margin:7px 0 var(--project-description-tags-gap);color:#6c7b82;font-size:13px;line-height:1.4}.archive-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}.archive-tag{border:1px solid #d6dfe2;border-radius:999px;padding:5px 8px;color:#687a82;font:600 7px/1 var(--font-utility);letter-spacing:.06em;text-transform:uppercase}.archive-tag--more{border-color:rgba(0,0,0,0);padding-right:2px;color:#8b989e}@media(max-width: 850px){.highlights-grid{grid-template-columns:1.35fr 1fr;grid-template-rows:repeat(2, 220px)}.archive-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(max-width: 640px){.projects-hero-image{object-position:44% center}.projects-hero-copy h1{max-width:300px;margin-inline:auto;line-height:1.15}.projects-hero-copy p{display:grid;gap:7px}.projects-hero-copy p span+span::before,.projects-hero-index{display:none}.projects-highlights{padding-top:var(--mobile-section-space)}.highlights-grid{grid-template-columns:1fr;grid-template-rows:240px 220px 220px;gap:var(--mobile-card-gap)}.highlight-card--primary{grid-row:auto}.projects-archive{padding-top:var(--mobile-mist-transition-space);padding-bottom:var(--mobile-section-space)}.projects-archive-head{display:block;margin-bottom:28px}.project-filter-row{display:block}.project-filters{max-width:100%}.project-result-count{display:block;margin-top:12px}.archive-grid{grid-template-columns:1fr;gap:var(--mobile-card-gap)}.archive-card{height:auto;min-height:var(--project-card-height)}.archive-image{height:auto;flex-basis:auto;aspect-ratio:1.35}}.artwork-page{--artwork-highlight-height: 330px;--artwork-collection-columns: 3;overflow-x:hidden;background:var(--mist)}.artwork-hero{position:relative;display:grid;place-items:center;min-height:400px;overflow:hidden;background:#27343a;color:#fff}.artwork-hero::before,.artwork-hero::after{position:absolute;z-index:1;inset:0;content:"";pointer-events:none}.artwork-hero::before{background:linear-gradient(90deg, rgba(10, 18, 22, 0.34), rgba(10, 18, 22, 0.08))}.artwork-hero::after{background:linear-gradient(180deg, rgba(9, 16, 20, 0.04) 0%, rgba(9, 16, 20, 0.02) 55%, rgba(9, 16, 20, 0.34) 100%)}.artwork-hero-image{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center 47%;filter:saturate(0.86) contrast(1.03)}.artwork-hero-copy{position:relative;z-index:2;width:min(1120px,100% - 48px);padding-top:38px;text-align:center}.artwork-hero-copy h1{margin:0;font-family:var(--font-display);font-size:clamp(28px,3vw,32px);font-weight:480;line-height:1;letter-spacing:-0.045em;text-shadow:0 3px 22px rgba(0,0,0,.32)}.artwork-hero-separator{display:inline-block;margin-inline:.22em;color:hsla(0,0%,100%,.7);font-weight:400}.artwork-hero-copy p{margin:18px 0 0;color:hsla(0,0%,100%,.84);font:600 10px/1.2 var(--font-utility);letter-spacing:.14em;text-shadow:0 2px 12px rgba(0,0,0,.5);text-transform:uppercase}.artwork-hero-copy p span+span::before{margin-inline:13px;color:hsla(0,0%,100%,.55);content:"/"}.artwork-hero-index{position:absolute;z-index:2;right:24px;bottom:22px;color:hsla(0,0%,100%,.65);font:500 9px/1 var(--font-utility);letter-spacing:.12em;text-transform:uppercase}.artwork-content{position:relative;overflow:hidden;background:radial-gradient(circle at 76% 22%, rgba(255, 255, 255, 0.68), transparent 36%),var(--mist)}.artwork-page .section-heading{font-size:clamp(34px,4vw,50px)}.artwork-highlights{padding-top:var(--section-space)}.artwork-rail-shell{position:relative;isolation:isolate}.artwork-rail-shell::before,.artwork-rail-shell::after{position:absolute;z-index:1;top:0;bottom:0;width:clamp(72px,10vw,168px);content:"";pointer-events:none}.artwork-rail-shell::before{left:0;background:linear-gradient(90deg, var(--mist), transparent)}.artwork-rail-shell::after{right:0;background:linear-gradient(270deg, var(--mist), transparent)}.artwork-rail{position:relative;width:100%;overflow-x:hidden;overflow-y:hidden;padding:12px 0 80px;margin-bottom:-46px;scrollbar-width:none;touch-action:pan-y;-webkit-overflow-scrolling:touch}.artwork-rail::-webkit-scrollbar{display:none}.artwork-rail:focus-visible{outline:0;background:linear-gradient(90deg, transparent, rgba(91, 119, 129, 0.72), transparent) 50% 2px/min(96px, 28vw) 3px no-repeat}.artwork-rail-track{display:flex;visibility:hidden;align-items:flex-start;width:max-content;gap:var(--card-gap);padding-inline:max(clamp(72px,10vw,168px),(100vw - 1120px)/2)}.artwork-rail[data-artwork-rail-ready] .artwork-rail-track{visibility:visible}.artwork-card{position:relative;display:block;min-width:0;overflow:hidden;border:1px solid hsla(0,0%,100%,.78);border-radius:var(--card-radius);padding:0;appearance:none;background:rgb(var(--card-surface-rgb)/0.58);box-shadow:inset 0 1px hsla(0,0%,100%,.9),0 22px 55px rgb(35, 49, 55, var(--shadow-alpha));color:inherit;font:inherit;text-align:left;backdrop-filter:blur(22px) saturate(1.08);-webkit-backdrop-filter:blur(22px) saturate(1.08);transition:transform 220ms ease,box-shadow 220ms ease}button.artwork-card{cursor:zoom-in}button.artwork-card:hover{box-shadow:inset 0 1px hsla(0,0%,100%,.95),0 28px 65px rgba(35,49,55,.15);transform:translateY(calc(-1 * var(--hover-lift)))}.artwork-card-media{display:block;overflow:hidden;background:#e3e8e9}.artwork-rail-card{flex:0 0 auto}.artwork-rail-card .artwork-card-media,.artwork-rail-card img{width:auto;height:var(--artwork-highlight-height)}.artwork-rail-card img{max-width:none;object-fit:contain}.artwork-label{display:flex;align-items:end;justify-content:space-between;min-width:100%;gap:22px;border-top:1px solid hsla(0,0%,100%,.82);padding:18px 20px 20px;box-shadow:inset 0 1px rgba(112,133,141,.08)}.artwork-label b{display:block;font-family:var(--font-display);font-size:18px;font-weight:580;line-height:1.08;letter-spacing:-0.035em}.artwork-label span{color:#718188;font:600 8px/1.35 var(--font-utility);letter-spacing:.08em;text-align:right;text-transform:uppercase}.artwork-collection{padding-top:var(--mist-transition-space);padding-bottom:var(--section-space)}.artwork-collection-head{align-items:center;margin-bottom:22px}.artwork-filter-system{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:34px}.artwork-filters{display:flex;flex-wrap:wrap;gap:9px}.artwork-filter-pill{border:1px solid #d4dee1;border-radius:999px;padding:9px 13px;background:hsla(0,0%,100%,.48);color:#6c7d84;font:560 11px/1 var(--font-display);cursor:pointer;transition:border-color 160ms ease,background 160ms ease,color 160ms ease,transform 160ms ease}.artwork-filter-pill:hover{border-color:#aabcc2;transform:translateY(-1px)}.artwork-filter-pill.active{border-color:#536c76;background:#536c76;color:#fff}.artwork-result-count{color:#829198;font:500 9px/1 var(--font-utility);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.artwork-collection-grid{--artwork-collection-gap: var(--card-gap);display:grid;grid-template-columns:repeat(var(--artwork-collection-columns), minmax(0, 1fr));gap:var(--artwork-collection-gap)}.artwork-collection-grid.is-masonry-ready{position:relative;display:block}.artwork-collection-grid.is-masonry-ready .artwork-collection-card{position:absolute;top:0;left:0;margin:0;transition:transform 280ms ease}.artwork-collection-card{width:100%;break-inside:avoid}.artwork-collection-card .artwork-card-media,.artwork-collection-card img{width:100%;height:auto}.artwork-viewer{width:min(1000px,100% - 34px);max-width:none;max-height:calc(100svh - 34px);overflow:hidden;border:1px solid hsla(0,0%,100%,.78);border-radius:var(--card-radius);padding:0;background:rgba(245,249,250,.74);box-shadow:inset 0 1px hsla(0,0%,100%,.82),0 36px 100px rgba(12,20,24,.35);color:var(--ink);backdrop-filter:blur(24px) saturate(1.08);-webkit-backdrop-filter:blur(24px) saturate(1.08)}.artwork-viewer::backdrop{background:rgba(12,18,21,.74);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.artwork-viewer-layout{display:grid;grid-template-columns:minmax(0, 1fr) 240px;max-height:calc(100svh - 36px)}.artwork-viewer-media{display:grid;place-items:center;min-height:60svh;overflow:auto;padding:24px;background:#e8edee}.artwork-viewer-media img{width:auto;height:auto;max-width:100%;max-height:calc(100svh - 84px);object-fit:contain}.artwork-viewer-copy{display:flex;flex-direction:column;padding:28px 24px}.artwork-viewer-copy small{color:var(--steel);font:600 8px/1 var(--font-utility);letter-spacing:.1em;text-transform:uppercase}.artwork-viewer-copy h2{margin:12px 0 6px;font-family:var(--font-display);font-size:26px;font-weight:620;line-height:1.05;letter-spacing:-0.045em}.artwork-viewer-copy p{margin:0;color:var(--ink-soft);font-size:14px}.artwork-viewer-close{margin-top:auto;border:1px solid #cad6d9;border-radius:999px;padding:10px 12px;background:hsla(0,0%,100%,.5);color:var(--steel-dark);font:600 9px/1 var(--font-utility);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}@media(max-width: 850px){.artwork-page{--artwork-collection-columns: 2}.artwork-viewer-layout{grid-template-columns:1fr;overflow-y:auto}.artwork-viewer-media{min-height:0}.artwork-viewer-copy{min-height:180px}.artwork-viewer-close{margin-top:24px}}@media(max-width: 640px){.artwork-page{--artwork-collection-columns: 1}.artwork-hero-copy h1{max-width:320px;margin-inline:auto;line-height:1.16}.artwork-hero-copy p{display:grid;gap:7px}.artwork-hero-copy p span+span::before,.artwork-hero-index{display:none}.artwork-highlights{padding-top:var(--mobile-section-space)}.artwork-rail-shell::before,.artwork-rail-shell::after{width:56px}.artwork-rail-track{gap:var(--mobile-card-gap);padding-inline:56px}.artwork-rail-card .artwork-card-media,.artwork-rail-card img{height:290px}.artwork-label{padding:14px 15px 16px}.artwork-label b{font-size:15px}.artwork-label span{font-size:7px}.artwork-collection{padding-top:var(--mobile-mist-transition-space);padding-bottom:var(--mobile-section-space)}.artwork-collection-head{margin-bottom:28px}.artwork-filter-system{align-items:flex-end}.artwork-result-count{padding-bottom:2px}.artwork-collection-grid{--artwork-collection-gap: var(--mobile-card-gap);gap:var(--artwork-collection-gap)}.artwork-viewer-media{padding:16px}.artwork-viewer-copy{padding:22px 20px}}@media(prefers-reduced-motion: reduce){.artwork-rail{overflow-x:auto;touch-action:pan-x pan-y}}@media(forced-colors: active){.artwork-rail:focus-visible{outline:2px solid CanvasText;outline-offset:-2px;background:none}}@media(hover: none),(prefers-reduced-motion: reduce){button.artwork-card:hover,.artwork-filter-pill:hover{transform:none}}.experiences-page{--experience-summary-height: 148px;--experience-card-gap: 20px;overflow-x:hidden;background:var(--mist)}.experiences-hero{position:relative;display:grid;min-height:400px;place-items:center;overflow:hidden;background:#2b3940;color:#fff}.experiences-hero::before,.experiences-hero::after{position:absolute;z-index:1;inset:0;content:"";pointer-events:none}.experiences-hero::before{background:linear-gradient(90deg, rgba(10, 18, 22, 0.34), rgba(10, 18, 22, 0.08))}.experiences-hero::after{background:linear-gradient(180deg, rgba(9, 16, 20, 0.04) 0%, rgba(9, 16, 20, 0.02) 55%, rgba(9, 16, 20, 0.34) 100%)}.experiences-hero-image{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center 48%;filter:saturate(0.8) contrast(1.04)}.experiences-hero-copy{position:relative;z-index:2;width:min(1120px,100% - 48px);padding-top:38px;text-align:center}.experiences-hero-copy h1{margin:0;font-family:var(--font-display);font-size:clamp(28px,3vw,32px);font-weight:480;line-height:1;letter-spacing:-0.045em;text-shadow:0 3px 22px rgba(0,0,0,.32)}.experiences-hero-separator{display:inline-block;margin-inline:.22em;color:hsla(0,0%,100%,.7);font-weight:400}.experiences-hero-copy p{margin:18px 0 0;color:hsla(0,0%,100%,.84);font:600 10px/1.2 var(--font-utility);letter-spacing:.14em;text-shadow:0 2px 12px rgba(0,0,0,.5);text-transform:uppercase}.experiences-hero-copy p span+span::before{margin-inline:13px;color:hsla(0,0%,100%,.55);content:"/"}.experiences-hero-index{position:absolute;z-index:2;right:24px;bottom:22px;color:hsla(0,0%,100%,.65);font:500 9px/1 var(--font-utility);letter-spacing:.12em;text-transform:uppercase}.experiences-content{position:relative;isolation:isolate;overflow:hidden;border-top:1px solid var(--line);background:radial-gradient(circle at 76% 22%, rgba(255, 255, 255, 0.68), transparent 36%),var(--mist)}.experiences-content::before{position:absolute;z-index:-1;top:-180px;right:-90px;width:450px;height:450px;border-radius:50%;background:radial-gradient(circle, rgba(145, 181, 192, 0.27), transparent 68%);content:"";pointer-events:none}.experiences-page .section-heading{font-size:clamp(34px,4vw,50px)}.work-experience-section{padding-top:var(--section-space)}.education-section{padding-top:var(--mist-transition-space);padding-bottom:var(--section-space)}.experiences-section-head{margin-bottom:34px}.experience-timeline{--timeline-indent: 34px;--timeline-axis: 7px;position:relative;display:grid;gap:var(--experience-card-gap);padding-left:var(--timeline-indent)}.role-card{position:relative;overflow:visible;border:1px solid hsla(0,0%,100%,.78);border-radius:var(--card-radius);background:rgb(var(--card-surface-rgb)/0.62);box-shadow:inset 0 1px hsla(0,0%,100%,.9),0 20px 50px rgb(35, 49, 55, var(--shadow-alpha));backdrop-filter:blur(18px) saturate(1.06);-webkit-backdrop-filter:blur(18px) saturate(1.06);transition:border-color 180ms ease,box-shadow 180ms ease,transform 180ms ease}.role-card::before{position:absolute;z-index:2;top:calc(var(--experience-summary-height)/2 - 10px);left:calc(var(--timeline-axis) - var(--timeline-indent) - 10px);width:20px;height:20px;border:4px solid var(--mist);border-radius:50%;background:var(--steel);box-shadow:0 0 0 1px rgba(97,123,134,.48),0 2px 8px rgba(43,62,70,.14);content:""}.role-card:not(:last-child)::after{position:absolute;z-index:0;top:calc(var(--experience-summary-height)/2);bottom:calc(-1*(var(--experience-card-gap) + var(--experience-summary-height)/2));left:calc(var(--timeline-axis) - var(--timeline-indent));width:1px;background:#9bafb6;box-shadow:0 0 8px rgba(97,123,134,.16);content:"";pointer-events:none;transition:bottom 180ms ease}.role-card:first-child:not(:last-child)::after{background:linear-gradient(180deg, transparent, #9bafb6 18px)}.role-card:nth-last-child(2)::after{background:linear-gradient(180deg, #9bafb6 calc(100% - 18px), transparent)}.role-card:hover:not(:last-child)::after{bottom:calc(-1*(var(--experience-card-gap) + var(--experience-summary-height)/2 + var(--hover-lift)))}.role-card:has(+.role-card:hover)::after{bottom:calc(-1*(var(--experience-card-gap) + var(--experience-summary-height)/2 - var(--hover-lift)))}.role-card:hover{box-shadow:inset 0 1px hsla(0,0%,100%,.96),0 26px 62px rgba(35,49,55,.14);transform:translateY(calc(-1 * var(--hover-lift)))}.role-card.is-open{border-color:rgba(168,187,194,.72)}.role-summary{display:grid;grid-template-columns:132px minmax(0, 1fr) auto auto;align-items:center;height:var(--experience-summary-height);gap:22px;overflow:hidden;border-radius:inherit;padding:0 22px 0 0}.role-logo{position:relative;display:grid;align-self:stretch;width:132px;height:100%;place-items:center;padding:18px 24px 18px 18px;background:radial-gradient(circle at 44% 50%, rgba(255, 255, 255, 0.82), transparent 74%)}.role-logo::after{position:absolute;top:17px;right:0;bottom:17px;width:1px;background:linear-gradient(180deg, transparent, rgba(116, 139, 147, 0.34) 18%, rgba(116, 139, 147, 0.34) 82%, transparent);content:""}.role-logo img{width:76%;max-width:86px;max-height:48px;object-fit:contain;filter:saturate(0.82) contrast(1.03)}.role-logo-fallback{color:var(--steel-dark);font:600 13px/1 var(--font-utility);letter-spacing:.08em;text-transform:uppercase}.role-summary-text{min-width:0}.role-company,.role-date,.role-detail-eyebrow,.degree-period{font:600 9px/1.2 var(--font-utility);letter-spacing:.11em;text-transform:uppercase}.role-company{display:block;margin-bottom:8px;color:var(--steel)}.role-title{margin:0;font-family:var(--font-display);font-size:clamp(17px,2vw,22px);font-weight:590;line-height:1.08;letter-spacing:-0.035em}.role-summary-text p{max-width:620px;margin:8px 0 0;overflow:hidden;color:var(--ink-soft);font-size:13px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.role-date{color:#73848b;text-align:right;white-space:nowrap}.role-toggle{display:none;align-items:center;gap:8px;border:1px solid #cbd6d9;border-radius:999px;padding:10px 13px;background:hsla(0,0%,100%,.42);color:var(--steel-dark);font:600 9px/1 var(--font-utility);letter-spacing:.06em;cursor:pointer;text-transform:uppercase;transition:border-color 160ms ease,background 160ms ease}.experiences-content.is-enhanced .role-toggle{display:inline-flex}.role-toggle:hover{border-color:#9eb1b7;background:hsla(0,0%,100%,.74)}.role-toggle i{position:relative;width:9px;height:9px;font-style:normal}.role-toggle i::before,.role-toggle i::after{position:absolute;top:4px;left:0;width:9px;height:1px;background:currentColor;content:"";transition:transform 160ms ease}.role-toggle i::after{transform:rotate(90deg)}.role-toggle[aria-expanded=true] i::after{transform:rotate(0deg)}.role-details{border-top:1px solid rgba(203,214,217,.72)}.experiences-content.is-enhanced .role-details{display:grid;grid-template-rows:0fr;border-top-color:rgba(0,0,0,0);transition:grid-template-rows 260ms ease,border-color 180ms ease}.experiences-content.is-enhanced .role-card.is-open .role-details{grid-template-rows:1fr;border-top-color:rgba(203,214,217,.72)}.role-details-inner{min-height:0}.experiences-content.is-enhanced .role-details-inner{overflow:hidden}.role-detail-copy{display:grid;grid-template-columns:.55fr 1.45fr;gap:34px;padding:26px 30px 30px 136px}.role-detail-eyebrow{color:var(--steel)}.role-detail-body{color:var(--ink-soft);font-size:14px;line-height:1.62}.role-detail-body>:first-child{margin-top:0}.role-detail-body>:last-child{margin-bottom:0}.role-detail-body ul{margin:15px 0 0;padding-left:18px}.role-detail-body li+li{margin-top:6px}.education-grid{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:var(--experience-card-gap)}.degree-card{position:relative;display:flex;min-height:290px;overflow:hidden;flex-direction:column;border:1px solid hsla(0,0%,100%,.78);border-radius:var(--card-radius);padding:28px;background:linear-gradient(145deg, rgba(249, 251, 251, 0.9), rgba(237, 242, 243, 0.86));box-shadow:inset 0 1px hsla(0,0%,100%,.9),0 18px 48px rgba(35,49,55,.08);backdrop-filter:blur(18px) saturate(1.06);-webkit-backdrop-filter:blur(18px) saturate(1.06);transition:box-shadow 180ms ease,transform 180ms ease}.degree-card:hover{box-shadow:inset 0 1px hsla(0,0%,100%,.96),0 24px 58px rgba(35,49,55,.12);transform:translateY(calc(-1 * var(--hover-lift)))}.degree-card::after{position:absolute;top:-82px;right:-62px;width:210px;height:210px;border:1px solid rgba(97,123,134,.18);border-radius:50%;content:"";pointer-events:none}.degree-top{display:flex;align-items:start;justify-content:space-between;gap:18px}.degree-mark{display:grid;width:66px;height:66px;place-items:center;border-radius:18px;background:#06466e;color:#fff;font:600 15px/1 var(--font-utility)}.degree-period{color:var(--steel);text-align:right}.degree-card h3{max-width:420px;margin:42px 0 8px;font-family:var(--font-display);font-size:clamp(23px,3vw,31px);font-weight:580;line-height:1.05;letter-spacing:-0.045em}.degree-card>p{margin:0;color:var(--ink-soft);font-size:15px}.degree-notes{display:flex;justify-content:space-between;gap:20px;margin:auto 0 0;border-top:1px solid var(--line-dark);padding:15px 0 0;color:#66777e;font:600 9px/1.25 var(--font-utility);letter-spacing:.06em;list-style:none;text-transform:uppercase}@media(max-width: 900px){.role-summary{grid-template-columns:104px minmax(0, 1fr) auto;gap:15px}.role-logo{grid-row:1/3;width:104px;padding-inline:14px 20px}.role-date{grid-column:2;text-align:left}.role-toggle{grid-row:1/3;grid-column:3}.role-detail-copy{grid-template-columns:1fr;gap:14px;padding:24px}.education-grid{grid-template-columns:1fr}}@media(max-width: 640px){.experiences-hero-copy h1{max-width:320px;margin-inline:auto;line-height:1.16}.experiences-hero-copy p{display:grid;gap:7px}.experiences-hero-copy p span+span::before,.experiences-hero-index{display:none}.work-experience-section{padding-top:var(--mobile-section-space)}.education-section{padding-top:var(--mobile-mist-transition-space);padding-bottom:var(--mobile-section-space)}.experiences-section-head{align-items:start;margin-bottom:28px}.experience-timeline{--timeline-indent: 24px;--timeline-axis: 4px}.role-summary{grid-template-columns:76px minmax(0, 1fr) 34px;gap:10px;padding:0 10px 0 0}.role-logo{width:76px;padding:15px 16px 15px 12px}.role-title{font-size:clamp(15px,4.4vw,18px)}.role-date{font-size:7px;letter-spacing:.06em}.role-toggle{justify-content:center;padding:10px}.role-toggle span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.role-summary-text p{display:block;margin-top:6px;font-size:11px;white-space:nowrap}.degree-card{min-height:275px}.degree-card h3{margin-top:30px}.degree-notes{align-items:flex-start;flex-direction:column;gap:8px}}@media(forced-colors: active){.role-toggle:focus-visible{outline:2px solid CanvasText;outline-offset:3px}}@media(hover: none),(prefers-reduced-motion: reduce){.role-card:hover,.degree-card:hover{transform:none}}.project-detail-page{background:var(--paper)}.project-detail{overflow:clip;background:var(--paper)}.project-hero{--hero-focal-desktop: 72% 50%;--hero-focal-tablet: 76% 50%;--hero-focal-mobile: 80% 50%;position:relative;display:flex;min-height:520px;align-items:flex-end;overflow:hidden;background:#071521;color:#f8fafb;isolation:isolate}.project-hero-image,.project-hero-shade{position:absolute;inset:0;width:100%;height:100%}.project-hero-image{z-index:-2;object-fit:cover;object-position:var(--hero-focal-desktop)}.project-hero-shade{z-index:-1;background:linear-gradient(90deg, rgba(5, 13, 22, 0.4), transparent 70%),linear-gradient(transparent 38%, rgba(5, 13, 22, 0.42))}.project-hero-inner{position:relative;z-index:1;width:min(1120px,100% - 48px);padding:118px 0 62px}.project-back-link{display:inline-flex;align-items:center;align-self:flex-start;gap:9px;margin-bottom:34px;color:hsla(0,0%,100%,.76);font:600 9px/1 var(--font-utility);letter-spacing:.1em;text-transform:uppercase;transition:color 180ms ease,transform 180ms ease}.project-back-link:hover{color:#fff;transform:translateX(-3px)}.project-hero-copy{max-width:780px}.project-hero-copy h1{margin:0;font-family:var(--font-display);font-size:clamp(48px,7vw,78px);font-weight:560;line-height:.92;letter-spacing:-0.065em;text-shadow:0 3px 22px rgba(0,0,0,.34);text-wrap:balance}.project-hero-description{display:block;max-width:780px;margin-top:13px;color:hsla(0,0%,100%,.74);font-size:.34em;font-weight:480;line-height:1.15;letter-spacing:-0.025em;text-wrap:pretty}.project-hero-meta{display:flex;flex-wrap:wrap;gap:11px 18px;margin:26px 0 0;color:hsla(0,0%,100%,.72);font:600 9px/1.2 var(--font-utility);letter-spacing:.1em;text-transform:uppercase}.project-hero-meta span+span::before{margin-right:18px;color:hsla(0,0%,100%,.42);content:"/"}.project-intro--featured{padding:78px 0 84px}.project-intro-label{margin:0;color:var(--steel);font:600 9px/1.2 var(--font-utility);letter-spacing:.14em;text-transform:uppercase}.project-intro-copy{display:grid;grid-template-columns:minmax(150px, 0.36fr) minmax(0, 1.64fr);column-gap:clamp(42px,7vw,82px)}.project-intro-label{grid-area:1/1/span 3;padding-top:11px}.project-intro-copy>:not(.project-intro-label){grid-column:2}.project-intro-copy>:last-child,.project-intro-copy p:first-of-type{margin-bottom:0}.project-intro-copy p:first-of-type{max-width:770px;margin-top:0;color:var(--ink);font-family:var(--font-display);font-size:clamp(36px,4.5vw,52px);font-weight:650;line-height:1;letter-spacing:-0.06em;text-wrap:balance}.project-intro-copy p:not(:first-of-type){max-width:58ch;margin:23px 0 0;color:var(--ink-soft);font-size:21px;line-height:1.58}@media(min-width: 1600px){.project-hero{min-height:clamp(600px,28vw,780px)}}@media(max-width: 899px){.project-hero-image{object-position:var(--hero-focal-tablet)}.project-intro-copy{grid-template-columns:minmax(120px, 0.3fr) minmax(0, 1.7fr);column-gap:34px}}@media(max-width: 640px){.project-hero{min-height:470px}.project-hero-image{object-position:var(--hero-focal-mobile)}.project-hero-inner{width:min(1120px,100% - 28px);padding:104px 0 42px}.project-hero-copy h1{font-size:clamp(42px,14vw,60px)}.project-hero-description{max-width:280px;font-size:.4em}.project-hero-meta span+span::before{display:none}.project-intro--featured{padding:68px 0 72px}.project-intro-copy{display:block}.project-intro-label{display:block;padding-top:0}.project-intro-copy p:first-of-type{margin-top:14px;font-size:36px}.project-intro-copy p:not(:first-of-type){font-size:18px}}.project-reading{display:grid;grid-template-columns:176px minmax(0, 1fr);gap:clamp(50px,7vw,90px);border-top:1px solid var(--line)}.project-main{grid-column:2;min-width:0;color:var(--ink-soft);font-size:17px;line-height:1.68}.project-main--without-chapters{padding:78px 0 94px}.project-main>:first-child,.project-chapter>:first-child{margin-top:0}.project-main .project-chapter{padding:78px 0 94px;scroll-margin-top:70px}.project-main .project-chapter+.project-chapter{border-top:1px solid var(--line)}.project-main h1,.project-main h2,.project-main h3{color:var(--ink);font-family:var(--font-display);text-wrap:balance}.project-main h1{margin:0 0 24px;font-size:clamp(36px,4.3vw,52px);font-weight:650;line-height:.98;letter-spacing:-0.055em}.project-main h2{margin:58px 0 18px;font-size:clamp(28px,3vw,38px);font-weight:650;line-height:1;letter-spacing:-0.05em}.project-main h3{margin:38px 0 14px;font-size:21px;font-weight:620;line-height:1.15;letter-spacing:-0.03em}.project-main p,.project-main ul,.project-main ol{margin:0 0 1.45em}.project-main .project-chapter>p,.project-main .project-chapter>ul:not([class]),.project-main .project-chapter>ol:not([class]){max-width:var(--project-prose-width)}.project-main .project-chapter>p:has(>img:only-child){max-width:none;margin-bottom:0}.project-main a:not(.project-media-link){color:var(--steel-dark);text-decoration:underline;text-decoration-color:rgba(64,88,97,.35);text-underline-offset:.18em}.project-main strong{color:#35434a;font-weight:620}.project-main .project-chapter>p>img:only-child,.project-main .project-chapter>img{border:1px solid hsla(0,0%,100%,.72);border-radius:var(--card-radius);background:rgb(var(--surface-rgb)/0.78);box-shadow:inset 0 1px hsla(0,0%,100%,.84),0 30px 76px rgba(36,51,58,.11);backdrop-filter:blur(12px) saturate(1.02);-webkit-backdrop-filter:blur(12px) saturate(1.02)}.project-main img{width:100%;height:auto;margin-block:42px;object-fit:contain}@media(max-width: 899px){.project-reading{display:block}.project-main{grid-column:auto;width:100%;margin-inline:auto}}@media(max-width: 640px){.project-main{font-size:16px;line-height:1.68}.project-main .project-chapter{padding:68px 0 78px}.project-main--without-chapters{padding:68px 0 78px}.project-main h1{font-size:36px}.project-main h2{font-size:28px}.project-main .project-chapter>p>img:only-child,.project-main .project-chapter>img{border-radius:20px}}@media(forced-colors: active){.project-main .project-chapter>p>img:only-child,.project-main .project-chapter>img{border:1px solid CanvasText}}.project-chapter-nav-label{margin:0;color:var(--steel);font:600 9px/1.2 var(--font-utility);letter-spacing:.14em;text-transform:uppercase}.project-chapter-nav{position:sticky;top:86px;align-self:start;padding:78px 0}.project-chapter-nav ol,.project-corner-dialog ol{margin:22px 0 0;padding:0;list-style:none}.project-chapter-nav ol{position:relative;display:grid;gap:3px;border-left:1px solid var(--line-dark);padding-left:17px}.project-chapter-nav ol::before{position:absolute;top:0;bottom:0;left:-1px;width:1px;background:linear-gradient(var(--steel-dark) 20%, transparent 20%);content:""}.project-chapter-nav a{position:relative;display:block;padding:8px 0;color:#829198;font:560 11px/1.2 var(--font-display);transition:color 160ms ease,transform 160ms ease}.project-chapter-nav a span{display:none}.project-chapter-nav a::before{position:absolute;top:50%;left:-20px;width:5px;height:5px;border:1px solid var(--line-dark);border-radius:50%;background:var(--paper);content:"";transform:translateY(-50%);transition:background 160ms ease,border-color 160ms ease}.project-chapter-nav a:hover{color:var(--steel-dark);transform:translateX(2px)}.project-chapter-nav a[aria-current=location]{color:var(--ink);transform:translateX(3px)}.project-chapter-nav a[aria-current=location]::before{border-color:var(--steel-dark);background:var(--steel-dark)}.project-corner{display:none}.project-corner-dialog{color:var(--ink);font-family:var(--font-body)}@media(max-width: 899px){.project-chapter-nav{display:none}.project-corner{position:fixed;z-index:45;right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));display:block;visibility:hidden;opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity 180ms ease,transform 180ms ease,visibility 180ms ease}.project-corner.is-visible{visibility:visible;opacity:1;pointer-events:auto;transform:translateY(0)}.project-corner-trigger{display:inline-flex;align-items:center;min-width:108px;min-height:52px;gap:13px;border:1px solid hsla(0,0%,100%,.62);border-radius:999px;padding:0 17px;background:rgb(var(--surface-rgb)/0.86);box-shadow:inset 0 1px hsla(0,0%,100%,.76),0 14px 34px rgba(35,49,55,.16);color:var(--ink);font:560 10px/1 var(--font-utility);cursor:pointer;backdrop-filter:blur(18px) saturate(1.04);-webkit-backdrop-filter:blur(18px) saturate(1.04)}.project-corner-glyph{display:grid;gap:3px;width:22px}.project-corner-glyph i{position:relative;display:block;width:14px;height:2px;margin-left:8px;border-radius:999px;background:var(--steel-dark)}.project-corner-glyph i::before{position:absolute;top:50%;left:-8px;width:3px;height:3px;border-radius:50%;background:var(--steel-dark);content:"";transform:translateY(-50%)}.project-corner-dialog{position:fixed;inset:auto max(14px,env(safe-area-inset-right)) calc(max(14px,env(safe-area-inset-bottom)) + 62px) auto;width:min(272px,100% - 28px);max-height:min(70svh,480px);margin:0;overflow:auto;border:1px solid hsla(0,0%,100%,.62);border-radius:22px;padding:8px;background:rgb(var(--surface-rgb)/0.91);box-shadow:inset 0 1px hsla(0,0%,100%,.76),0 18px 48px rgba(35,49,55,.17);backdrop-filter:blur(22px) saturate(1.04);-webkit-backdrop-filter:blur(22px) saturate(1.04)}.project-corner-dialog[open]{animation:project-corner-in 220ms cubic-bezier(0.2, 0.7, 0.2, 1)}.project-corner-dialog::backdrop{background:rgba(0,0,0,0)}.project-corner-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:9px 8px 8px 11px}.project-corner-dialog h2{margin:0;font-family:var(--font-display);font-size:16px;font-weight:620;line-height:1;letter-spacing:-0.02em}.project-corner-dialog-head button{position:relative;width:32px;height:32px;border:0;border-radius:50%;padding:0;background:rgba(0,0,0,0);color:#829198;cursor:pointer}.project-corner-dialog-head button:hover{background:rgba(230,236,238,.72)}.project-corner-dialog-head button span::before,.project-corner-dialog-head button span::after{position:absolute;top:15px;left:9px;width:14px;height:1px;background:currentColor;content:""}.project-corner-dialog-head button span::before{transform:rotate(45deg)}.project-corner-dialog-head button span::after{transform:rotate(-45deg)}.project-corner-dialog ol{margin:0}.project-corner-dialog a{position:relative;display:grid;grid-template-columns:29px 1fr;align-items:center;min-height:42px;border-radius:11px;padding:9px 11px;color:var(--ink-soft);font:560 12px/1.2 var(--font-display)}.project-corner-dialog a[aria-current=location]{background:rgba(230,236,238,.72);color:var(--ink)}.project-corner-dialog a[aria-current=location]::after{position:absolute;top:12px;bottom:12px;left:5px;width:2px;border-radius:999px;background:var(--steel);content:""}.project-corner-dialog small{color:#829198;font:600 8px/1 var(--font-utility)}}@keyframes project-corner-in{from{opacity:0;transform:translateY(12px) scale(0.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-transparency: reduce){.project-corner-trigger,.project-corner-dialog{background:#f7f9f9;backdrop-filter:none;-webkit-backdrop-filter:none}}@media(prefers-reduced-motion: reduce){.project-corner-dialog[open]{animation:none}}@media(forced-colors: active){.project-corner-glyph i,.project-corner-glyph i::before{background:CanvasText}.project-corner-trigger,.project-corner-dialog{border:1px solid CanvasText}}.project-caption{display:flex;justify-content:space-between;gap:20px;margin-top:12px;color:var(--ink-faint);font:500 9px/1.45 var(--font-utility);letter-spacing:.06em;text-transform:uppercase}.project-caption-label{flex:0 0 auto}.project-caption-text{max-width:58ch;text-align:right}@media(max-width: 640px){.project-caption{display:block}.project-caption-label,.project-caption-text{display:block}.project-caption-text{margin-top:5px;text-align:left}}.project-figure{width:100%;margin:42px 0}.project-media-frame{margin:42px 0}.project-figure .project-media-frame{margin:0}.project-media-frame{width:100%;overflow:hidden;border:1px solid hsla(0,0%,100%,.72);border-radius:var(--card-radius);background:rgb(var(--surface-rgb)/0.78);box-shadow:inset 0 1px hsla(0,0%,100%,.84),0 30px 76px rgba(36,51,58,.11);backdrop-filter:blur(12px) saturate(1.02);-webkit-backdrop-filter:blur(12px) saturate(1.02)}.project-main .project-media-frame>img,.project-intro .project-media-frame>img{display:block;width:100%;height:auto;margin:0;border:0;border-radius:0;background:#fff;box-shadow:none;object-fit:contain}@media(max-width: 640px){.project-figure,.project-media-frame{margin-block:32px}.project-figure .project-media-frame{margin:0}.project-media-frame{border-radius:20px}}.project-callout{display:grid;grid-template-columns:minmax(180px, 0.42fr) minmax(0, 1fr);gap:34px;margin:38px 0 42px;padding:10px 0 4px}.project-callout>p:first-child{margin:0;color:var(--ink);font-family:var(--font-display);font-size:clamp(28px,4vw,44px);line-height:.95;letter-spacing:-0.055em}.project-callout>p:first-child>:where(strong,em){font-style:normal;font-weight:650}.project-callout>:not(:first-child){margin:0;color:var(--ink-soft)}@media(max-width: 640px){.project-callout{grid-template-columns:1fr;gap:18px;margin-block:32px}}.project-featured-link{display:inline-flex;align-items:center;gap:9px;margin-top:28px;border-bottom:1px solid var(--steel);padding-bottom:5px;color:var(--steel-dark);font:600 10px/1 var(--font-utility);letter-spacing:.08em;text-decoration:none;text-transform:uppercase}.project-intro-copy .project-featured-link{justify-self:start}.project-main a.project-featured-link{color:var(--steel-dark);text-decoration:none}.project-featured-link-arrow{font-size:14px;line-height:1;transition:transform 180ms ease}.project-featured-link:hover .project-featured-link-arrow{transform:translateX(4px)}@media(max-width: 640px){.project-featured-link{margin-top:24px}}.project-video-embed{display:grid;grid-template-columns:minmax(0, 1fr);gap:42px;margin:42px 0;padding:0;list-style:none}.project-main .project-chapter>.project-video-embed{width:100%;max-width:none;margin:42px 0}.project-video-embed-item{min-width:0}.project-video-content,.project-video-frame.project-media-frame{margin:0}.project-video-frame{position:relative;aspect-ratio:16/9}.project-video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}@media(max-width: 640px){.project-main .project-chapter>.project-video-embed{gap:32px;margin:32px 0}}.project-people{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:18px;margin:34px 0 42px;padding:0;list-style:none}.project-person-item{min-width:0}.project-main .project-chapter>.project-people{width:100%;max-width:none}.project-person-card{display:grid;grid-template-columns:58px minmax(0, 1fr);align-items:center;gap:15px;height:100%;overflow:hidden;border:1px solid hsla(0,0%,100%,.72);border-radius:18px;padding:14px;background:rgb(var(--surface-rgb)/0.72);box-shadow:inset 0 1px hsla(0,0%,100%,.8),0 16px 38px rgba(36,51,58,.07);color:var(--ink);text-align:left;text-decoration:none;backdrop-filter:blur(12px) saturate(1.02);-webkit-backdrop-filter:blur(12px) saturate(1.02)}.project-main a.project-person-card{color:var(--ink);text-decoration:none;transition:box-shadow 180ms ease,transform 180ms ease}.project-main a.project-person-card:hover{box-shadow:inset 0 1px hsla(0,0%,100%,.82),0 19px 44px rgba(36,51,58,.09);transform:translateY(-2px)}.project-main .project-person-card img,.project-intro .project-person-card img{display:block;width:58px;height:58px;aspect-ratio:1;margin:0;border:0;border-radius:50%;background:rgba(0,0,0,0);box-shadow:none;object-fit:cover}.project-person-copy{display:grid;gap:5px;padding:0;text-align:left}.project-main .project-person-copy :where(h3,p),.project-intro .project-person-copy :where(h3,p),.project-person-copy>:where(strong,span){margin:0}.project-main .project-person-copy :where(h3,strong),.project-intro .project-person-copy :where(h3,strong){color:var(--ink);font:600 15px/1.2 var(--font-display)}.project-main .project-person-copy :where(p,span),.project-intro .project-person-copy :where(p,span){color:var(--steel-dark);font:600 8px/1 var(--font-utility);letter-spacing:.07em;text-transform:uppercase}@media(max-width: 899px){.project-people{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(max-width: 640px){.project-people{grid-template-columns:minmax(0, 1fr);gap:var(--mobile-card-gap);margin-block:32px}}.project-main .project-chapter:has(>.project-narrative-title)>h1{margin-bottom:16px;color:var(--steel);font:600 9px/1.45 var(--font-utility);letter-spacing:.12em;text-transform:uppercase}.project-narrative-title{max-width:780px;margin-bottom:34px;color:var(--ink);font-family:var(--font-display);font-size:clamp(36px,4.3vw,52px);font-weight:650;line-height:.98;letter-spacing:-0.055em;text-wrap:balance}.project-narrative-title>p{margin:0}@media(max-width: 640px){.project-narrative-title{font-size:36px}}/*# sourceMappingURL=main.css.map */