:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#080808;--ink-soft:#111;--paper:#f3f1ec;--paper-muted:#f3f1eca8;--paper-faint:#f3f1ec9e;--rule:#f3f1ec47;--accent:#d7c2b8;--stage-gap:clamp(.75rem, 2.4vw, 2.25rem);--stage-pad:clamp(1rem, 3vw, 3.5rem);--header-height:clamp(6.5rem, 12vh, 8.5rem);--footer-height:clamp(2.75rem, 6vh, 4.25rem);--portrait-top-zone-height:108px;--font-display:"Raleway", "Avenir Next", "Segoe UI", sans-serif;--font-body:"Raleway", "Avenir Next", "Segoe UI", sans-serif}@font-face{font-family:Raleway;src:url(/fonts/Raleway-Variable.ttf)format("truetype");font-display:swap;font-style:normal;font-weight:100 900}@font-face{font-family:Lato;src:url(/fonts/Lato-Regular.ttf)format("truetype");font-display:swap;font-style:normal;font-weight:400}@font-face{font-family:Black Pink Signature;src:url(/fonts/Black-Pink-Signature-Regular.woff2)format("woff2"),url(/fonts/Black-Pink-Signature-Regular.ttf)format("truetype");font-display:swap;font-style:normal;font-weight:400}*{box-sizing:border-box}html,body,#root{min-width:320px;height:100%;min-height:100%}html{background:var(--ink)}body{background:var(--ink);color:var(--paper);font-family:var(--font-body);-webkit-user-select:none;user-select:none;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:16px;overflow:hidden}button,a{color:inherit;font:inherit}button{border:0}a{text-decoration:none}.app-shell{grid-template-rows:var(--header-height) minmax(0, 1fr) var(--footer-height);background:var(--ink);height:100dvh;min-height:30rem;display:grid;position:relative;overflow:hidden}.app-shell--locale-phase-in .site-header,.app-shell--locale-phase-in .site-footer{animation:.25s steps(8,end) both locale-glitch-frame}.app-shell--locale-phase-out .site-header,.app-shell--locale-phase-out .site-footer{animation:.25s steps(8,end) reverse both locale-glitch-frame}.app-shell--locale-phase-in :where(.brand__name,.brand__descriptor,.locale-option,.locale-switcher__slash,.quadrant__index,.quadrant__arrow,.quadrant__label,.section-panel__inner,.site-footer>*){animation:.25s steps(8,end) both locale-glitch-text}.app-shell--locale-phase-out :where(.brand__name,.brand__descriptor,.locale-option,.locale-switcher__slash,.quadrant__index,.quadrant__arrow,.quadrant__label,.section-panel__inner,.site-footer>*){animation:.25s steps(8,end) reverse both locale-glitch-text}.localized-crossfade{vertical-align:baseline;max-width:100%;display:inline-grid;position:relative}.localized-crossfade__layer{grid-area:1/1;min-width:0}.localized-crossfade--block{width:100%;display:grid}.localized-crossfade--block .localized-crossfade__layer{width:100%;display:block}.quadrant__label>.localized-crossfade,.brand__descriptor>.localized-crossfade{width:100%}.brand__descriptor .localized-crossfade__layer>span{display:block}.locale-glitch{z-index:50;pointer-events:none;visibility:hidden;opacity:0;isolation:isolate;position:fixed;inset:0;overflow:hidden}.locale-glitch--active{visibility:visible;opacity:1}.locale-glitch__surface{position:absolute;left:0;right:0;overflow:hidden}.locale-glitch__surface--header{height:var(--header-height);top:0}.locale-glitch__surface--content{top:var(--header-height);bottom:var(--footer-height)}.locale-glitch__surface--footer{height:var(--footer-height);bottom:0}.locale-glitch__scanlines,.locale-glitch__slice,.locale-glitch__flash,.locale-glitch__fragment{pointer-events:none;position:absolute}.locale-glitch__scanlines{mix-blend-mode:screen;opacity:0;background:repeating-linear-gradient(0deg,#0000 0 3px,#f3f1ec09 3px 4px);inset:0}.locale-glitch__slice{opacity:0;mix-blend-mode:screen;will-change:transform, opacity, clip-path;width:116vw;height:clamp(1.5rem,4vh,4rem);left:-8vw;transform:translate(0,0)}.locale-glitch__slice--cyan{background:linear-gradient(90deg,#0000 0 8%,#00e2ff21 24%,#f3f1ec1f 48%,#0000 72% 100%);top:26%}.locale-glitch__slice--magenta{background:linear-gradient(90deg,#0000 0 18%,#ff00701f 36%,#f3f1ec1c 64%,#0000 84% 100%);top:58%}.locale-glitch__slice--white{background:#f3f1ec6b;height:1px;top:76%;box-shadow:0 0 14px #f3f1ec33}.locale-glitch__fragment{top:var(--glitch-top);width:116vw;height:var(--glitch-height);background:linear-gradient(90deg, transparent 0 4%, var(--glitch-color) 18% 42%, #f3f1ec2e 42% 64%, var(--glitch-color) 64% 78%, transparent 92% 100%);box-shadow:0 0 12px var(--glitch-color);clip-path:inset(0 100% 0 0);opacity:0;mix-blend-mode:screen;will-change:transform, opacity, clip-path;left:-8vw;transform:translate(0,0)}.locale-glitch__flash{mix-blend-mode:screen;opacity:0;background:radial-gradient(circle at 50% 48%,#f3f1ec12,#0000 38%);inset:0}.locale-glitch--phase-in .locale-glitch__scanlines,.locale-glitch--phase-in .locale-glitch__slice,.locale-glitch--phase-in .locale-glitch__flash{animation-duration:.25s;animation-fill-mode:both}.locale-glitch--phase-out .locale-glitch__scanlines,.locale-glitch--phase-out .locale-glitch__slice,.locale-glitch--phase-out .locale-glitch__flash{animation-duration:.25s;animation-direction:reverse;animation-fill-mode:both}.locale-glitch--phase-in .locale-glitch__scanlines,.locale-glitch--phase-out .locale-glitch__scanlines{animation-name:locale-glitch-scanlines;animation-timing-function:steps(8,end)}.locale-glitch--phase-in .locale-glitch__slice--cyan,.locale-glitch--phase-out .locale-glitch__slice--cyan{animation-name:locale-glitch-slice-cyan;animation-timing-function:steps(8,end)}.locale-glitch--phase-in .locale-glitch__slice--magenta,.locale-glitch--phase-out .locale-glitch__slice--magenta{animation-name:locale-glitch-slice-magenta;animation-timing-function:steps(8,end)}.locale-glitch--phase-in .locale-glitch__slice--white,.locale-glitch--phase-out .locale-glitch__slice--white{animation-name:locale-glitch-slice-white;animation-timing-function:steps(8,end)}.locale-glitch--phase-in .locale-glitch__flash,.locale-glitch--phase-out .locale-glitch__flash{animation-name:locale-glitch-flash;animation-timing-function:steps(8,end)}.locale-glitch--phase-in .locale-glitch__fragment{animation:locale-glitch-fragment .25s steps(9, end) var(--glitch-delay) both}.locale-glitch--phase-out .locale-glitch__fragment{animation:locale-glitch-fragment .25s steps(9, end) var(--glitch-delay) reverse both}@keyframes locale-glitch-frame{0%,8%{transform:translate(0,0)}19%{transform:translate(-.1%)}34%{transform:translate(.25%)}51%{transform:translate(-.45%)}68%{transform:translate(.75%)}84%{transform:translate(-1%)}to{transform:translate(.65%)}}@keyframes locale-glitch-text{0%{text-shadow:none;filter:none;translate:0}18%{text-shadow:.5px 0 #00e2ff1a,-.5px 0 #ff007014;translate:-.5px}34%{text-shadow:-1px 0 #00e2ff33,1px 0 #ff007029;translate:1px}51%{text-shadow:1.5px 0 #00e2ff47,-1.5px 0 #ff007038;filter:saturate(1.08);translate:-1.5px}68%{text-shadow:-2px 0 #00e2ff5c,2px 0 #ff007047;filter:saturate(1.16);translate:2px}84%{text-shadow:2.5px 0 #00e2ff7a,-2.5px 0 #ff007061;filter:saturate(1.24);translate:-2.5px}to{text-shadow:-3px 0 #00e2ff8f,3px 0 #ff007070;filter:saturate(1.3);translate:3px}}@keyframes locale-glitch-scanlines{0%{opacity:0}12%{opacity:.08}25%{opacity:.18}38%{opacity:.1}52%{opacity:.3}66%{opacity:.46}80%{opacity:.65}to{opacity:.85}}@keyframes locale-glitch-slice-cyan{0%,16%{clip-path:inset(0 100% 0 0);opacity:0;transform:translate(0,0)}30%{clip-path:inset(0);opacity:.18;transform:translate(-.3%)}44%{clip-path:inset(0);opacity:.33;transform:translate(1%)}58%{clip-path:inset(0);opacity:.5;transform:translate(-1.2%)}76%{clip-path:inset(0);opacity:.72;transform:translate(1.8%)}to{clip-path:inset(0);opacity:.9;transform:translate(-2.5%)}}@keyframes locale-glitch-slice-magenta{0%,12%{clip-path:inset(0 100% 0 0);opacity:0;transform:translate(0,0)}26%{clip-path:inset(0);opacity:.16;transform:translate(.4%)}40%{clip-path:inset(0);opacity:.3;transform:translate(-.9%)}57%{clip-path:inset(0);opacity:.46;transform:translate(1.4%)}78%{clip-path:inset(0);opacity:.7;transform:translate(-1.9%)}to{clip-path:inset(0);opacity:.82;transform:translate(2.2%)}}@keyframes locale-glitch-slice-white{0%,22%{clip-path:inset(0 100% 0 0);opacity:0;transform:translate(0,0)}40%{clip-path:inset(0);opacity:.18;transform:translate(-.7%)}60%{clip-path:inset(0);opacity:.42;transform:translate(1.4%)}80%{clip-path:inset(0);opacity:.7;transform:translate(-2%)}to{clip-path:inset(0);opacity:.94;transform:translate(2.8%)}}@keyframes locale-glitch-fragment{0%,16%{clip-path:inset(0 100% 0 0);opacity:0;transform:translate(0,0)}30%{clip-path:inset(0 65% 0 0);opacity:calc(var(--glitch-opacity) * .22);transform:translate3d(var(--glitch-shift-a), 0, 0)}44%{clip-path:inset(0 15% 0 0);opacity:calc(var(--glitch-opacity) * .48);transform:translate3d(var(--glitch-shift-b), 0, 0)}58%{clip-path:inset(0);opacity:calc(var(--glitch-opacity) * .68);transform:translate3d(var(--glitch-shift-c), 0, 0)}74%{clip-path:inset(0);opacity:calc(var(--glitch-opacity) * .84);transform:translate3d(var(--glitch-shift-b), 0, 0)}to{clip-path:inset(0);opacity:var(--glitch-opacity);transform:translate3d(var(--glitch-shift-c), 0, 0)}}@keyframes locale-glitch-flash{0%{opacity:0}20%{opacity:.04}35%{opacity:.12}50%{opacity:.08}68%{opacity:.25}84%{opacity:.38}to{opacity:.5}}.site-header,.site-footer{z-index:20;padding-inline:var(--stage-pad);background:var(--ink);font-family:"Lato", var(--font-body);justify-content:space-between;align-items:center;display:flex;position:relative}.site-header{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0808089e}.site-header,.site-footer{overflow:visible}.site-header:after,.site-header:before,.site-footer:before{pointer-events:none;position:absolute}.site-header:after{background:var(--rule);content:"";height:1px;bottom:-1px;left:0;right:0}.site-header:before,.site-footer:before{--glow-width:clamp(16rem, 24vw, 24rem);z-index:1;width:var(--glow-width);height:2px;box-shadow:none;content:"";mix-blend-mode:screen;opacity:0;background:linear-gradient(90deg,#0000 0% 22%,#f3f1ec52 42%,#f3f1ece6 50%,#f3f1ec52 58%,#0000 78% 100%);border-radius:999px;transform:translate(0)}.site-header:before{bottom:-1px;right:auto;left:calc(-1 * var(--glow-width));animation:9s linear infinite line-glow-forward}.site-footer:before{top:-1px;right:auto;left:calc(-1 * var(--glow-width));animation:9s linear .2s infinite line-glow-forward}@keyframes line-glow-forward{0%{opacity:0;transform:translate(0)}3%{opacity:1;animation-timing-function:cubic-bezier(.1,.9,.2,1);transform:translate(0)}39%{opacity:.96;transform:translate(calc(100vw + 100%))}42%,to{opacity:0;transform:translate(calc(100vw + 100%))}}@keyframes signature-letter-glow{0%,3%{-webkit-background-position:calc(-3 * var(--signature-glow-diameter)) 50%;background-position:calc(-3 * var(--signature-glow-diameter)) 50%;opacity:0}6%{-webkit-background-position:calc(-3 * var(--signature-glow-diameter)) 50%;background-position:calc(-3 * var(--signature-glow-diameter)) 50%;opacity:1}39%{-webkit-background-position:calc(100% + 2 * var(--signature-glow-diameter)) 50%;background-position:calc(100% + 2 * var(--signature-glow-diameter)) 50%;opacity:1}42%,to{-webkit-background-position:calc(100% + 2 * var(--signature-glow-diameter)) 50%;background-position:calc(100% + 2 * var(--signature-glow-diameter)) 50%;opacity:0}}.brand{z-index:2;max-width:calc(100% - (2 * var(--stage-pad)));min-width:0;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.site-header--signature-left .brand{left:var(--stage-pad);transform:translateY(-50%)}.site-header--signature-right .brand{right:var(--stage-pad);left:auto;transform:translateY(-50%)}.brand__name{--signature-glow-diameter:90px;--signature-glow-vertical-overflow:40%;font-family:"Black Pink Signature", var(--font-display);letter-spacing:0;transform-origin:50%;white-space:nowrap;padding-block:.18em;font-size:clamp(1.9rem,min(3.6vw,6.5vh),3rem);font-weight:400;line-height:1.12;display:block;position:relative;transform:rotate(-4deg)}.brand__name:after{inset:calc(-1 * var(--signature-glow-vertical-overflow)) 0;color:#0000;content:attr(data-signature);pointer-events:none;background-image:radial-gradient(circle,#f3f1ec99 0% 50%,#f3f1ec66 80%,#0000 100%);background-position:calc(-2 * var(--signature-glow-diameter)) 50%;background-repeat:no-repeat;background-size:var(--signature-glow-diameter) var(--signature-glow-diameter);-webkit-text-fill-color:transparent;filter:blur(.35px)drop-shadow(0 0 .5rem #f3f1ec)drop-shadow(0 0 .9rem #f3f1ecb3);white-space:nowrap;-webkit-background-clip:text;background-clip:text;align-items:center;line-height:1;animation:9s linear infinite signature-letter-glow;display:flex;position:absolute}.site-header--signature-glow-preview .brand__name:after{color:var(--paper);-webkit-text-fill-color:var(--paper);opacity:1;background-image:none;-webkit-background-clip:border-box;background-clip:border-box;animation:none}.brand__descriptor{top:50%;left:var(--stage-pad);pointer-events:none;color:var(--paper-muted);letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;font-size:clamp(.63rem,.95vw,.8rem);font-weight:400;line-height:1.2;position:absolute;transform:translateY(-50%)}.brand__descriptor-mobile{display:none}.site-header--signature-left .brand__descriptor{top:auto;bottom:.75rem;transform:none}.locale-switcher{top:50%;right:var(--stage-pad);min-height:2.75rem;color:var(--paper);letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:.38rem;padding:.5rem 0;font-size:.7rem;display:inline-flex;position:absolute;transform:translateY(-50%)}.locale-option{cursor:pointer;min-height:2.75rem;color:var(--paper-faint);font-size:inherit;letter-spacing:inherit;text-transform:inherit;background:0 0;padding:.5rem .1rem;transition:color .18s}.locale-option:hover,.locale-option:focus-visible,.locale-option--active{color:var(--accent)}.locale-switcher__slash{color:var(--paper-faint)}.stage{isolation:isolate;background:var(--ink-soft);min-height:0;position:relative;overflow:visible}.stage__media,.stage__veil,.stage__grid,.stage__cross,.section-panel{position:absolute;inset:0}.stage__media{z-index:-3;inset:auto 0 0;top:calc(-1 * var(--header-height));height:calc(100% + var(--header-height));background:#090909;overflow:hidden}.stage__media-drift,.stage__media-camera{transform-origin:50%;position:absolute;inset:0}.stage__media-drift{will-change:transform}.stage__media-camera{will-change:filter}.stage__media img{object-fit:cover;object-position:50% 36%;filter:grayscale()contrast(1.08)brightness(.83);width:100%;height:100%;transform:translate(1%, max(0px, calc(var(--header-height) - var(--portrait-top-zone-height)))) scale(1.02);display:block}.stage__veil{z-index:-2;pointer-events:none;background:radial-gradient(circle at 50% 40%,#0000 0%,#00000045 50%,#0000009e 100%),linear-gradient(#0003,#0000006b)}.stage__grid{z-index:3;grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.stage__cross{z-index:6;pointer-events:none}.stage__cross:before,.stage__cross:after{background:var(--rule);content:"";transition:opacity .42s;display:block;position:absolute}.stage__cross:before{width:1px;top:0;bottom:0;left:50%;transform:translate(-50%)}.stage__cross:after{height:1px;top:50%;left:0;right:0;transform:translateY(-50%)}.stage--open .stage__cross:before,.stage--open .stage__cross:after{opacity:.18}.quadrant{min-width:0;min-height:0;padding:var(--stage-gap);cursor:pointer;color:var(--paper);text-align:center;will-change:transform, opacity;background:#07070714;flex-direction:column;justify-content:center;align-items:center;gap:.85rem;transition:background-color .22s;display:flex;position:relative;overflow:hidden}.quadrant:after{z-index:0;background:radial-gradient(circle at var(--spotlight-x,50%) var(--spotlight-y,50%), #f3f1ec16 0%, #f3f1ec08 22%, transparent 54%);content:"";opacity:0;pointer-events:none;transition:opacity .22s;position:absolute;inset:0}.quadrant:hover:after,.quadrant:focus-visible:after{opacity:1}.quadrant>*{z-index:1;position:relative}.quadrant:disabled{cursor:default}.quadrant[data-focus-restored=true]:focus-visible{outline:none}.quadrant__index{color:var(--paper-faint);letter-spacing:.15em;font-size:.65rem;position:absolute;top:clamp(.85rem,2vw,1.8rem);left:clamp(.85rem,2vw,1.8rem)}.quadrant__label{max-width:12ch;font-family:var(--font-display);letter-spacing:-.045em;text-wrap:balance;font-size:clamp(1.15rem,2.45vw,2.7rem);font-weight:300;line-height:.98}.quadrant__arrow{width:1.1rem;height:1.1rem;color:var(--accent);opacity:.78;justify-content:center;align-items:center;transition:transform .22s;display:inline-flex;transform:translateY(0)}.quadrant__arrow svg,.section-panel__cta>span svg,.section-panel__contact-trigger>span svg,.back-control>span:first-child svg{width:100%;height:100%;display:block}.quadrant:hover .quadrant__arrow,.quadrant:focus-visible .quadrant__arrow{transform:translate(.18rem,-.18rem)}.section-panel{z-index:10;pointer-events:none;flex-direction:column;display:flex}.section-panel__inner{overscroll-behavior:contain;pointer-events:auto;scrollbar-width:thin;scrollbar-color:#f3f1ec66 transparent;flex-direction:column;align-items:flex-start;width:60%;max-height:100%;padding:clamp(1.4rem,5vw,5.5rem);display:flex;overflow-y:auto}.section-panel--top-left{justify-content:flex-start;align-items:flex-start}.section-panel--top-right{justify-content:flex-start;align-items:flex-end}.section-panel--bottom-left{justify-content:flex-end;align-items:flex-start}.section-panel--bottom-right{justify-content:flex-end;align-items:flex-end}.section-panel--top-right .section-panel__inner,.section-panel--bottom-right .section-panel__inner{text-align:right;align-items:flex-end}.section-panel__eyebrow{color:var(--accent);letter-spacing:.17em;text-transform:uppercase;margin:0 0 1.35rem;font-size:.67rem;line-height:1.35}.section-panel h2{max-width:9ch;font-family:var(--font-display);letter-spacing:-.075em;text-wrap:balance;margin:0;font-size:clamp(2.7rem,6vw,6.8rem);font-weight:300;line-height:.86}.section-panel__intro{max-width:100%;color:var(--paper);font-family:var(--font-display);letter-spacing:-.025em;margin:1.75rem 0 0;font-size:clamp(1.05rem,1.8vw,1.5rem);font-weight:300;line-height:1.18}.section-panel__body{max-width:100%;color:var(--paper-muted);margin-top:1.4rem;font-size:.95rem;line-height:1.65}.section-panel__body p{margin:0 0 .85rem}.phrase-glow__word{animation:phrase-word-glow var(--phrase-glow-duration,.5s) ease-in-out both;animation-delay:var(--phrase-glow-delay,0s);will-change:color, text-shadow}@keyframes phrase-word-glow{0%,to{color:inherit;text-shadow:none}34%,66%{color:var(--paper);text-shadow:0 0 .35rem #f3f1ecb8,0 0 1rem #f3f1ec57}}.section-panel__cta{border-bottom:1px solid var(--accent);color:var(--paper);letter-spacing:.13em;text-transform:uppercase;align-items:center;gap:.75rem;margin-top:.5rem;padding-bottom:.35rem;font-size:.72rem;display:inline-flex}.section-panel__cta:hover,.section-panel__cta:focus-visible{color:var(--accent)}.section-panel__cta>span:last-child,.section-panel__contact-trigger>span:first-child,.back-control>span:first-child{flex:none;justify-content:center;align-items:center;width:1.1rem;height:1.1rem;display:inline-flex}.section-panel__projects{width:100%;max-width:100%;margin-top:2rem}.section-panel__projects-title{color:var(--paper-muted);letter-spacing:.17em;text-transform:uppercase;margin:0 0 .75rem;font-size:.67rem;font-weight:400;line-height:1.35}.section-panel__projects-list{flex-wrap:wrap;justify-content:flex-start;gap:.45rem 1.2rem;margin:0;padding:0;list-style:none;display:flex}.section-panel__project-link{color:var(--paper);font-size:.9rem;line-height:1.35;transition:color .18s}.section-panel__project-link:hover,.section-panel__project-link:focus-visible{color:var(--accent)}.section-panel--top-right .section-panel__projects-list,.section-panel--bottom-right .section-panel__projects-list{justify-content:flex-end}.section-panel__contact-actions{white-space:nowrap;flex-wrap:nowrap;align-items:center;gap:clamp(.65rem,2vw,1.2rem);max-width:100%;margin-top:2.4rem;display:flex}.section-panel__contact-actions .back-control{white-space:nowrap;flex:none;margin-top:0}.back-control{cursor:pointer;min-height:2.75rem;color:var(--paper-muted);letter-spacing:.14em;text-transform:uppercase;will-change:color, filter;background:0 0;align-items:center;gap:.75rem;margin-top:2.4rem;padding:0;font-size:.72rem;transition:color .18s,gap .18s;animation:4.5s linear infinite back-control-flash;display:inline-flex}.section-panel__back{z-index:1;pointer-events:auto;position:absolute;top:auto;bottom:clamp(1.4rem,5vw,5.5rem)}.section-panel__back--left{left:clamp(1.4rem,5vw,5.5rem)}.section-panel__back--right{right:clamp(1.4rem,5vw,5.5rem)}.back-control>span:first-child{color:var(--accent);will-change:color, transform;animation:1.8s ease-in-out infinite back-arrow-oscillation,4.5s linear infinite back-control-arrow-flash}@keyframes back-control-flash{0%,88.89%{color:var(--paper-muted);filter:drop-shadow(0 0 #f3f1ec00);animation-timing-function:cubic-bezier(.12,.9,.2,1)}91.11%{color:var(--paper);filter:drop-shadow(0 0 .18rem #f3f1ecb8)drop-shadow(0 0 .65rem #f3f1ec61)}93.33%,95.56%{color:#fff;filter:drop-shadow(0 0 .24rem #fffffff2)drop-shadow(0 0 .9rem #f3f1ec9e)}95.56%{animation-timing-function:cubic-bezier(.2,0,.2,1)}to{color:var(--paper-muted);filter:drop-shadow(0 0 #f3f1ec00)}}@keyframes back-control-arrow-flash{0%,88.89%,to{color:var(--accent)}91.11%{color:var(--paper)}93.33%,95.56%{color:#fff}}@keyframes back-arrow-oscillation{0%,50%,to{transform:translate(0)}25%{transform:translate(-.24rem)}75%{transform:translate(.24rem)}}.back-control:hover,.back-control:focus-visible{color:var(--paper);gap:.95rem}.section-panel__contact-trigger,.section-panel__contact-trigger>span:first-child,.section-panel__linkedin-link{animation:none}.section-panel__contact-trigger,.section-panel__linkedin-link{font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;flex:none;font-size:.72rem;font-style:normal;font-weight:400;line-height:1.2}.section-panel__linkedin-link{will-change:auto;gap:.6rem;text-decoration:none;transition:none}.section-panel__linkedin-icon{object-fit:contain;filter:grayscale()brightness(1.7)opacity(.72);width:1.1rem;height:1.1rem;transition:none}.section-panel__linkedin-link:hover .section-panel__linkedin-icon,.section-panel__linkedin-link:focus-visible .section-panel__linkedin-icon{filter:grayscale()brightness(2)opacity(.95);transform:none}.site-footer{color:var(--paper-faint);letter-spacing:.1em;text-transform:uppercase;border-top:1px solid #f3f1ec3d;gap:1rem;font-size:.62rem;line-height:1.4}.site-footer__legal-details{appearance:none;color:#d7c2b8c7;cursor:pointer;text-align:inherit;text-transform:inherit;background:0 0;border:0;margin:0;padding:0;display:inline}.site-footer__legal-details:hover,.site-footer__legal-details:focus-visible{color:var(--accent)}.legal-modal{z-index:100;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#080808c2;place-items:center;padding:clamp(1rem,4vw,4rem);display:grid;position:fixed;inset:0;overflow:auto}.legal-modal__dialog{scrollbar-color:#f3f1ec66 transparent;background:linear-gradient(135deg,#f3f1ec0e,#0000 36%),#111111f5;border:1px solid #f3f1ec47;border-top-color:#d7c2b8b8;width:min(100%,48rem);max-height:min(84dvh,48rem);padding:clamp(1.35rem,4vw,3.25rem);position:relative;overflow-y:auto;box-shadow:0 1.5rem 5rem #00000073}.legal-modal__dialog:before{background:linear-gradient(90deg, transparent, var(--paper), transparent);content:"";opacity:.72;width:clamp(5rem,16vw,10rem);height:2px;position:absolute;top:-1px;left:clamp(1.35rem,4vw,3.25rem)}.legal-modal__header{justify-content:space-between;align-items:flex-start;gap:1.5rem;display:flex}.legal-modal__eyebrow{color:var(--accent);font-family:"Lato", var(--font-body);letter-spacing:.17em;text-transform:uppercase;margin:0;font-size:.67rem;line-height:1.4}.legal-modal__close{width:2.75rem;min-height:2.75rem;color:var(--paper-muted);cursor:pointer;font-family:"Lato", var(--font-body);letter-spacing:.12em;text-transform:uppercase;background:0 0;border:1px solid #0000;flex:none;justify-content:center;align-items:center;margin:-.55rem -.6rem 0 0;padding:.5rem .6rem;font-size:.66rem;line-height:1.2;transition:border-color .18s,color .18s;display:inline-flex}.legal-modal__close span:first-child{color:var(--accent);font-family:"Lato", var(--font-body);font-size:1.55rem;font-weight:300;line-height:1}.legal-modal__close:hover,.legal-modal__close:focus-visible{border-color:var(--accent);color:var(--paper)}.legal-modal h2{max-width:none;font-family:var(--font-display);letter-spacing:-.075em;margin:clamp(2.5rem,6vw,4.5rem) 0 0;font-size:clamp(2.5rem,6vw,5.5rem);font-weight:300;line-height:.88}.legal-modal__notice{max-width:40rem;color:var(--accent);margin:1.5rem 0 0;font-size:.85rem;line-height:1.55}.legal-modal__sections{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.5rem,4vw,2.75rem) clamp(1.5rem,5vw,4rem);margin-top:clamp(2.25rem,5vw,3.5rem);display:grid}.legal-modal__section{border-top:1px solid #f3f1ec33;min-width:0;padding-top:.9rem}.legal-modal__section h3{color:var(--paper);font-family:"Lato", var(--font-body);letter-spacing:.13em;text-transform:uppercase;margin:0 0 .8rem;font-size:.72rem;font-weight:400;line-height:1.3}.legal-modal__section p{color:var(--paper-muted);margin:0 0 .55rem;font-size:.82rem;line-height:1.6}.legal-modal__updated{color:var(--paper-faint);font-family:"Lato", var(--font-body);letter-spacing:.1em;text-transform:uppercase;margin:clamp(2rem,5vw,3rem) 0 0;font-size:.62rem;line-height:1.4}.contact-modal{z-index:100;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#080808c2;place-items:center;padding:clamp(1rem,4vw,4rem);display:grid;position:fixed;inset:0;overflow:auto}.contact-modal__dialog{scrollbar-color:#f3f1ec66 transparent;background:linear-gradient(135deg,#f3f1ec0e,#0000 36%),#111111f5;border:1px solid #f3f1ec47;border-top-color:#d7c2b8b8;width:min(100%,42rem);max-height:min(88dvh,48rem);padding:clamp(1.35rem,4vw,3.25rem);position:relative;overflow-y:auto;box-shadow:0 1.5rem 5rem #00000073}.contact-modal__dialog:before{background:linear-gradient(90deg, transparent, var(--paper), transparent);content:"";opacity:.72;width:clamp(5rem,16vw,10rem);height:2px;position:absolute;top:-1px;left:clamp(1.35rem,4vw,3.25rem)}.contact-modal__header{justify-content:space-between;align-items:flex-start;gap:1.5rem;display:flex}.contact-modal__eyebrow{color:var(--accent);font-family:"Lato", var(--font-body);letter-spacing:.17em;text-transform:uppercase;margin:0;font-size:.67rem;line-height:1.4}.contact-modal__close{width:2.75rem;min-height:2.75rem;color:var(--paper-muted);cursor:pointer;background:0 0;border:1px solid #0000;flex:none;justify-content:center;align-items:center;margin:-.55rem -.6rem 0 0;padding:.5rem .6rem;transition:border-color .18s,color .18s;display:inline-flex}.contact-modal__close span:first-child{color:var(--accent);font-family:"Lato", var(--font-body);font-size:1.55rem;font-weight:300;line-height:1}.contact-modal__close:hover,.contact-modal__close:focus-visible{border-color:var(--accent);color:var(--paper)}.contact-modal h2{max-width:none;font-family:var(--font-display);letter-spacing:-.075em;margin:clamp(1.5rem,3vw,2.25rem) 0 0;font-size:clamp(2rem,4.2vw,3.5rem);font-weight:300;line-height:.88}.contact-modal__intro{max-width:34rem;color:var(--accent);margin:.9rem 0 0;font-size:.8rem;line-height:1.55}.contact-form{gap:.75rem;margin-top:clamp(1.25rem,3vw,1.75rem);display:grid}.contact-form label,.contact-form__captcha{color:var(--paper-muted);font-family:"Lato", var(--font-body);letter-spacing:.12em;text-transform:uppercase;gap:.45rem;font-size:.68rem;line-height:1.35;display:grid}.contact-form input,.contact-form textarea{width:100%;color:var(--paper);font:inherit;letter-spacing:0;text-transform:none;background:#0000003d;border:1px solid #f3f1ec38;border-radius:0;padding:.8rem .85rem;font-size:.88rem;line-height:1.45;transition:border-color .18s,background-color .18s}.contact-form textarea{resize:vertical;min-height:6rem}.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--paper-faint)}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--accent);background:#f3f1ec0b;outline:0}.contact-form__honeypot{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.contact-form__captcha{margin-top:.35rem}.contact-form__captcha-widget{min-height:3.8rem;padding-top:.2rem}.contact-form__error{color:var(--accent);margin:0;font-size:.8rem;line-height:1.5}.contact-form__submit{border:1px solid var(--accent);width:max-content;min-width:12rem;color:var(--paper);cursor:pointer;font-family:"Lato", var(--font-body);letter-spacing:.14em;text-transform:uppercase;background:0 0;justify-content:space-between;align-items:center;gap:1rem;margin-top:.35rem;padding:.75rem .9rem;font-size:.68rem;transition:background-color .18s,color .18s;display:inline-flex}.contact-form__submit:hover,.contact-form__submit:focus-visible{background:var(--accent);color:var(--ink)}.contact-form__submit:disabled{cursor:not-allowed;opacity:.45}.contact-form__success{color:var(--paper-muted);border-top:1px solid #f3f1ec33;margin-top:clamp(2rem,5vw,3rem);padding-top:1.1rem;font-size:.9rem;line-height:1.6}.contact-form__success-title{color:var(--paper);font-family:"Lato", var(--font-body);letter-spacing:.14em;text-transform:uppercase;margin:0 0 .55rem;font-size:.72rem}.contact-form__success p:last-child{margin:0}:focus-visible{outline:1px solid var(--accent);outline-offset:.3rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:700px){.app-shell{min-height:34rem}.section-panel:after{z-index:2;background:linear-gradient(180deg, #08080800 0%, #0808088c 42%, #080808f5 82%, var(--ink) 100%);content:"";pointer-events:none;height:clamp(8rem,28vw,12rem);position:absolute;bottom:0;left:0;right:0}.site-header{flex-direction:column;justify-content:center;align-items:flex-start;gap:.55rem;padding-block:.8rem}.brand__descriptor{white-space:normal;font-size:.58rem;line-height:1.15;top:50%;bottom:auto;transform:translateY(-50%)}.brand__descriptor-full{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.brand__descriptor-mobile{display:block}.locale-switcher{top:50%}.quadrant{gap:.55rem;padding:.75rem}.quadrant__index{top:.7rem;left:.7rem}.quadrant__label{max-width:9ch;font-size:clamp(1rem,5.1vw,1.6rem)}.quadrant__arrow{width:.9rem;height:.9rem}.quadrant:after{display:none}.section-panel__inner{z-index:1;padding:clamp(1.35rem,7vw,2.5rem);width:100%;max-height:100%;padding-bottom:calc(clamp(1.35rem,7vw,2.5rem) + 10rem);position:relative}.section-panel__back{z-index:3;inset:auto clamp(1.35rem,7vw,2.5rem) clamp(.95rem,4.5vw,1.8rem) auto}.section-panel--top-left,.section-panel--top-right,.section-panel--bottom-left,.section-panel--bottom-right{justify-content:flex-start;align-items:flex-start}.section-panel--top-right .section-panel__inner,.section-panel--bottom-right .section-panel__inner{text-align:left;align-items:flex-start}.section-panel h2{max-width:8ch;font-size:clamp(2.8rem,14vw,5rem)}.section-panel__intro{margin-top:1.25rem;font-size:1.15rem}.section-panel__projects{margin-top:1.7rem}.section-panel--top-right .section-panel__projects-list,.section-panel--bottom-right .section-panel__projects-list{justify-content:flex-start}.section-panel__body{margin-top:1rem;font-size:.9rem}.site-footer{white-space:nowrap;flex-direction:row;justify-content:space-between;align-items:center;gap:.65rem;padding-block:.6rem;font-size:.5rem}.site-footer>.localized-crossfade{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.site-footer__legal-details{flex:none}.legal-modal,.contact-modal{align-items:end;padding:.75rem}.legal-modal__dialog,.contact-modal__dialog{max-height:90dvh;padding:1.25rem}.contact-modal h2{font-size:clamp(1.85rem,9vw,2.8rem)}.legal-modal__dialog:before,.contact-modal__dialog:before{left:1.25rem}.legal-modal__sections{grid-template-columns:1fr;gap:1.5rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.locale-glitch{display:none!important}.site-header:before,.site-footer:before,.brand__name:after,.quadrant:after{opacity:0!important;animation:none!important}.phrase-glow__word{text-shadow:none;animation:none!important}.back-control>span:first-child{animation:none!important}.back-control{filter:none!important;animation:none!important}.legal-modal__dialog{scroll-behavior:auto}}
