@font-face{font-family:Manrope;src:url(/fonts/manrope-latin-wght.woff2) format("woff2");font-weight:200 800;font-style:normal;font-display:swap}:root{color-scheme:light;font-family:Manrope,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif;--font-display: Manrope, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;--side-inset: max(clamp(20px, 3.2vw, 54px), env(safe-area-inset-left));--nav-bottom: max(clamp(26px, 5vh, 56px), env(safe-area-inset-bottom));--nav-height: 64px;--nav-half-width: 151px;--ink: #242424;--paper: #f3f1ed;--paper-bright: #fcfaf7;--heading: #242424;--secondary: #55524e;--accent: #68635d;--highlight: #e5e0d8;--active-accent: #68635d}*{box-sizing:border-box}html,body,.experience{width:100%;min-height:100%;height:100vh;height:100dvh;margin:0;overflow:hidden}body{color:var(--ink);background:var(--paper);overscroll-behavior:none}.game-layer{position:fixed;z-index:2000;inset:0;display:none;overflow:hidden;background:var(--paper)}.game-layer.is-open,html.is-campaign-game-route .game-layer{display:block}.game-layer__frame{display:block;width:100%;height:100%;border:0;background:var(--paper)}body.is-game-route-open .experience,html.is-campaign-game-route .experience{visibility:hidden}button,a{color:inherit;font:inherit}button{border:0}.experience{position:relative;isolation:isolate;cursor:grab;touch-action:none;touch-action:pinch-zoom;-webkit-user-select:none;user-select:none;background:var(--paper);transition:background .45s ease}.experience.is-dragging{cursor:grabbing}#webgl{position:absolute;inset:0;z-index:2;width:100%;height:100%;outline:none;transition:opacity .52s ease}.site-header{position:absolute;z-index:6;top:max(18px,env(safe-area-inset-top));left:max(clamp(20px,3.2vw,54px),env(safe-area-inset-left));right:max(clamp(20px,3.2vw,54px),env(safe-area-inset-right));display:grid;grid-template-columns:1fr auto;align-items:center;pointer-events:none;transition:opacity .4s ease,transform .5s cubic-bezier(.22,1,.36,1)}.header-actions{grid-column:2;justify-self:end;display:flex;align-items:center;gap:10px}.view-toggle{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;min-height:48px;padding:0 18px 0 13px;color:#242424e6;background:#fcfaf7d6;border:1px solid rgba(36,36,36,.12);border-radius:999px;box-shadow:0 8px 22px #24242412,inset 0 1px #fffffff5;-webkit-backdrop-filter:blur(14px) saturate(1.03);backdrop-filter:blur(14px) saturate(1.03);pointer-events:auto;cursor:pointer;transition:color .2s ease,background .2s ease,transform .2s ease,box-shadow .2s ease}.view-toggle__icons{position:relative;flex:0 0 22px;width:22px;height:22px}.view-toggle__icon{position:absolute;inset:0;transition:opacity .24s ease,transform .35s cubic-bezier(.22,1,.36,1)}.view-toggle__label{font-size:14px;font-weight:750;letter-spacing:-.01em;white-space:nowrap}.view-toggle__icon svg{display:block;width:100%;height:100%;overflow:visible;fill:#ffffff47;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.view-toggle__icon--row rect{fill:#e5e0d88c;stroke:currentColor;stroke-width:2.2}.view-toggle__icon--carousel path{fill:none;stroke:currentColor;stroke-width:3.4}.view-toggle__icon--carousel{opacity:0;transform:scale(.72) rotate(-12deg)}.view-toggle[data-view=row] .view-toggle__icon--row{opacity:0;transform:scale(.72) rotate(12deg)}.view-toggle[data-view=row] .view-toggle__icon--carousel{opacity:1;transform:scale(1) rotate(0)}@media(hover:hover){.view-toggle:hover{color:var(--heading);background:#fff;transform:translateY(-1px);box-shadow:0 11px 26px #2424241a,inset 0 1px #fffffffa}}.view-toggle:active{transform:translateY(2px) scale(.98)}.view-toggle:disabled{opacity:.45;cursor:default;transform:none}.hero-copy{position:absolute;z-index:5;top:18%;left:max(clamp(30px,5.8vw,92px),env(safe-area-inset-left));width:min(29vw,390px);text-align:left;pointer-events:none;transition:opacity .4s ease,transform .5s cubic-bezier(.22,1,.36,1)}.eyebrow:empty{display:none}.eyebrow{margin:0 0 15px;color:#68635d;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.eyebrow:after{content:"";display:inline-block;width:34px;height:2px;margin:0 0 3px 10px;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--highlight))}.hero-copy h2{margin:0;max-width:390px;color:var(--heading);font-family:var(--font-display);font-size:clamp(48px,5.4vw,82px);font-weight:750;line-height:.88;letter-spacing:-.052em;text-wrap:balance}.hero-copy>p:last-child{display:none;margin:16px 0 0;color:#242424bd;font-size:10px;font-weight:700;letter-spacing:.065em}.hero-copy.is-changing h2,.hero-copy.is-changing>p:last-child{animation:title-change .34s cubic-bezier(.22,1,.36,1)}.experience.is-row .hero-copy{top:14%;left:50%;width:min(70vw,720px);text-align:center;transform:translate(-50%)}.experience.is-row .hero-copy h2{max-width:none}.experience.is-row .eyebrow:after{display:none}@media(min-width:1025px){.hero-copy,.experience.is-row .hero-copy{top:clamp(30px,5.2vh,56px);left:50%;width:min(calc(100vw - (2*clamp(230px,28vw,400px))),780px);text-align:center;transform:translate(-50%)}.eyebrow{margin-bottom:10px}.eyebrow:after{display:none}.hero-copy h2{max-width:none;font-size:clamp(40px,min(4.2vw,7.4vh),64px)}.hero-copy>p:last-child{margin-top:10px}}@keyframes title-change{0%{opacity:0;transform:translate(-9px)}to{opacity:1;transform:translate(0)}}.float-nav{position:absolute;z-index:7;left:50%;bottom:var(--nav-bottom);display:flex;align-items:center;gap:9px;width:max-content;min-width:0;height:var(--nav-height);padding:8px;color:var(--heading);background:#fcfaf7e0;border:1px solid rgba(36,36,36,.13);border-radius:999px;box-shadow:0 18px 42px #2424241f,inset 0 1px #fffffff5;-webkit-backdrop-filter:blur(18px) saturate(1.08);backdrop-filter:blur(18px) saturate(1.08);overflow:hidden;cursor:default;touch-action:auto;transform:translate(-50%);transition:opacity .4s ease,transform .5s cubic-bezier(.22,1,.36,1)}.experience.is-row .float-nav{opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,12px)}.nav-shine{position:absolute;inset:0;pointer-events:none;background:linear-gradient(108deg,rgba(255,255,255,.5),transparent 30% 76%,rgba(229,224,216,.06))}.game-picker{position:relative;display:flex;align-items:center;gap:7px}.game-picker__button{position:relative;display:grid;place-items:center;width:44px;height:44px;padding:0;color:#242424b8;background:#ffffffa8;border:1px solid rgba(36,36,36,.13);border-radius:50%;box-shadow:inset 0 1px #ffffffeb;cursor:pointer;font-size:12px;font-weight:800;letter-spacing:.04em;transition:color .2s ease,background .2s ease,border-color .2s ease,opacity .2s ease,transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s ease}.game-picker__number{transform:translateZ(0)}.game-picker__lock{position:absolute;z-index:2;top:-5px;right:-5px;display:grid;place-items:center;width:18px;height:18px;color:var(--heading);background:var(--highlight);border:1.5px solid rgba(255,255,255,.96);border-radius:50%;box-shadow:0 2px 0 var(--accent),0 4px 10px #2424242e;pointer-events:none}.game-picker__lock svg{width:11px;height:11px;overflow:visible}.game-picker__lock path{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.65}.game-picker__lock rect{fill:currentColor}.game-picker__lock circle{fill:var(--highlight)}.game-picker__button[data-locked=true]{border-color:#24242433}.game-picker__button[data-locked=true][aria-current=true] .game-picker__lock{color:var(--heading);background:#fff;border-color:var(--highlight)}.game-picker__button[aria-current=true]{color:#fff;background:linear-gradient(145deg,#41403e,#242424);border-color:var(--heading);box-shadow:0 4px 0 var(--accent),0 0 0 3px var(--highlight),inset 0 1px #fff3;transform:scale(1.03)}.game-picker__button:disabled,.launch-button:disabled{cursor:default;opacity:.42}.launch-button{position:relative;display:grid;place-items:center;align-items:center;justify-content:center;flex:0 0 auto;min-width:48px;height:48px;padding:0 22px;color:#242424;background:var(--highlight);border:1px solid #bab4ab;border-radius:999px;font-size:14px;font-weight:800;letter-spacing:-.01em;box-shadow:0 4px 0 var(--accent);cursor:pointer;transition:background .18s ease,transform .2s cubic-bezier(.22,1,.36,1),box-shadow .18s ease}.launch-button svg{width:17px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}@media(hover:hover){.game-picker__button:hover:not([aria-current=true]):not(:disabled){color:var(--heading);background:#fff;transform:translateY(-2px)}.launch-button:hover:not(:disabled){background:#f2eee7;transform:translateY(-2px);box-shadow:0 6px 0 var(--accent)}}.game-picker__button:active:not(:disabled){transform:translateY(1px) scale(.96)}.launch-button:active:not(:disabled){transform:translateY(2px) scale(.98);box-shadow:0 1px 0 var(--accent)}.game-picker__button:focus-visible,.launch-button:focus-visible,.view-toggle:focus-visible,.row-card-button:focus-visible,.detail-action:focus-visible,.contact-link:focus-visible,.fallback a:focus-visible,.fallback button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.row-card-controls{position:fixed;inset:0;z-index:6;pointer-events:none}.row-card-button{position:absolute;min-width:44px;min-height:44px;padding:0;color:transparent;background:transparent;border:0;border-radius:18px;opacity:0;visibility:hidden;pointer-events:none;cursor:pointer;transform:translate(-50%,-50%);transition:opacity .18s ease}.experience.is-row .row-card-button{opacity:1;visibility:visible;pointer-events:auto}.row-card-button[aria-disabled=true]{cursor:not-allowed}.row-card-button:focus-visible{outline-color:var(--highlight);background:#ffffff09;box-shadow:0 0 0 6px #68635d2e}.experience.is-row.is-selecting .row-card-button{opacity:0;outline:0;box-shadow:none}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.is-intro #webgl{opacity:0;transition:opacity .22s ease}.is-intro.is-card-intro-visible #webgl{opacity:1}.is-intro .site-header,.is-intro .hero-copy,.is-intro .float-nav{opacity:0;pointer-events:none}.is-intro .site-header,.is-intro .hero-copy{transform:translateY(-10px)}.is-intro .float-nav{transform:translate(-50%,14px)}.is-selecting .site-header,.is-selecting .hero-copy,.is-selecting .float-nav,.is-selecting .view-toggle,.is-detail .view-toggle{opacity:0;pointer-events:none}.is-selecting .site-header,.is-selecting .hero-copy{transform:translateY(-12px)}.is-selecting .float-nav{transform:translate(-50%,16px)}.experience.is-row.is-selecting .hero-copy{transform:translate(-50%,-12px)}@media(min-width:1025px){.is-intro .hero-copy{transform:translate(-50%,-10px)}.is-selecting .hero-copy,.experience.is-row.is-selecting .hero-copy{transform:translate(-50%,-12px)}}.detail-view{--detail-gutter: max(clamp(22px, 6vw, 96px), env(safe-area-inset-left));position:fixed;inset:0;z-index:16;display:grid;grid-template-columns:minmax(0,560px) minmax(0,640px);justify-content:center;align-content:center;align-content:safe center;align-items:center;column-gap:clamp(36px,5vw,88px);padding:max(92px,env(safe-area-inset-top)) var(--detail-gutter) max(48px,env(safe-area-inset-bottom));overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;touch-action:pan-y pinch-zoom;color:#fff;text-align:left;-webkit-user-select:text;user-select:text;background:radial-gradient(circle at 74% 46%,rgba(139,133,123,.5),transparent 34%),linear-gradient(145deg,#191919,#292827 58%,#3d3b38);opacity:0;visibility:hidden;pointer-events:none;clip-path:inset(0 100% 0 0);transform:scale(1.012);transition:opacity .2s ease,transform .5s cubic-bezier(.22,.75,.2,1),visibility 0s .52s;will-change:clip-path,opacity,transform}.is-detail-revealing .detail-view,.is-detail .detail-view{opacity:1;visibility:visible;transform:scale(1);transition-delay:0s}.is-detail-revealing .detail-view{clip-path:inset(0 calc(100% - var(--detail-reveal, 0%)) 0 0)}.is-detail .detail-view{clip-path:inset(0);pointer-events:auto}.detail-view>*{opacity:0;transform:translateY(8px);transition:opacity .22s ease,transform .32s cubic-bezier(.22,1,.36,1)}.is-detail .detail-view>*{opacity:1;transform:translateY(0)}.detail-view>.detail-content,.is-detail .detail-view>.detail-content{opacity:1;transform:none}.detail-content>*,.detail-view>.detail-art{opacity:0;transform:translateY(12px);transition:opacity .2s ease,transform .2s ease}.detail-view>.detail-art{transform:translate(28px)}.is-detail .detail-content>*,.is-detail .detail-view>.detail-art{opacity:1;transform:none;transition:opacity .45s ease,transform .6s cubic-bezier(.22,1,.36,1)}.is-detail .detail-content>:nth-child(1){transition-delay:.04s}.is-detail .detail-view>.detail-art{transition-delay:.1s}.is-detail .detail-content>:nth-child(2){transition-delay:.1s}.is-detail .detail-content>:nth-child(3){transition-delay:.16s}.is-detail .detail-content>:nth-child(4){transition-delay:.22s}.is-detail .detail-content>:nth-child(n+5){transition-delay:.28s}.is-detail #webgl{opacity:0}.is-detail-leaving .detail-view{opacity:1;visibility:visible;transform:none;clip-path:inset(0 0 0 100%);transition:clip-path .6s cubic-bezier(.65,.05,.25,1) .08s}.is-detail-leaving .detail-view>*,.is-detail-leaving .detail-content>*{transform:none;transition:opacity .18s ease}.detail-back{position:absolute;top:max(22px,env(safe-area-inset-top));left:max(clamp(14px,4vw,54px),env(safe-area-inset-left));display:flex;align-items:center;justify-content:center;gap:12px;min-height:44px;padding:0 4px 0 0;color:var(--paper);background:transparent;border-radius:4px;font-size:13px;font-weight:600;letter-spacing:-.01em;cursor:pointer}.detail-back__icon{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;border:1px solid rgba(255,255,255,.28);border-radius:50%}.detail-back svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s cubic-bezier(.22,1,.36,1)}.detail-back__icon{transition:border-color .2s ease,transform .15s ease}.detail-back:active .detail-back__icon{transform:scale(.92)}.detail-back:active svg{transform:translate(-4px)}.detail-back:focus{outline:none}.detail-back:focus-visible:not([data-pointer-focus]) .detail-back__icon{outline:2px solid var(--paper);outline-offset:4px}@media(hover:hover){.detail-back:hover .detail-back__icon{border-color:var(--paper)}.detail-back:hover svg{transform:translate(-3px)}}.detail-content{min-width:0}.detail-credit{margin:16px 0 0;color:#ffffffa6;font-size:13px;font-weight:400;line-height:1.5}.detail-credit:empty{display:none}.detail-view h2{margin:0;font-family:var(--font-display);font-size:clamp(44px,5.4vw,86px);font-weight:800;line-height:.94;letter-spacing:-.05em;text-wrap:balance}.detail-summary{max-width:34em;margin:20px 0 0;color:#ffffffdb;font-size:clamp(16px,1.3vw,19px);font-weight:500;line-height:1.5}.detail-summary:empty{display:none}.detail-facts{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:11px 22px;margin:26px 0 0;padding-top:20px;border-top:1px solid rgba(255,255,255,.16);font-size:15px;line-height:1.4}.detail-facts:empty{display:none}.detail-facts dt{padding-top:2px;color:#f2eee7cc;font-size:12px;font-weight:750;letter-spacing:.1em;text-transform:uppercase}.detail-facts dd{margin:0;color:#fff;font-weight:600}.detail-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.detail-action{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:168px;min-height:52px;padding:0 28px;color:#242424;background:var(--highlight);border-radius:999px;box-shadow:0 6px 0 var(--accent);font-size:15px;font-weight:800;letter-spacing:-.005em;text-decoration:none;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .2s ease}.detail-action:hover{background:#f2eee7}.detail-action:active{transform:translateY(4px);box-shadow:0 2px 0 var(--accent)}.detail-action[aria-disabled=true]{color:#2424249e;background:#d5d0c9;box-shadow:0 5px #68635d80;cursor:not-allowed}.detail-note:empty{display:none}.detail-note{max-width:34em;margin:16px 0 0;color:#ffffffb8;font-size:13px;line-height:1.5}.detail-art{--rest-x: 2deg;--rest-y: -9deg;min-width:0;margin:0;perspective:1400px}.detail-art__card{position:relative;border-radius:clamp(10px,1.2vw,18px);box-shadow:0 46px 80px -30px #0000009e,0 18px 34px -16px #0000006b;transform:rotateY(calc(var(--rest-y) + var(--tilt-y, 0deg))) rotateX(calc(var(--rest-x) + var(--tilt-x, 0deg))) translateZ(var(--tilt-depth, 0px));transition:transform .24s cubic-bezier(.2,.65,.3,1);pointer-events:none}.detail-art__card:after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at var(--glare-x, 30%) var(--glare-y, 20%),rgba(255,255,255,.2),rgba(255,255,255,0) 52%);box-shadow:inset 0 0 0 1px #ffffff1a;opacity:var(--glare-opacity, .35);transition:opacity .3s ease}.detail-art canvas{display:block;width:100%;height:auto;aspect-ratio:2.5;border-radius:inherit}.fallback{display:none;position:absolute;top:50%;left:50%;width:min(460px,calc(100vw - 32px));transform:translate(-50%,-50%);z-index:40;padding:15px;color:var(--heading);background:#fff;border:1px solid rgba(36,36,36,.1);border-radius:14px;box-shadow:0 16px 34px #2424241f;font-size:13px;text-align:center}.fallback strong,.fallback span{display:block}.fallback span{margin:5px 0 10px;color:#242424b3}.fallback button{margin-top:12px;padding:11px 16px;color:#fff;background:var(--heading);border-radius:999px;cursor:pointer}.no-webgl .fallback{display:block}@media(max-width:1024px){:root{--side-inset: max(16px, env(safe-area-inset-left));--nav-bottom: max(12px, env(safe-area-inset-bottom))}.site-header{grid-template-columns:1fr auto;top:max(14px,env(safe-area-inset-top));left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right))}.strapline{display:none}.hub-label{max-width:132px;text-align:right;font-size:8px}.hero-copy{top:13.2%;left:18px;right:18px;width:auto;text-align:center}.eyebrow{margin-bottom:10px}.eyebrow:after{display:none}.hero-copy h2{max-width:none;font-size:clamp(42px,9vw,66px)}.hero-copy>p:last-child{margin-top:10px;font-size:9px}.float-nav{max-width:calc(100vw - 20px - env(safe-area-inset-left) - env(safe-area-inset-right))}.experience.is-row .hero-copy{top:12.5%;left:18px;right:18px;width:auto;transform:none}.experience.is-row.is-selecting .hero-copy{transform:translateY(-12px)}}@media(max-width:860px){.detail-view{grid-template-columns:minmax(0,620px);align-content:start;row-gap:36px;padding-top:max(88px,calc(env(safe-area-inset-top) + 76px))}.detail-art{--rest-x: 0deg;--rest-y: 0deg}}@media(max-width:700px){.hero-copy{top:max(13.2%,calc(max(14px,env(safe-area-inset-top)) + 80px))}.hero-copy h2{font-size:clamp(40px,13vw,57px)}.experience.is-row .hero-copy{top:max(84px,calc(env(safe-area-inset-top) + 72px))}.experience.is-row .eyebrow{margin-bottom:8px;font-size:10px}.experience.is-row .hero-copy h2{font-size:clamp(27px,7.4vw,36px);line-height:1.05;letter-spacing:-.04em}.detail-view h2{font-size:clamp(40px,12vw,58px)}.detail-summary{margin-top:16px;font-size:16px}.detail-facts{gap:9px 16px;font-size:14px}.detail-facts dt{font-size:11px}.detail-actions{margin-top:26px}.detail-action{flex:1 1 auto}.detail-back{top:max(12px,env(safe-area-inset-top))}}@media(max-width:350px){.site-header{grid-template-columns:1fr auto}.hero-copy{top:max(12.5%,calc(max(14px,env(safe-area-inset-top)) + 76px))}.hero-copy h2{font-size:39px}:root{--nav-height: 58px;--nav-half-width: 130px}.float-nav{gap:7px;height:58px;padding:6px}.game-picker{gap:5px}.game-picker__button{width:40px;height:40px}.launch-button{height:46px;padding:0 16px;font-size:13px}}@media(max-height:650px)and (min-width:1025px){.eyebrow{margin-bottom:6px}.hero-copy>p:last-child{margin-top:6px}:root{--nav-bottom: 20px}}@media(max-height:650px)and (max-width:1024px){.hero-copy{top:12%}.hero-copy h2{font-size:clamp(36px,8vh,50px)}}@media(prefers-reduced-motion:reduce){.detail-art__card{transform:none}.detail-view>.detail-art,.is-detail .detail-content>*,.is-detail .detail-view>.detail-art{transform:none;transition-delay:0s!important}*,*:before,*:after{scroll-behavior:auto!important;animation-duration:1ms!important;transition-duration:1ms!important}}.portfolio-intro{position:absolute;z-index:6;left:var(--side-inset);bottom:var(--nav-bottom);width:min(340px,calc(50vw - var(--nav-half-width) - 28px - var(--side-inset)));color:var(--heading);cursor:auto;-webkit-user-select:text;user-select:text;transition:opacity .4s ease,transform .5s cubic-bezier(.22,1,.36,1)}.portfolio-intro__heading{display:flex;align-items:center;gap:10px}.portfolio-intro__heading .campaign-audio--hub{flex:0 0 44px;width:44px;min-height:44px;height:44px}.portfolio-intro__name{margin:0;font-family:var(--font-display);font-size:24px;font-weight:800;line-height:1.05;letter-spacing:-.035em}.portfolio-intro__role{margin:6px 0 0;color:#68635d;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.portfolio-intro__summary{margin:10px 0 0;color:#242424cc;font-size:14px;font-weight:550;line-height:1.45}.contact-links{position:absolute;z-index:7;right:max(clamp(20px,3.2vw,54px),env(safe-area-inset-right));bottom:calc(var(--nav-bottom) + (var(--nav-height) - 48px) / 2);display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:calc(50vw - var(--nav-half-width) - 24px - var(--side-inset));pointer-events:none;transition:opacity .4s ease,transform .5s cubic-bezier(.22,1,.36,1)}.contact-link{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 18px;color:var(--heading);background:#fcfaf7e6;border:1px solid rgba(36,36,36,.14);border-radius:999px;box-shadow:0 4px #d5d0c9,0 10px 24px #2424241a,inset 0 1px #fffffff5;-webkit-backdrop-filter:blur(14px) saturate(1.03);backdrop-filter:blur(14px) saturate(1.03);font-size:14px;font-weight:750;letter-spacing:-.005em;text-decoration:none;white-space:nowrap;pointer-events:auto;cursor:pointer;transition:color .2s ease,background .2s ease,transform .2s ease,box-shadow .2s ease}.contact-link svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.contact-link--primary{color:#fcfaf7;background:var(--heading);border-color:var(--heading);box-shadow:0 4px 0 var(--accent),0 10px 24px #24242429}.contact-link--primary svg{color:var(--highlight)}@media(hover:hover){.contact-link:hover{background:#fff;transform:translateY(-1px)}.contact-link--primary:hover{background:#3e3b37}}.contact-link:active{transform:translateY(3px);box-shadow:0 1px #d5d0c9,inset 0 1px #fffffff5}.contact-link--primary:active{box-shadow:0 1px 0 var(--accent)}.email-dialog{width:min(420px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:24px;color:var(--ink);background:var(--paper-bright);border:1px solid rgba(36,36,36,.14);border-radius:20px;box-shadow:0 24px 80px #0003;overflow:auto}.email-dialog::backdrop{background:#18181873}.email-dialog{opacity:0;transform:translateY(14px) scale(.97);transition:opacity .18s ease,transform .2s ease}.email-dialog.is-open{opacity:1;transform:none;transition:opacity .25s ease,transform .45s cubic-bezier(.22,1,.36,1)}.email-dialog::backdrop{opacity:0;transition:opacity .2s ease}.email-dialog.is-open::backdrop{opacity:1;transition:opacity .3s ease}.email-dialog__header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.email-dialog h2{margin:0;font-size:24px;letter-spacing:-.03em}.email-dialog__close{width:44px;height:44px;border-radius:50%;background:var(--highlight);font-size:26px;cursor:pointer}.email-dialog__address{width:100%;min-width:0;padding:14px 12px;border:1px solid #bab4ab;border-radius:10px;color:var(--ink);background:#fff;font:inherit;font-size:16px;-webkit-user-select:text;user-select:text}.email-dialog__actions{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0 4px}.email-dialog__actions .contact-link{flex:1;justify-content:center}.email-dialog__check{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.email-dialog :focus-visible{outline:2px solid var(--ink);outline-offset:4px}.email-dialog button:disabled{cursor:wait;opacity:.65}@media(min-width:1025px){.portfolio-intro__name{font-size:clamp(30px,2.5vw,40px);letter-spacing:-.045em}.portfolio-intro__role{margin-top:8px}.portfolio-intro__summary{margin-top:12px;font-size:15px}}.header-about{justify-self:start}.header-about__icon{flex:0 0 20px;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.site-header .view-toggle{height:44px;min-height:44px;background:#ffffff6b;border-color:#2424241a;box-shadow:none}@media(hover:hover){.site-header .view-toggle:hover{background:#ffffffd9;box-shadow:none}}.about-view{--about-gutter: max(clamp(22px, 6vw, 96px), env(safe-area-inset-left));position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;color:var(--paper);background:radial-gradient(circle at 80% 14%,rgba(139,133,123,.34),transparent 40%),linear-gradient(145deg,#191919,#292827 58%,#3d3b38);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;clip-path:inset(0 100% 0 0);transition:clip-path .62s cubic-bezier(.65,.05,.25,1)}.about-view.is-revealed{clip-path:inset(0)}.about-view.is-leaving{clip-path:inset(0 0 0 100%);transition:clip-path .6s cubic-bezier(.65,.05,.25,1) .1s}.about-view.is-leaving .about-view__back,.about-view.is-leaving .about-view__content>*{opacity:0;transform:none;transition:opacity .18s ease}.about-view::backdrop{background:transparent}.about-view__back,.about-view__content>*{opacity:0;transform:translateY(14px);transition:opacity .35s ease,transform .5s cubic-bezier(.22,1,.36,1)}.about-view.is-revealed .about-view__back,.about-view.is-revealed .about-view__content>*{opacity:1;transform:none}.about-view.is-revealed .about-view__back{transition-delay:.3s}.about-view.is-revealed .about-view__intro{transition-delay:.32s}.about-view.is-revealed .about-view__index{transition-delay:.4s}.about-view__content{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:64px clamp(48px,7vw,120px);max-width:1320px;margin:0 auto;padding:max(116px,calc(env(safe-area-inset-top) + 92px)) var(--about-gutter) max(72px,env(safe-area-inset-bottom))}.about-view__label{margin:0;color:#f2eee799;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.about-view__statement{margin:0;font-family:var(--font-display);font-size:clamp(48px,5.6vw,84px);font-weight:800;line-height:1;letter-spacing:-.045em;text-wrap:balance}.about-view__location{display:inline-flex;align-items:center;gap:8px;margin:0 0 20px;color:#f2eee7b8;font-size:14px;font-weight:700;letter-spacing:.01em}.about-view__location svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.about-view__sub{max-width:22em;margin:18px 0 0;color:#ffffffeb;font-size:clamp(20px,1.8vw,27px);font-weight:650;line-height:1.3;letter-spacing:-.02em;text-wrap:balance}.about-view__bio{max-width:30em;margin:22px 0 0;color:#ffffffc7;font-size:clamp(16px,1.2vw,18px);line-height:1.6}.about-view__actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:30px}.about-view .contact-link--on-dark{color:var(--paper);background:#ffffff0f;border-color:#ffffff3d;box-shadow:0 4px #0000006b;-webkit-backdrop-filter:none;backdrop-filter:none}.about-view .contact-link--on-dark.contact-link--primary{color:var(--ink);background:var(--paper);border-color:var(--paper);box-shadow:0 4px #8b857b,0 10px 24px #00000047}.about-view .contact-link--on-dark.contact-link--primary svg{color:currentColor}.about-view .contact-link:focus-visible{outline:2px solid var(--paper);outline-offset:4px}@media(hover:hover){.about-view .contact-link--on-dark:hover{background:#ffffff1f}.about-view .contact-link--on-dark.contact-link--primary:hover{background:#fff}}.about-view__index{align-self:start;padding-top:6px}.about-rows{margin:18px 0 0;padding:0;list-style:none;border-top:1px solid rgba(255,255,255,.16)}.about-rows>li{border-bottom:1px solid rgba(255,255,255,.16)}.about-rows+.about-view__label{margin-top:52px}.about-row{display:grid;grid-template-columns:112px minmax(0,1fr) 20px;align-items:baseline;gap:4px 18px;width:100%;padding:20px 0;color:inherit;background:none;text-align:left;cursor:pointer}.about-row__years{color:#f2eee794;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}.about-row__role{font-size:clamp(18px,1.5vw,22px);font-weight:800;letter-spacing:-.025em}.about-row__org{grid-column:2;color:#ffffffb3;font-size:14px;font-weight:600}.about-row__icon{position:relative;grid-column:3;grid-row:1;align-self:center;width:14px;height:14px}.about-row__icon:before,.about-row__icon:after{content:"";position:absolute;inset:6px 0 auto;height:2px;border-radius:2px;background:currentColor;transition:transform .3s cubic-bezier(.22,1,.36,1)}.about-row__icon:after{transform:rotate(90deg)}.about-row[aria-expanded=true] .about-row__icon:after{transform:rotate(0)}.about-row__icon{opacity:.6;transition:opacity .2s ease}.about-row[aria-expanded=true] .about-row__icon{opacity:1}@media(hover:hover){.about-row:hover .about-row__icon{opacity:1}}.about-row:focus-visible{outline:2px solid var(--paper);outline-offset:4px;border-radius:4px}.about-row__panel{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .4s cubic-bezier(.22,1,.36,1),visibility 0s .4s}.about-row[aria-expanded=true]+.about-row__panel{grid-template-rows:1fr;visibility:visible;transition-delay:0s}.about-row__inner{min-height:0;overflow:hidden;padding-left:130px}.about-row__meta{margin:0;color:#f2eee794;font-size:13px;font-weight:600}.about-row__inner ul{margin:10px 0 0;padding:0 0 22px 18px;list-style:disc;color:#ffffffd1;font-size:15px;line-height:1.55}.about-row__inner li+li{margin-top:6px}@media(max-width:860px){.about-view__content{grid-template-columns:minmax(0,1fr);gap:52px;padding-top:max(92px,calc(env(safe-area-inset-top) + 80px))}}@media(max-width:560px){.about-row{grid-template-columns:minmax(0,1fr) 20px}.about-row__years,.about-row__role,.about-row__org{grid-column:1}.about-row__icon{grid-row:1 / span 2}.about-row__inner{padding-left:0}.about-view__statement{font-size:clamp(40px,12vw,52px)}}.portfolio-intro>*{transition:opacity .45s ease,transform .55s cubic-bezier(.22,1,.36,1)}.portfolio-intro__role{transition-delay:.07s}.portfolio-intro__summary{transition-delay:.14s}.is-intro .portfolio-intro>*{opacity:0;transform:translateY(12px)}.is-intro .contact-links{opacity:0;pointer-events:none;transform:translateY(10px)}.is-selecting .portfolio-intro,.is-selecting .contact-links,.is-detail .portfolio-intro,.is-detail .contact-links{opacity:0;visibility:hidden}.is-selecting .contact-link,.is-detail .contact-link{pointer-events:none}.experience.is-row .portfolio-intro__summary{display:none}@media(max-height:640px){.portfolio-intro__summary{display:none}}@media(max-width:860px)and (min-height:521px){.portfolio-intro{left:0;right:0;bottom:calc(var(--nav-bottom) + var(--nav-height) + 72px);width:min(calc(100vw - 32px),440px);margin:0 auto;text-align:center}.portfolio-intro__heading{justify-content:center}.portfolio-intro__name{font-size:24px}.portfolio-intro__role{margin-top:0;font-size:11px}.portfolio-intro__summary{margin-top:6px;font-size:13px}.contact-links{left:0;right:0;bottom:calc(var(--nav-bottom) + var(--nav-height) + 12px);justify-content:center;max-width:none}.experience.is-row .portfolio-intro{bottom:calc(var(--nav-bottom) + 60px)}.experience.is-row .contact-links{bottom:var(--nav-bottom)}}@media(max-width:860px)and (min-height:521px)and (max-height:700px){.portfolio-intro__summary{display:none}}@media(max-width:700px){.header-actions{gap:8px}.view-toggle{padding:0 14px 0 11px;gap:7px}.view-toggle__label{font-size:13px}.contact-link{min-height:46px}}
