.bar{position:sticky;top:0;z-index:var(--z-bar);height:var(--bar-h);display:flex;align-items:center;justify-content:space-between;gap:var(--s-5);padding-inline:clamp(1.25rem,5vw,4.5rem);font:450 var(--t-ui) / 1 var(--sans);background:linear-gradient(var(--paper) 55%,color-mix(in srgb,var(--paper),transparent 100%))}.bar__name{display:inline-flex;align-items:center;min-height:var(--target);font-weight:620;letter-spacing:-.01em}.bar__nav{display:flex;align-items:center;gap:clamp(1rem,2.2vw,2rem)}.bar__link{display:inline-flex;align-items:center;min-height:var(--target);position:relative;padding-block:var(--s-2)}.bar__link:after{content:"";position:absolute;inset:auto 0 .2rem;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform var(--dur-out) var(--ease-out)}@media(hover:hover){.bar__link:hover:after{transform:scaleX(1);transition-duration:var(--dur-move)}}.bar__link:active{transform:translateY(1px)}.bar__mail-short{display:none}.bar__mail:after{transform:scaleX(1);opacity:.25}@media(hover:hover){.bar__mail:hover:after{opacity:1}}@media(max-width:40rem){.bar__mail-full{display:none}.bar__mail-short{display:inline}}@font-face{font-family:Newsreader Display;src:url(/portfolio/fonts/newsreader-display.woff2) format("woff2");font-weight:300 650;font-style:normal;font-display:swap}@font-face{font-family:Newsreader Display;src:url(/portfolio/fonts/newsreader-display-italic.woff2) format("woff2");font-weight:300 650;font-style:italic;font-display:swap}@font-face{font-family:Newsreader;src:url(/portfolio/fonts/newsreader-text.woff2) format("woff2");font-weight:400 650;font-style:normal;font-display:swap}@font-face{font-family:Newsreader;src:url(/portfolio/fonts/newsreader-text-italic.woff2) format("woff2");font-weight:400 650;font-style:italic;font-display:swap}@font-face{font-family:Recursive;src:url(/portfolio/fonts/recursive.woff2) format("woff2");font-weight:400 800;font-style:normal;font-display:swap}@font-face{font-family:Recursive Fallback;src:local("Segoe UI"),local("Arial");size-adjust:111%}:root{--paper: #f4f2ee;--sheet: #faf9f7;--ink: #171717;--lead: #66625a;--pencil: #d8361f;--rule: rgb(23 23 23 / .14);--rule-soft: rgb(23 23 23 / .08);--wash: rgb(23 23 23 / .045);--pencil-wash: rgb(216 54 31 / .14);--accent: #9b3e29;--accent-deep: #78301f;--clay-wash: #eee1d6;--clay-bar: #c9947e;--blue-wash: #e3e9ee;--lavender-wash: #e9e5ee;--ink-blue: #2c66e3;--ink-red: #ea5330;--ink-yellow: #f6b826;--ink-blue-wash: #cfdcf8;--ink-red-wash: #f5dccf;--lead-deep: #524e47;--about-rise: clamp(6rem, 14cqi, 13rem);--ink-row-gutter: 2rem;--ink-caption-gap: 2rem;--ink-anchor-clearance: 1.5rem;--dur-scroll: .22s;--serif-display: "Newsreader Display", Georgia, "Times New Roman", serif;--serif: "Newsreader", "Times New Roman", Times, Georgia, serif;--sans: "Recursive", "Recursive Fallback", ui-sans-serif, system-ui, "Segoe UI", Roboto, sans-serif;--mono: "Recursive", ui-monospace, "Cascadia Mono", Consolas, monospace;--t-label: .875rem;--t-ui: .9375rem;--t-small: .8125rem;--t-body: clamp(1.0625rem, 1rem + .2cqi, 1.1875rem);--t-lead: clamp(1.1875rem, 1.05rem + .4cqi, 1.4375rem);--t-h3: clamp(1.375rem, 1.15rem + .5cqi, 1.625rem);--t-h2: clamp(1.625rem, 1.2rem + 1cqi, 2rem);--t-name: clamp(1.75rem, 1.3rem + 1cqi, 2.25rem);--t-h1: clamp(2.25rem, 1.4rem + 2.7cqi, 3.5rem);--track-display: -.04em;--track-heading: -.028em;--track-lead: -.012em;--lh-display: .93;--lh-heading: 1.02;--lh-lead: 1.34;--lh-body: 1.52;--measure: 34em;--s-1: .25rem;--s-2: .5rem;--s-3: .75rem;--s-4: 1rem;--s-5: 1.5rem;--s-6: 2rem;--s-7: 3rem;--s-8: 4.5rem;--s-9: 7rem;--s-10: 11rem;--edge: clamp(1.25rem, 5cqi, 4.5rem);--gutter: clamp(1rem, 1.7cqi, 1.5rem);--section: clamp(3.5rem, 6cqi, 5rem);--target: 2.75rem;--chart-h: 2.75rem;--release-chart-h: 4rem;--phone-w: 12rem;--card-media-h: 23rem;--phone-preview-h: 27rem;--project-media-w: 34rem;--project-media-h: 23rem;--article-media-w: 36rem;--hero-portrait: clamp(14rem, 24cqi, 19rem);--hero-portrait-small: clamp(6.5rem, 24cqi, 9rem);--contribution-0: #e9e6df;--contribution-1: #d7e9c0;--contribution-2: #92bd77;--contribution-3: #4a864c;--contribution-4: #245336;--portrait-w: 13rem;--terrain-h: 8rem;--r-window: 12px;--r-key: 5px;--r-pill: 999px;--shadow-window: 0 0 0 1px rgb(23 23 23 / .1), 0 14px 28px -14px rgb(23 23 23 / .3), 0 44px 70px -40px rgb(23 23 23 / .38);--shadow-cutout: drop-shadow(0 22px 26px rgb(23 23 23 / .28));--strike-weight: .075em;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.77, 0, .175, 1);--ease-in: cubic-bezier(.5, 0, .75, 0);--dur-in: .12s;--dur-out: .24s;--dur-move: .35s;--dur-reveal: .45s;--bar-h: 3.5rem;--status-h: 2.75rem;--z-bar: 50;--z-status: 60;--z-overlay: 80;--z-cursor: 90}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html{background:var(--paper);color:var(--ink);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;scroll-padding-block:calc(var(--bar-h) + var(--s-5)) calc(var(--status-h) + var(--s-5));font-variant-ligatures:common-ligatures;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100dvh;font-family:var(--serif);font-size:var(--t-body);line-height:var(--lh-body);overflow-x:clip}img,video,svg{display:block;max-width:100%;height:auto}button,input,textarea{font:inherit;color:inherit;background:none;border:0}button{cursor:pointer}ul,ol{list-style:none}table{border-collapse:collapse}h1,h2,h3,h4{font-weight:400;text-wrap:balance}p{text-wrap:pretty}::-moz-selection{background:var(--pencil-wash);color:var(--ink)}::selection{background:var(--pencil-wash);color:var(--ink)}:focus{outline:none}:focus-visible{outline:2px solid var(--pencil);outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip{position:fixed;top:var(--s-3);left:var(--s-3);z-index:var(--z-overlay);padding:var(--s-2) var(--s-4);background:var(--ink);color:var(--sheet);font:500 var(--t-ui) / 1.2 var(--sans);transform:translateY(-200%)}.skip:focus-visible{transform:none}a{color:inherit;text-decoration:none}.link{background-image:linear-gradient(var(--ink),var(--ink)),linear-gradient(var(--rule),var(--rule));background-repeat:no-repeat;background-position:0 100%,0 100%;background-size:0% 1px,100% 1px;padding-bottom:.08em;transition:background-size var(--dur-out) var(--ease-out)}@media(hover:hover){.link:hover{background-size:100% 1px,100% 1px;transition-duration:var(--dur-move)}}.link:active{transform:translateY(1px)}.hero__actions .link,.plate__links .link,.contact__links .link,.now__links .link{display:inline-block}@property --strike{syntax: "<number>"; inherits: true; initial-value: 1;}.strike{color:var(--lead);text-decoration:none;background-image:linear-gradient(var(--pencil),var(--pencil));background-repeat:no-repeat;background-position:0 56%;background-size:calc(var(--strike) * 100%) var(--strike-weight);-webkit-box-decoration-break:clone;box-decoration-break:clone}@keyframes restrike{0%{--strike: 0}to{--strike: 1}}.label{font:450 var(--t-label) / 1.35 var(--sans);color:var(--lead);font-variant-numeric:tabular-nums}.code,kbd{font-family:var(--mono);font-variation-settings:"MONO" 1;font-size:.86em}kbd{padding:.1em .42em;border:1px solid var(--rule);border-radius:var(--r-key);white-space:nowrap}.wrap{padding-inline:var(--edge)}.rule{height:1px;background:var(--rule);border:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media print{@page{margin:16mm 14mm}html{background:none}.bar,.status,.skip,video,.contact__copy{display:none!important}.frame__main{padding-bottom:0}*{opacity:1!important;visibility:visible!important;transform:none!important;--strike: 1 !important}.build--held{height:auto!important}.build--held .build__stage{position:static!important;height:auto!important}.plate,.removals__item,.build__step,.dated__row,figure{-moz-column-break-inside:avoid;break-inside:avoid}.shot__media{box-shadow:none!important;filter:none!important;max-height:90mm;width:auto!important}.prose a[href^=http]:after,.contact__links a[href^=http]:after{content:" (" attr(href) ")";font:400 .8em var(--sans);color:var(--lead)}}
