@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/_astro/archivo-latin-standard-normal.DY7AcnAa.woff2)format("woff2-variations"),url(/_astro/archivo-latin-standard-normal.DY7AcnAa.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:dark;--card:#1d1519;--card-lift:#22171b;--grape-paper:#9874a7;--grape-sheet:#923e98;--paper-white:#eceaee;--lettering:#ecebf0;--paper-bright:#f3f2f6;--paper-fill:#e4e3e5;--paper-soft:#cdcad0;--lilac:#ac95bb;--ink:#1b1418;--shadow:10 5 10;--shadow-deep:2 1 3;--cut-edge:210 215 215;--paper-edge:inset 0 1px 0 rgb(var(--cut-edge) / .2);--paper-drop:1px 3px 2px rgb(var(--shadow-deep) / .9), 3px 8px 14px rgb(var(--shadow) / .4);--paper-drop-flat:1px 1px 1px rgb(var(--shadow-deep) / .85), 2px 4px 7px rgb(var(--shadow) / .28);--paper-drop-lift:2px 5px 3px rgb(var(--shadow-deep) / .9), 5px 13px 22px rgb(var(--shadow) / .5);--paper-letters:0 -1px 0 #fff6, 1px 1px 0 rgb(var(--shadow-deep) / .6), max(1px, .02em) max(2px, .035em) max(2px, .04em) rgb(var(--shadow-deep) / .45), max(2px, .04em) max(4px, .065em) max(4px, .08em) rgb(var(--shadow) / .26);--paper-letters-flat:0 -1px 0 #ffffff47, .5px .5px 0 rgb(var(--shadow-deep) / .5), 1px 1px 1px rgb(var(--shadow-deep) / .35), 1px 2px 2px rgb(var(--shadow) / .18);--strip-drop:drop-shadow(1px 2px 1px rgb(var(--shadow-deep) / .85)) drop-shadow(3px 7px 8px rgb(var(--shadow) / .42));--strip-drop-flat:drop-shadow(1px 1px 1px rgb(var(--shadow-deep) / .8)) drop-shadow(1px 3px 4px rgb(var(--shadow) / .26));--ease-paper:cubic-bezier(.16, 1, .3, 1);--lift-time:.15s;--font-sans:"Archivo", "Helvetica Neue", Arial, sans-serif;--page-gutter:8.6%;--measure:57ch;--text-size:clamp(1rem, .95rem + .25cqw, 1.0625rem);--text-leading:1.62;--small-text-size:clamp(.8125rem, .78rem + .16cqw, .9375rem);--proof-size:clamp(1.125rem, .95rem + .8cqw, 1.5rem);--subheading-size:clamp(1.1875rem, 1rem + .9cqw, 1.75rem);--heading-size:clamp(1.5rem, 1.05rem + 1.6cqw, 2.5rem);--close-size:clamp(1.75rem, .5rem + 4.6cqw, 4.5rem);--page-title-size:clamp(1.75rem, .8rem + 3.5cqw, 3.75rem);--band-space:clamp(3.5rem, 2rem + 4cqw, 6.5rem);--row-space:clamp(1.5rem, 1rem + 1.4cqw, 2.5rem);--header-card-x:3;--header-card-y:0;--header-card-w:94;--header-card-h:7;--nav-brand-x:8.4;--nav-brand-y:1.6;--nav-brand-w:8.2;--nav-brand-h:2.4;--nav-links-x:77.4;--nav-links-y:1.6;--nav-links-w:14.2;--nav-links-h:2.4;--name-x:8.4;--name-y:20.8;--name-w:8.6;--name-h:2.6;--title-strips-x:6.6;--title-strips-y:22;--title-strips-w:86.2;--title-strips-h:33.5;--lead-1-x:11.5;--lead-1-y:24;--lead-1-w:79;--lead-1-h:7.6;--lead-2-x:24.7;--lead-2-y:32.8;--lead-2-w:44.2;--lead-2-h:7.6;--lead-3-x:10.9;--lead-3-y:41.9;--lead-3-w:47;--lead-3-h:7.4;--portrait-frame-x:67.2;--portrait-frame-y:41.2;--portrait-frame-w:25.8;--portrait-frame-h:25.8;--portrait-photo-x:69.4;--portrait-photo-y:45.04;--portrait-photo-w:21.3;--portrait-photo-h:19.56;--subline-x:8.4;--subline-y:54.6;--subline-w:45.6;--subline-h:5.4;--incidents-line-x:8.4;--incidents-line-y:61;--incidents-line-w:39.3;--incidents-line-h:4.5;--cta-message-x:8.4;--cta-message-y:67.4;--cta-message-w:10.8;--cta-message-h:4.8;--cta-resume-x:19.6;--cta-resume-y:67.4;--cta-resume-w:9.8;--cta-resume-h:4.8;--status-x:8.4;--status-y:73.7;--status-w:17;--status-h:2.4;--location-x:8.4;--location-y:77.1;--location-w:17.2;--location-h:2.4;--projects-link-x:8.4;--projects-link-y:83.7;--projects-link-w:24.2;--projects-link-h:2.4;--card-ground-w:40;--card-ground-h:20;--lead-size:clamp(62.5px, 4.8828cqw, 74.22px);--lead-stretch:95%;--lead-baseline:4.0771cqw;--lead-1-left:11.719cqw;--lead-1-top:15.486cqw;--lead-1-turn:-.693deg;--lead-1-track:-.039em;--lead-1-gap:.2079em;--lead-2-left:25cqw;--lead-2-top:20.688cqw;--lead-2-turn:-.97deg;--lead-2-track:-.016em;--lead-2-gap:.144em;--lead-3-left:11.016cqw;--lead-3-top:26.141cqw;--lead-3-turn:.166deg;--lead-3-track:-.015em;--lead-3-gap:.1376em;--header-card-left:3.047cqw;--header-card-width:93.789cqw;--header-card-height:4.2188cqw;--brand-size:clamp(14.93px, 1.1664cqw, 17.73px);--nav-size:clamp(14.49px, 1.132cqw, 17.21px);--name-size:clamp(32px, 2.5cqw, 38px);--small-size:clamp(14.49px, 1.132cqw, 17.21px);--small-leading:1.25cqw;--label-size:clamp(13.33px, 1.0417cqw, 15.83px);--brand-left:5.523cqw;--brand-top:1.055cqw;--brand-leading:1.484cqw;--nav-right:5.43cqw;--nav-top:1.066cqw;--nav-gap:1.836cqw;--name-left:8.648cqw;--name-top:11.98cqw;--name-leading:1;--subline-left:8.625cqw;--subline-top:34.699cqw;--incidents-left:8.594cqw;--incidents-top:38.527cqw;--status-left:8.703cqw;--status-top:46.105cqw;--status-areas-offset:4.247cqw;--location-left:8.594cqw;--location-top:48.293cqw;--projects-left:8.625cqw;--projects-top:52.41cqw;--cta-message-left:8.594cqw;--cta-message-top:42.266cqw;--cta-message-width:10.469cqw;--cta-resume-left:19.688cqw;--cta-resume-top:42.266cqw;--cta-resume-width:9.531cqw;--cta-height:2.734cqw;--nt-aspect:2936 / 1053;--nt-size:8.8571cqw;--nt-track:-.028em;--nt-gap:.12em;--nt-fit:.975;--nt-baseline:.835em;--nt-1-left:4.783%;--nt-1-top:3.506%;--nt-1-turn:-.56deg;--nt-2-left:9.654%;--nt-2-top:32.148%;--nt-2-turn:-.83deg;--nt-3-left:5.491%;--nt-3-top:60.296%;--nt-3-turn:.51deg;--nt-gap-1-left:30.914%;--nt-gap-1-right:27.429%;--nt-gap-2-left:59.284%;--nt-gap-2-right:58.648%}*,:before,:after{box-sizing:border-box}html{background-color:var(--card);color:var(--paper-white);font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizelegibility;caret-color:var(--lilac);accent-color:var(--grape-paper);scrollbar-color:var(--grape-paper) var(--card);background-image:url(/_astro/card-ground.zIS6DE4N.webp);background-repeat:repeat;background-size:512px 160px}body{max-width:1520px;min-height:100vh;margin:0 auto;position:relative;container-type:inline-size}::selection{background-color:var(--grape-paper);color:var(--ink)}a{color:inherit;text-underline-offset:.22em;text-decoration-thickness:1px}.projects-line a:after,.project-link a:after,.site-footer a:after{content:"";inset-inline:0;height:2.75rem;position:absolute;top:50%;translate:0 -50%}:focus-visible{outline:2px solid var(--lilac);outline-offset:3px}img{max-width:100%;display:block}[hidden]{display:none!important}.skip-link{z-index:10;background:var(--paper-fill);min-height:2.75rem;color:var(--ink);align-items:center;padding:.75rem 1rem;font-weight:700;display:inline-flex;position:absolute;top:1rem;left:1rem;transform:translateY(-200%)}.skip-link:focus-visible{transform:none}.band{padding-inline:var(--page-gutter);margin-block-start:var(--band-space)}.paper-letters{text-shadow:var(--paper-letters)}.strip-heading,.close-strip{isolation:isolate;color:var(--paper-bright);word-spacing:.16em;position:relative}.strip-heading:after,.close-strip:after,.has-sheet:before{content:"";z-index:-1;filter:var(--strip-drop);border:0 solid #0000;border-image:url(/_astro/strip-paper.DXxSuJMN.webp) 8 56 fill/4px 28px round stretch;position:absolute;inset:0}.has-sheet:before{z-index:-2;filter:var(--strip-drop-flat);border-image-source:url(/_astro/strip-sheet.DIwfCGQg.webp);inset:.5em 1em -.34em .38em;transform:rotate(-.8deg)}.strip-heading{--paper-turn:-.5deg;width:fit-content;max-width:100%;font-size:var(--heading-size);letter-spacing:-.03em;text-wrap:balance;transform:rotate(var(--paper-turn));margin:0 0 clamp(1.5rem,1rem + 1.4cqw,2.5rem);padding:.34em .62em .42em;font-weight:900;font-stretch:95%;line-height:1;display:block}.strip-heading.has-sheet{margin-block-end:clamp(2rem,1.4rem + 1.6cqw,3rem)}.close-heading{font-size:var(--close-size);letter-spacing:-.03em;margin:0 0 clamp(1.75rem,.9rem + 2cqw,3rem);font-weight:900;font-stretch:95%;line-height:1}.close-strip{width:fit-content;max-width:100%;padding:.3em .56em .4em;display:block}.close-strip:first-child{--paper-turn:-.6deg;transform:rotate(var(--paper-turn))}.close-strip:last-child{--paper-turn:.35deg;transform:rotate(var(--paper-turn));margin-block-start:.16em;margin-inline-start:1.1em}.paper-button{--paper-edge:inset 0 1px 0 #ffffff8c;background-color:var(--paper-fill);min-height:2.75rem;color:var(--ink);font-size:var(--text-size);box-shadow:var(--paper-edge), var(--paper-drop);border-radius:3px;justify-content:center;align-items:center;margin-block-start:clamp(1.5rem,1rem + 1.2cqw,2.25rem);padding:.72em 1.3em;font-weight:700;line-height:1;text-decoration:none;display:inline-flex}@media (width>=62rem){.strip-bleed:after{left:calc(41.4cqw - 50vw - 2rem)}}.site-header{z-index:5;left:var(--header-card-left);top:calc(var(--header-card-y) * .625cqw);width:var(--header-card-width);height:var(--header-card-height);background-blend-mode:screen;box-shadow:inset 0 -1px 0 rgb(var(--cut-edge) / .06), inset 0 -2px 0 rgb(var(--cut-edge) / .03), 1px 3px 2px rgb(var(--shadow-deep) / .95), 2px 5px 9px rgb(var(--shadow-deep) / .35);background-color:#090808;background-image:url(/_astro/card-ground.zIS6DE4N.webp);background-size:512px 160px;position:absolute}.brand,.nav-list a{text-decoration:none}.brand{left:var(--brand-left);top:var(--brand-top);font-size:var(--brand-size);line-height:var(--brand-leading);color:var(--paper-white);white-space:nowrap;font-weight:700;font-stretch:90%;position:absolute}.nav-list{right:var(--nav-right);top:var(--nav-top);gap:var(--nav-gap);font-size:var(--nav-size);line-height:var(--brand-leading);color:var(--paper-soft);white-space:nowrap;margin:0;padding:0;font-weight:400;font-stretch:90%;list-style:none;display:flex;position:absolute}.brand:hover,.nav-list a:hover{text-decoration:underline}.brand,.nav-list a{position:relative}.brand:after,.nav-list a:after{content:"";position:absolute;inset:-1.15cqw 0}@media (width<=1279.98px){.site-header{width:auto;height:auto;padding-inline:var(--page-gutter);flex-wrap:wrap;align-items:center;gap:0 1.5rem;display:flex;position:static;top:auto;left:auto}.brand{min-height:2.75rem;font-size:var(--text-size);align-items:center;font-stretch:89%;line-height:1.2;display:inline-flex;position:static;top:auto;left:auto}.nav-list{font-size:var(--small-text-size);flex-wrap:wrap;gap:0 1.35rem;margin-inline-start:auto;line-height:1.2;position:static;top:auto;right:auto}.nav-list a{align-items:center;min-height:2.75rem;display:inline-flex}.brand:after,.nav-list a:after{content:none}}.site-footer{margin-block-start:var(--band-space);padding-block-end:2.5rem;padding-inline:3%}.footer-sheet{background-blend-mode:screen;box-shadow:inset 0 1px 0 rgb(var(--cut-edge) / .06), inset 0 2px 0 rgb(var(--cut-edge) / .03), 1px 3px 2px rgb(var(--shadow-deep) / .95), 2px 5px 9px rgb(var(--shadow) / .35);background-color:#090808;background-image:url(/_astro/card-ground.zIS6DE4N.webp);background-size:512px 160px;padding-block:clamp(1.75rem,1rem + 2cqw,3rem);padding-inline:5.6cqw}.site-footer p{font-size:var(--small-text-size);color:var(--paper-soft);margin:0;font-stretch:89%;line-height:2.75rem}.footer-legal{color:var(--lilac);margin-block-start:.9rem}.site-footer a{color:var(--paper-white);text-decoration-color:rgb(var(--cut-edge) / .45)}.site-footer a:hover{text-decoration-color:currentColor}:root{--paper-steps:steps(6, end);--paper-lay-time:.5s;--paper-lay-stagger:83ms;--paper-settle-time:.4s}@view-transition{navigation:auto}.plate-strips-lift{view-transition-name:title-strips}@media (prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation-duration:1ms}}@keyframes paper-lay-in{0%{transform:translate(var(--lay-x), var(--lay-y)) rotate(var(--lay-turn,0deg))}to{transform:translate(0, 0) rotate(var(--lay-turn,0deg))}}@keyframes paper-letters-lift{0%{text-shadow:var(--paper-letters-flat)}to{text-shadow:var(--paper-letters)}}@media (prefers-reduced-motion:no-preference){.strip-band{animation:paper-lay-in var(--paper-lay-time) var(--paper-steps) var(--lay-delay,0s) backwards}.band-1{--lay-x:-6cqw;--lay-y:-1.1cqw;--lay-delay:0s}.band-2{--lay-x:-8cqw;--lay-y:-.7cqw;--lay-delay:var(--paper-lay-stagger)}.band-3{--lay-x:-5cqw;--lay-y:1.2cqw;--lay-delay:calc(var(--paper-lay-stagger) * 2)}.lead-line{animation:paper-letters-lift .4s var(--ease-paper) .7s backwards}}@media (prefers-reduced-motion:no-preference) and (width<=1279.98px){.band-1{--lay-x:-7cqw;--lay-y:-2.4cqw}.band-2{--lay-x:-9cqw;--lay-y:-1.6cqw}.band-3{--lay-x:-6cqw;--lay-y:2.6cqw}}.button:hover,.button:focus-visible,.paper-button:hover,.paper-button:focus-visible,.project-featured:has(.project-link a:hover) .capture-paper,.project-featured:has(.project-link a:focus-visible) .capture-paper{box-shadow:var(--paper-edge), var(--paper-drop-lift)}.proof a,.work-row a.row-name,.project-link a,.projects-line a,.nav-list a,.site-footer a{position:relative;top:0}@media (prefers-reduced-motion:no-preference){.button,.paper-button,.capture-paper{transition:transform var(--lift-time) var(--ease-paper), box-shadow var(--lift-time) var(--ease-paper)}.button:hover,.button:focus-visible,.paper-button:hover,.paper-button:focus-visible{transform:translate(-1px,-2px)}.project-featured:has(.project-link a:hover) .capture-paper,.project-featured:has(.project-link a:focus-visible) .capture-paper{transform:translate(-1px, -3px) rotate(var(--paper-turn))}.brand{transition:transform var(--lift-time) var(--ease-paper)}.brand:hover,.brand:focus-visible{transform:translateY(-1px)}.proof a,.work-row a.row-name,.project-link a,.projects-line a,.nav-list a,.site-footer a{transition:top var(--lift-time) var(--ease-paper), text-decoration-color var(--lift-time) linear}.proof a:hover,.proof a:focus-visible,.work-row a.row-name:hover,.work-row a.row-name:focus-visible,.project-link a:hover,.project-link a:focus-visible,.projects-line a:hover,.projects-line a:focus-visible,.nav-list a:hover,.nav-list a:focus-visible,.site-footer a:hover,.site-footer a:focus-visible{top:-1px}[data-motion=paper] .paper-settle{transition:transform var(--paper-settle-time) var(--ease-paper), box-shadow var(--paper-settle-time) var(--ease-paper)}[data-motion=paper] .paper-settle:before,[data-motion=paper] .paper-settle:after{transition:filter var(--paper-settle-time) var(--ease-paper)}[data-motion=paper] .paper-settle:not(.is-settled){transform:translate(0, .55rem) rotate(var(--paper-turn,0deg))}[data-motion=paper] .capture-paper.paper-settle:not(.is-settled),[data-motion=paper] .stage.paper-settle:not(.is-settled){box-shadow:var(--paper-edge), var(--paper-drop-flat)}[data-motion=paper] .paper-settle:not(.is-settled):before,[data-motion=paper] .paper-settle:not(.is-settled):after{filter:var(--strip-drop-flat)}[data-motion=paper] .close-strip:last-child{transition-delay:70ms}}
