/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.table{display:table}}:root{--paper:#f3f1eb;--ink:#20201d;--moss:#4e6758;--river:#718f98;--red:#ad5a50;--field:#af9656;--line:#20201d38;--hero-ink:#29433b;--hero-river:#b9d0d1;--hero-moss:#c8d3c3;--hero-field:#ded3ad}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);letter-spacing:.004em;margin:0;font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%}::selection{background:var(--red);color:#fff}.nav{z-index:5;color:var(--hero-ink);letter-spacing:.11em;text-transform:uppercase;justify-content:space-between;align-items:center;padding:28px 3.2vw;font-size:12px;display:flex;position:absolute;inset:0 0 auto}.monogram{border:1px solid;border-radius:50%;place-items:center;width:44px;height:44px;font-weight:700;transition:background .25s,color .25s,transform .5s cubic-bezier(.2,.8,.2,1);display:grid}.monogram:hover{background:var(--ink);color:var(--paper);transform:rotate(12deg)}.nav .monogram:hover{background:var(--hero-ink);color:var(--paper)}.nav nav{gap:30px;display:flex}.nav nav a{padding:7px 0;position:relative}.nav nav a:after{content:"";background:currentColor;height:1px;transition:right .3s;position:absolute;bottom:2px;left:0;right:100%}.nav nav a:hover:after,.nav nav a[aria-current=page]:after{right:0}.nav nav a:focus-visible:after{right:0}.hero{isolation:isolate;min-height:100svh;color:var(--hero-ink);background-color:var(--hero-river);background-image:linear-gradient(to right,#29433b17 1px,transparent 1px),linear-gradient(to bottom,#29433b17 1px,transparent 1px),linear-gradient(125deg,var(--hero-river),var(--hero-moss) 38%,var(--hero-field) 72%,#dfc5bd);background-size:8vw 8vw,8vw 8vw,240% 240%;grid-template-columns:minmax(350px,.62fr) 1.38fr;align-items:center;gap:1vw;padding:110px 2.2vw 64px 3.2vw;animation:18s ease-in-out infinite alternate hero-palette;display:grid;position:relative;overflow:hidden}.hero:before,.hero:after{content:"";z-index:-1;aspect-ratio:1;filter:blur(2px);opacity:.48;pointer-events:none;border-radius:44% 56% 63% 37%/54% 40% 60% 46%;width:34vw;position:absolute}.hero:before{background:#ad5a5061;animation:13s ease-in-out infinite alternate blob-one;top:-10vw;right:-7vw}.hero:after{background:#718f9880;animation:16s ease-in-out infinite alternate blob-two;bottom:-22vw;left:28vw}.hero-mark{z-index:0;color:#0000;-webkit-text-stroke:1px #29433b26;letter-spacing:-.09em;pointer-events:none;font-size:clamp(300px,43vw,760px);font-weight:700;line-height:.72;animation:12s ease-in-out infinite alternate mark-drift;position:absolute;bottom:-7vw;right:-1vw}.hero-copy{z-index:2;padding-bottom:3vh;animation:.9s cubic-bezier(.2,.7,.2,1) both rise;position:relative}.hero-copy:before{content:"";background:linear-gradient(var(--red),transparent);width:3px;height:86px;animation:1s .5s both line-grow;position:absolute;top:0;left:-3.2vw}.hero .eyebrow{color:#29433bb8}.eyebrow{letter-spacing:.18em;text-transform:uppercase;margin:0 0 28px;font-size:12px}h1{letter-spacing:-.025em;max-width:900px;margin:0;font-size:clamp(54px,6.1vw,104px);font-weight:600;line-height:1.02}h1 span{letter-spacing:-.025em;font-family:inherit;font-weight:600}h1 em{color:var(--red);letter-spacing:-.015em;font-family:inherit;font-style:normal;font-weight:600;animation:4.8s ease-in-out 1.2s infinite word-pulse;display:inline-block}.hero h1{letter-spacing:-.01em;width:min(760px,54vw);max-width:none;font-family:Bodoni MT,Didot,Iowan Old Style,Baskerville,Palatino Linotype,Georgia,serif;font-size:clamp(50px,5.2vw,88px);font-style:italic;font-weight:400;line-height:1}.hero h1 span,.hero h1 em{font-family:inherit;font-style:inherit;font-weight:inherit}.hero-line,.hero-word{width:max-content;display:block}.hero-line-one{letter-spacing:.005em;margin-bottom:.08em;font-size:.78em;transform:translate(-.06em)}.hero-word{color:var(--hero-ink);letter-spacing:-.006em;font-size:1.28em;line-height:.96}.hero-word-clear{transform:translate(.18em)}.hero-word-useful{color:var(--red);transform:translate(clamp(45px,7vw,125px))}.hero-word-impressive{transform:translate(clamp(12px,2.8vw,54px))}.intro{letter-spacing:.008em;max-width:560px;margin:42px 0;font-size:clamp(17px,1.45vw,23px);line-height:1.62}.hero .intro{color:#29433bd1}.text-link{text-transform:uppercase;letter-spacing:.09em;border-bottom:1px solid;align-items:center;gap:18px;padding-bottom:7px;font-size:12px;display:inline-flex}.hero .text-link{border-bottom-color:#29433b8c;padding:12px 15px 11px 0;transition:padding .3s,background .3s,color .3s}:is(.hero .text-link:hover,.hero .text-link:focus-visible){background:var(--red);color:var(--paper);padding-left:15px}.text-link span{font-size:20px;transition:transform .2s}.text-link:hover span{transform:translate(4px,4px)}.hero-image{z-index:2;perspective:1000px;flex-direction:column;justify-self:end;align-items:center;min-width:0;margin:0;animation:1.25s cubic-bezier(.2,.7,.2,1) .12s both reveal-angle,6s ease-in-out 1.5s infinite image-drift;display:flex;position:relative;translate:9vw}.hero-image:before{content:"";z-index:2;border-left:2px solid var(--red);border-top:2px solid var(--red);pointer-events:none;width:62px;height:62px;animation:.8s 1s both corner-in,3.5s ease-in-out 1.8s infinite corner-breathe;position:absolute;top:-13px;left:-13px}.hero-image img{object-fit:contain;filter:saturate(.96)contrast(1.01)drop-shadow(0 34px 34px #29433b33);width:auto;max-width:none;height:min(116svh,1400px);transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .4s;display:block}.hero-image:hover img{filter:saturate()contrast();transform:rotate(.35deg)scale(1.008)}.hero-image figcaption{text-align:right;color:#29433bb8;letter-spacing:.14em;text-transform:uppercase;width:100%;max-width:540px;padding-top:12px;font-size:12px}.margin-note{z-index:2;writing-mode:vertical-rl;letter-spacing:.18em;text-transform:uppercase;margin:0;font-size:10px;position:absolute;top:50%;right:1.3vw}.hero-signal{z-index:3;gap:8px;display:flex;position:absolute;top:92px;left:3.2vw}.hero-signal span{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);letter-spacing:.11em;text-transform:uppercase;background:#f3f1eb3d;border:1px solid #29433b4d;border-radius:999px;padding:7px 10px;font-size:10px;animation:.7s both signal-in,4s ease-in-out 1.2s infinite signal-float}.hero-signal span:nth-child(2){animation-delay:.12s,1.45s}.hero-signal span:nth-child(3){animation-delay:.24s,1.7s}.hero-status{z-index:3;color:#29433bb8;letter-spacing:.16em;text-transform:uppercase;border-top:1px solid #29433b4d;justify-content:space-between;padding-top:12px;font-size:10px;line-height:1.4;display:flex;position:absolute;bottom:24px;left:3.2vw;right:3.2vw}.hero-status span:first-child:before{content:"";background:var(--red);border-radius:50%;width:7px;height:7px;margin-right:10px;animation:2s ease-out infinite status-pulse;display:inline-block;box-shadow:0 0 0 5px #ad5a5024}.contour{pointer-events:none;border:1px solid #ad5a5080;border-radius:48% 52% 63% 37%/44% 39% 61% 56%;animation:10s ease-in-out infinite alternate contour-drift;position:absolute}.contour-one{width:48vw;height:30vw;bottom:-14vw;left:-18vw;transform:rotate(12deg)}.contour-two{width:56vw;height:38vw;animation-duration:13s;animation-delay:-4s;bottom:-19vw;left:-22vw;transform:rotate(-5deg)}.manifesto{border-top:1px solid var(--line);grid-template-columns:1fr 4fr;align-items:start;gap:5vw;min-height:72vh;padding:12vw 8vw;display:grid}.manifesto span{letter-spacing:.16em;text-transform:uppercase;font-size:12px}.manifesto p{letter-spacing:-.018em;text-wrap:balance;max-width:1200px;margin:0;font-size:clamp(38px,5.3vw,88px);line-height:1.12}.manifesto em{color:var(--red);font-family:inherit;font-style:normal;font-weight:500}.work{border-top:1px solid var(--line)}.section-heading{grid-template-columns:1.4fr 1fr;align-items:end;gap:10vw;padding:90px 3.2vw 110px;display:grid}.section-heading .eyebrow{margin-bottom:22px}.section-heading h2{letter-spacing:-.022em;text-wrap:balance;max-width:900px;margin:0;font-family:inherit;font-size:clamp(40px,5.2vw,82px);font-weight:600;line-height:1.08}.section-heading h2 em,.about-title h2 em,footer>p em{color:var(--red);font-family:inherit;font-style:normal;font-weight:600}.section-heading p:last-child{letter-spacing:.008em;max-width:600px;margin:0;font-size:20px;line-height:1.65}.project{border-top:1px solid;padding:5vw 3.2vw 3.2vw;position:relative}.project-head{grid-template-columns:90px minmax(0,1fr) 280px;align-items:start;gap:3vw;margin-bottom:4vw;display:grid}.project-no{letter-spacing:-.015em;font-family:inherit;font-size:clamp(40px,5vw,78px);font-style:normal;font-weight:500;line-height:1;transition:transform .4s}.project:hover .project-no{transform:rotate(-6deg)translateY(-4px)}.project-subtitle,.project-meta{letter-spacing:.15em;text-transform:uppercase;margin:0 0 16px;font-size:12px;line-height:1.75}.project-head h2{letter-spacing:-.022em;text-wrap:balance;max-width:1050px;margin:0;font-family:inherit;font-size:clamp(40px,6vw,96px);font-weight:600;line-height:1.04;transition:letter-spacing .45s}.project:hover .project-head h2{letter-spacing:-.012em}.project-meta{text-align:right}.project-cover{background:#ddd8ce;margin:0;position:relative;overflow:hidden;box-shadow:0 20px 60px #14141014}.project-cover:after{content:"";pointer-events:none;background:linear-gradient(110deg,#0000 35%,#ffffff42 50%,#0000 65%);transition:transform 1.1s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0;transform:translate(-120%)}.project:hover .project-cover:after{transform:translate(120%)}.project-cover img{filter:saturate(.9)contrast(.98);width:100%;height:auto;transition:transform 1.1s cubic-bezier(.2,.7,.2,1),filter .5s;display:block}.project:hover .project-cover img{filter:saturate()contrast();transform:scale(1.012)}.project-story{grid-template-columns:2fr 1fr;align-items:start;gap:8vw;padding:42px 0 55px;display:grid}.project-story>p{letter-spacing:-.008em;text-wrap:pretty;max-width:900px;margin:0;font-size:clamp(22px,2.65vw,43px);line-height:1.36}.project-story ul{margin:0;padding:0;list-style:none}.project-story li{letter-spacing:.15em;text-transform:uppercase;border-bottom:1px solid;padding:12px 0;font-size:12px;line-height:1.5;transition:padding-left .25s}.project-story li:hover{padding-left:10px}.project-details{interpolate-size:allow-keywords;border-top:1px solid}.project-details summary{cursor:pointer;background:currentColor;justify-content:space-between;align-items:center;gap:24px;margin-top:18px;padding:22px 24px;list-style:none;display:flex}@supports (color:color-mix(in lab, red, red)){.project-details summary{background:color-mix(in srgb,currentColor 9%,transparent)}}.project-details summary{border:1px solid}@supports (color:color-mix(in lab, red, red)){.project-details summary{border:1px solid color-mix(in srgb,currentColor 28%,transparent)}}.project-details summary{letter-spacing:.13em;text-transform:uppercase;font-size:14px;font-weight:700;line-height:1.5;transition:padding-left .3s,background .3s,transform .3s,box-shadow .3s;position:relative;overflow:hidden}.project-details summary:before{content:"";background:linear-gradient(110deg,#0000 30%,currentColor 48%,#0000 66%);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.project-details summary:before{background:linear-gradient(110deg,transparent 30%,color-mix(in srgb,currentColor 14%,transparent) 48%,transparent 66%)}}.project-details summary:before{transition:transform .8s;transform:translate(-120%)}:is(.project-details summary:hover,.project-details summary:focus-visible){background:currentColor;padding-left:34px}@supports (color:color-mix(in lab, red, red)){:is(.project-details summary:hover,.project-details summary:focus-visible){background:color-mix(in srgb,currentColor 15%,transparent)}}:is(.project-details summary:hover,.project-details summary:focus-visible){transform:translateY(-2px);box-shadow:0 10px 25px #14141014}.project-details summary:hover:before{transform:translate(120%)}.project-details summary:focus-visible:before{transform:translate(120%)}.project-details summary::-webkit-details-marker{display:none}.plus{border:1px solid;border-radius:50%;flex:none;place-items:center;width:40px;height:40px;font-size:24px;font-weight:400;line-height:1;transition:transform .45s cubic-bezier(.2,.8,.2,1),background .3s,color .3s;display:grid}.project-details[open] .plus{color:var(--paper);background:currentColor;transform:rotate(45deg)}.project.moss .project-details[open] .plus{background:var(--paper);color:#52675a}.project.blue .project-details[open] .plus{background:var(--paper);color:#718d93}.project-details::details-content{opacity:0;block-size:0;transition:content-visibility .5s allow-discrete,opacity .45s ease,block-size .55s ease;overflow-y:clip}.project-details[open]::details-content{opacity:1;block-size:auto}.case-study-pages{grid-template-columns:1fr;gap:38px;padding:34px 0 60px;display:grid}.case-study-pages figure{opacity:0;background:#e7e3da;margin:0;transition:transform .4s,box-shadow .4s;overflow:hidden;box-shadow:0 18px 55px #1414101a}.project-details[open] .case-study-pages figure{animation:.7s cubic-bezier(.2,.75,.2,1) both board-in}.project-details[open] .case-study-pages figure:nth-child(2){animation-delay:80ms}.project-details[open] .case-study-pages figure:nth-child(3){animation-delay:.16s}.project-details[open] .case-study-pages figure:nth-child(4){animation-delay:.24s}.project-details[open] .case-study-pages figure:nth-child(5){animation-delay:.32s}.project-details[open] .case-study-pages figure:nth-child(6){animation-delay:.4s}.project-details[open] .case-study-pages figure:nth-child(n+7){animation-delay:.48s}.case-study-pages figure:hover{transform:translateY(-6px);box-shadow:0 28px 75px #1414102b}.case-study-pages img{width:100%;height:auto;transition:transform .8s cubic-bezier(.2,.75,.2,1),filter .45s;display:block}.case-study-pages figure:hover img{filter:saturate(1.04);transform:scale(1.008)}.case-study-pages figcaption{text-align:right;letter-spacing:.14em;text-transform:uppercase;border-top:1px solid #20201d1f;padding:14px 12px;font-size:11px}.project.river{background:#dce4e2}.project.moss{color:#f2efe6;background:#52675a}.project.red{background:#e5d6d0}.project.blue{color:#f5f1e8;background:#718d93}.project.field{background:#d6cba8}.project.paper{background:#eeeae2}.about{border-top:1px solid var(--line);grid-template-columns:1fr 1.45fr;gap:9vw;padding:10vw 3.2vw;display:grid}.about-title h2{letter-spacing:-.024em;text-wrap:balance;max-width:720px;margin:0;font-family:inherit;font-size:clamp(52px,6.5vw,104px);font-weight:600;line-height:1.04}.about-copy>p{letter-spacing:-.008em;text-wrap:pretty;max-width:720px;margin:0 0 85px;font-size:clamp(24px,2.8vw,44px);line-height:1.38}.education>div{border-top:1px solid var(--line);grid-template-columns:110px 1fr auto;align-items:baseline;gap:20px;padding:22px 0;transition:padding-left .3s,background .3s;display:grid}.education>div:hover{background:#ffffff38;padding-left:12px}.education span,.education small{letter-spacing:.1em;text-transform:uppercase;font-size:12px}.education strong{letter-spacing:.012em;font-size:16px;font-weight:500;line-height:1.45}.disciplines{flex-wrap:wrap;gap:9px;margin-top:55px;display:flex}.disciplines span{border:1px solid var(--line);letter-spacing:.07em;text-transform:uppercase;border-radius:999px;padding:10px 14px;font-size:11px;transition:transform .25s,background .25s,color .25s}.disciplines span:hover{background:var(--ink);color:var(--paper);transform:translateY(-4px)rotate(-1deg)}footer{min-height:65vh;color:var(--paper);background:#40584a;flex-direction:column;justify-content:space-between;padding:7vw 3.2vw 3vw;display:flex}footer>p{letter-spacing:-.024em;margin:0;font-family:inherit;font-size:clamp(55px,8.5vw,140px);font-weight:600;line-height:1}footer>p em{transition:transform .5s;display:inline-block}footer:hover>p em{transform:translate(1.5vw)rotate(-1deg)}footer>div{letter-spacing:.09em;text-transform:uppercase;justify-content:space-between;align-items:flex-end;gap:20px;padding-top:80px;font-size:12px;display:flex}footer a{border-bottom:1px solid;padding-bottom:7px}.resume-page{background:var(--paper)}.resume-nav{color:var(--ink)}.resume-nav .monogram:hover{background:var(--ink);color:var(--paper)}.resume-hero{isolation:isolate;border-bottom:1px solid var(--line);background-color:var(--paper);background-image:linear-gradient(90deg,#20201d12 1px,#0000 1px),linear-gradient(#20201d12 1px,#0000 1px),linear-gradient(135deg,#f1eee5 12%,#dce4e2 56%,#d6cba8 100%);background-size:8vw 8vw,8vw 8vw,100% 100%;grid-template-columns:1.25fr .75fr;align-items:end;gap:8vw;min-height:90svh;padding:150px 5vw 80px;display:grid;position:relative;overflow:hidden}.resume-hero:after{content:"";z-index:-1;background:#ad5a5038;border-radius:44% 56% 62% 38%/38% 50% 50% 62%;width:42vw;height:42vw;animation:16s ease-in-out infinite alternate blob-one;position:absolute;top:-18vw;right:-12vw}.resume-hero-mark{z-index:-1;letter-spacing:-.11em;color:#0000;-webkit-text-stroke:1px #20201d1f;pointer-events:none;font-family:Bodoni MT,Didot,Baskerville,Georgia,serif;font-size:clamp(260px,40vw,680px);font-style:italic;line-height:.78;position:absolute;bottom:-.18em;right:-.03em}.resume-hero h1{letter-spacing:-.022em;max-width:1000px;margin:0;font-family:Bodoni MT,Didot,Iowan Old Style,Baskerville,Palatino Linotype,Georgia,serif;font-size:clamp(64px,7.2vw,126px);font-style:italic;font-weight:400;line-height:.9}.resume-hero h1 em{color:var(--red);font-family:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit}.resume-intro{z-index:2;align-self:end;position:relative}.resume-intro>p{letter-spacing:.006em;max-width:620px;margin:0 0 50px;font-size:clamp(19px,1.55vw,25px);line-height:1.62}.resume-cta-row{border-top:1px solid var(--line);letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:22px;padding-top:20px;font-size:11px;display:flex}.resume-download{background:var(--red);color:var(--paper);align-items:center;gap:18px;margin:-13px 0 -13px -16px;padding:13px 16px;font-weight:700;transition:transform .3s,box-shadow .3s;display:inline-flex}.resume-download:hover{transform:translateY(-4px);box-shadow:0 12px 30px #20201d24}.resume-download span{font-size:19px}.resume-layout{grid-template-columns:minmax(210px,.52fr) 2fr;gap:7vw;padding:110px 5vw 130px;display:grid}.resume-index{border-top:1px solid var(--line);flex-direction:column;align-self:start;gap:0;display:flex;position:sticky;top:32px}.resume-index>span{color:#20201d8f;letter-spacing:.17em;text-transform:uppercase;padding:15px 0 26px;font-size:10px}.resume-index a{border-bottom:1px solid var(--line);letter-spacing:.11em;text-transform:uppercase;padding:13px 0;font-size:11px;transition:padding-left .25s,color .25s}.resume-index a:hover{color:var(--red);padding-left:10px}.resume-content{min-width:0}.resume-section{padding:0 0 105px;scroll-margin-top:35px}.resume-section+.resume-section{border-top:1px solid var(--line);padding-top:105px}.resume-section-title{grid-template-columns:74px 1fr;align-items:end;gap:20px;margin-bottom:70px;display:grid}.resume-section-title span{color:var(--red);font-family:Bodoni MT,Didot,Baskerville,Georgia,serif;font-size:44px;font-style:italic;line-height:1}.resume-section-title h2{letter-spacing:-.025em;margin:0;font-size:clamp(42px,5.2vw,84px);font-weight:600;line-height:1}.resume-entry{border-top:1px solid var(--line);grid-template-columns:minmax(140px,.45fr) 1.55fr;gap:4vw;padding:36px 0;display:grid}.resume-entry:last-child{border-bottom:1px solid var(--line)}.resume-date{color:#20201da3;letter-spacing:.12em;text-transform:uppercase;margin:4px 0 0;font-size:11px;line-height:1.5}.resume-entry h3{letter-spacing:-.014em;margin:0 0 10px;font-size:clamp(25px,2.4vw,39px);font-weight:600;line-height:1.16}.resume-entry p:not(.resume-date){margin:8px 0;font-size:15px;line-height:1.6}.resume-entry .resume-role{color:var(--red);letter-spacing:.1em;text-transform:uppercase;margin-bottom:16px;font-size:12px;font-weight:700}.resume-entry .resume-note{border:1px solid var(--line);letter-spacing:.1em;text-transform:uppercase;border-radius:999px;margin-top:16px;padding:7px 10px;font-size:10px;display:inline-block}.resume-entry-rich{padding:45px 0 52px}.resume-entry-rich ul{margin:30px 0 0;padding:0;list-style:none}.resume-entry-rich li{border-top:1px solid #20201d21;padding:12px 0 12px 27px;font-size:15px;line-height:1.65;position:relative}.resume-entry-rich li:before{content:"↘";color:var(--red);position:absolute;top:12px;left:0}.resume-project-name{max-width:780px;font-family:Bodoni MT,Didot,Baskerville,Georgia,serif;font-style:italic;font-size:clamp(21px,2vw,31px)!important;line-height:1.35!important}.award-list{border-top:1px solid var(--line)}.award-list>div{border-bottom:1px solid var(--line);grid-template-columns:minmax(150px,.45fr) 1.55fr;align-items:baseline;gap:4vw;padding:22px 0;transition:padding-left .25s,background .25s;display:grid}.award-list>div:hover{background:#718f9814;padding-left:12px}.award-list span{color:#20201d9e;letter-spacing:.1em;text-transform:uppercase;font-size:11px}.award-list p{margin:0;font-size:17px;line-height:1.5}.skill-grid{border-top:1px solid var(--line);grid-template-columns:1.4fr .8fr .8fr;display:grid}.skill-grid>div{border-bottom:1px solid var(--line);min-height:220px;padding:28px 28px 35px 0}.skill-grid>div+div{border-left:1px solid var(--line);padding-left:28px}.skill-grid p{margin:0;font-size:20px;line-height:1.55}.skill-grid .resume-label{color:var(--red);letter-spacing:.15em;text-transform:uppercase;margin-bottom:50px;font-size:10px}.resume-footer{min-height:55vh}.resume-footer>div{align-items:flex-end}@keyframes rise{0%{opacity:0;transform:translateY(25px)}}@keyframes reveal{0%{opacity:0;clip-path:inset(0 0 20%);transform:translateY(25px)}to{clip-path:inset(0)}}@keyframes reveal-angle{0%{opacity:0;clip-path:polygon(18% 0,100% 0,82% 100%,0 100%);transform:translateY(35px)rotate(1.5deg)}to{opacity:1;clip-path:polygon(0 0,100% 0,100% 100%,0 100%);transform:none}}@keyframes hero-palette{0%{background-position:0 0,0 0,0 45%}to{background-position:8vw 0,0 8vw,100% 55%}}@keyframes blob-one{0%{border-radius:44% 56% 63% 37%/54% 40% 60% 46%;transform:translate(0)rotate(0)scale(1)}to{border-radius:61% 39% 43% 57%/38% 58% 42% 62%;transform:translate(-10vw,8vw)rotate(38deg)scale(1.18)}}@keyframes blob-two{0%{transform:translate(0)rotate(0)scale(1)}to{transform:translate(12vw,-8vw)rotate(-28deg)scale(.82)}}@keyframes mark-drift{0%{transform:translate(0)}to{transform:translate(-2vw,-1vw)}}@keyframes status-pulse{0%{box-shadow:0 0 #ad5a5061}80%,to{box-shadow:0 0 0 9px #ad5a5000}}@keyframes line-grow{0%{opacity:0;height:0}}@keyframes corner-in{0%{opacity:0;transform:translate(14px,14px)}}@keyframes corner-breathe{0%,to{opacity:1;width:62px;height:62px}50%{opacity:.55;width:82px;height:82px}}@keyframes signal-in{0%{opacity:0;transform:translate(-12px)}}@keyframes signal-float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes image-drift{0%,to{translate:0}50%{translate:0 -8px}}@keyframes board-in{0%{opacity:0;clip-path:inset(5% 0 8%);translate:0 36px}to{opacity:1;clip-path:inset(0);translate:0}}@keyframes word-pulse{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes contour-drift{0%{translate:0;scale:1}to{translate:3vw -2vw;scale:1.06}}@keyframes view-rise{0%{opacity:.15;transform:translateY(55px)}to{opacity:1;transform:translateY(0)}}@keyframes view-reveal{0%{opacity:.35;clip-path:inset(8% 0)}to{opacity:1;clip-path:inset(0)}}@supports (animation-timeline:view()){.project-head,.project-story,.about-title,.about-copy{animation:linear both view-rise;animation-timeline:view();animation-range:entry 5% cover 28%}.project-cover{animation:linear both view-reveal;animation-timeline:view();animation-range:entry 0 cover 32%}.resume-section-title,.resume-entry,.award-list,.skill-grid{animation:linear both view-rise;animation-timeline:view();animation-range:entry 4% cover 26%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (max-width:900px){.nav nav a:nth-child(n+3){display:none}.nav nav{gap:16px}.hero{grid-template-columns:1fr;padding-top:125px}h1{letter-spacing:-.018em;font-size:clamp(48px,12vw,74px);line-height:1.06}.hero h1{width:100%;font-size:clamp(46px,11.5vw,74px)}.hero-word-useful{transform:translate(clamp(34px,13vw,100px))}.hero-word-impressive{transform:translate(clamp(8px,4vw,32px))}.hero-image{margin-top:25px;translate:10vw}.hero-image img{width:132%;max-width:none;height:auto;max-height:none;margin-inline:-16%}.hero-image figcaption{width:100%}.hero-mark{font-size:70vw;bottom:2vw;right:-8vw}.hero-status{grid-column:1;margin-top:50px;position:relative;bottom:auto;left:auto;right:auto}.margin-note{display:none}.hero-signal{top:78px}.manifesto{grid-template-columns:1fr;min-height:auto;padding:120px 5vw}.section-heading{grid-template-columns:1fr;padding-bottom:60px}.project{padding:70px 4.5vw 35px}.project-head{grid-template-columns:60px 1fr}.project-meta{text-align:left;grid-column:2}.project-story{grid-template-columns:1fr;gap:45px}.case-study-pages{gap:24px}.about{grid-template-columns:1fr}.education>div{grid-template-columns:100px 1fr}.education small{grid-column:2}.resume-hero{grid-template-columns:1fr;gap:70px;min-height:auto;padding:140px 5vw 90px}.resume-hero h1{font-size:clamp(58px,12vw,92px)}.resume-intro{max-width:700px}.resume-layout{grid-template-columns:1fr;padding-top:70px}.resume-index{grid-template-columns:repeat(5,1fr);display:grid;position:relative;top:auto;overflow-x:auto}.resume-index>span{grid-column:1/-1}.resume-index a{border-top:1px solid var(--line);min-width:145px}.skill-grid{grid-template-columns:1fr}.skill-grid>div{min-height:auto;padding:28px 0 35px;border-left:0!important}.skill-grid .resume-label{margin-bottom:22px}}@media (max-width:560px){.nav{padding:20px 4.5vw}.monogram{width:40px;height:40px}.nav nav{font-size:10px}.hero-signal{display:none}.hero{padding:110px 4.5vw 35px}.hero-copy:before{height:60px;left:-4.5vw}.hero-status{flex-direction:column;gap:10px;font-size:10px}.hero-image:before{width:42px;height:42px;top:-7px;left:-7px}.intro{margin:28px 0}.manifesto p{font-size:37px;line-height:1.16}.section-heading h2,.project-head h2,.about-title h2{letter-spacing:-.016em;line-height:1.1}.project-head{display:block}.project-no{margin-bottom:30px;display:block}.project-meta{margin-top:22px}.about{padding:100px 4.5vw}footer{padding:80px 4.5vw 35px}footer>div{flex-direction:column;align-items:flex-start}.resume-hero{padding:120px 4.5vw 70px}.resume-hero h1{font-size:clamp(53px,14vw,76px);line-height:.94}.resume-intro>p{margin-bottom:38px}.resume-cta-row{flex-direction:column;align-items:flex-start}.resume-layout{padding:65px 4.5vw 90px}.resume-section{padding-bottom:75px}.resume-section+.resume-section{padding-top:75px}.resume-section-title{grid-template-columns:48px 1fr;margin-bottom:45px}.resume-section-title span{font-size:32px}.resume-entry,.award-list>div{grid-template-columns:1fr;gap:16px}.resume-entry{padding:28px 0 36px}.resume-date{margin:0}.resume-entry h3{font-size:27px}.award-list>div{padding:20px 0}.resume-footer{padding-top:70px}}
