@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.12tyk43_3sh9u.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.0jzbimsg8vl84.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.0-wfv7uh4i7h9.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.0nx0ww8fni_q3.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.09~u27dqhyhd6.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}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.0zgw-jeven.3w.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.0wkzw~je483f-.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.0rhz0arwfsn~5.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.0l76wvqk9d84w.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.0k4k9394f2q-k.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.08e28id.o-okb.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}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
@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,::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]){appearance:button}::file-selector-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{.relative{position:relative}.start{inset-inline-start:var(--spacing)}.table{display:table}.resize{resize:both}}:root{--paper:#f0eee7;--paper-deep:#e6e2d8;--ink:#141412;--ink-soft:#232320;--muted:#77766f;--line:#1414122e;--signal:#c9472d;--acid:#d9ff51;--page-progress:0;--serif:"Iowan Old Style", "Baskerville", "Times New Roman", "Songti SC", "STSong", serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--font-geist-sans), "PingFang SC", "Microsoft YaHei", sans-serif;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;overflow-x:clip}a{color:inherit;text-decoration:none}::selection{color:var(--paper);background:var(--signal)}.site-header{z-index:80;background:var(--paper);border-bottom:1px solid #0000;grid-template-columns:1fr auto 1fr;align-items:center;width:100%;height:72px;padding:0 34px;display:grid;position:fixed;top:0;left:0}@supports (color:color-mix(in lab, red, red)){.site-header{background:color-mix(in srgb, var(--paper) 86%, transparent)}}.site-header{-webkit-backdrop-filter:blur(18px)saturate(120%);backdrop-filter:blur(18px)saturate(120%);transition:transform .5s cubic-bezier(.22,1,.36,1),border-color .3s,background .3s}.site-header.scrolled{border-color:var(--line)}.site-header.header-hidden{transform:translateY(-110%)}.wordmark{letter-spacing:-.045em;font-size:18px;font-weight:650}.wordmark span{color:var(--signal)}.site-header nav{align-items:center;gap:34px;display:flex}.site-header nav a,.header-contact{font:600 10px/1 var(--font-geist-mono), monospace;letter-spacing:.07em;text-transform:uppercase;position:relative}.site-header nav a:after,.header-contact:after{content:"";background:currentColor;height:1px;transition:right .35s cubic-bezier(.22,1,.36,1);position:absolute;bottom:-7px;left:0;right:100%}.site-header nav a:hover:after,.site-header nav a.is-active:after,.header-contact:hover:after{right:0}.site-header nav a.is-active{color:var(--signal)}.header-contact{justify-self:end}.hero{border-bottom:1px solid var(--line);grid-template-rows:auto 1fr auto;min-height:100svh;padding:98px 34px 30px;display:grid}.hero-meta{border-bottom:1px solid var(--line);color:var(--muted);font:500 9px/1 var(--font-geist-mono), monospace;letter-spacing:.09em;text-transform:uppercase;grid-template-columns:1fr 1fr 1fr;padding-bottom:14px;display:grid}.hero-meta span:nth-child(2){text-align:center}.hero-meta span:last-child{text-align:right}.hero-heading{letter-spacing:-.085em;transform:translate3d(0,var(--hero-shift,0),0);opacity:var(--hero-fade,1);align-self:center;padding:5vh 0 2vh;line-height:.72;position:relative}.hero-line{font-size:clamp(104px,17.5vw,270px);font-weight:690;display:block}.hero-line-two{color:#0000;-webkit-text-stroke:1.5px var(--ink);padding-left:19.2%}.hero-serif{z-index:2;color:var(--signal);font:italic 500 clamp(28px, 4.7vw, 76px)/.86 var(--serif);letter-spacing:-.055em;position:absolute;top:43%;left:4%;transform:rotate(-7deg)}.hero-bottom{grid-template-columns:2fr 5fr 1fr;align-items:end;gap:28px;display:grid}.hero-intro{letter-spacing:-.02em;max-width:320px;margin:0;font-size:15px;line-height:1.55}.hero-canvas{background:var(--ink);height:158px;color:var(--paper);position:relative;overflow:hidden}.canvas-index{font:9px var(--font-geist-mono), monospace;position:absolute;top:15px;left:17px}.canvas-word{letter-spacing:-.08em;font-size:74px;font-weight:680;position:absolute;bottom:-7px;left:16px}.canvas-number{color:#0000;-webkit-text-stroke:1px #f0eee78c;letter-spacing:-.1em;font-size:156px;line-height:1;position:absolute;top:-24px;right:20%}.canvas-orb{aspect-ratio:1;background:var(--signal);border-radius:50%;width:78px;position:absolute;top:29px;right:7.5%;box-shadow:0 0 70px #c9472d47}.canvas-note{z-index:2;font:italic 18px/1.05 var(--serif);text-align:right;position:absolute;bottom:17px;right:22px}.scroll-cue{font:600 9px var(--font-geist-mono), monospace;letter-spacing:.06em;text-transform:uppercase;flex-direction:column;align-items:flex-end;gap:26px;display:flex}.scroll-cue i{aspect-ratio:1;border:1px solid var(--line);border-radius:50%;place-items:center;width:42px;font-style:normal;transition:all .3s;display:grid}.scroll-cue:hover i{background:var(--ink);color:var(--paper);transform:translateY(4px)}.marquee{border-bottom:1px solid var(--line);white-space:nowrap;color:var(--muted);font:500 9px var(--font-geist-mono), monospace;letter-spacing:.09em;padding:13px 0 12px;overflow:hidden}.marquee div{width:max-content;animation:54s linear infinite marquee}@keyframes marquee{to{transform:translate(-50%)}}.intro-section,.services-section,.resume-section,.footer{padding:112px 34px}.section-tag{border-bottom:1px solid var(--line);font:550 9px var(--font-geist-mono), monospace;letter-spacing:.08em;text-transform:uppercase;grid-template-columns:56px 1fr;padding-bottom:14px;display:grid}.section-tag span:first-child{color:var(--signal)}.intro-lead{margin:92px 0 80px}.intro-lead p{letter-spacing:-.07em;margin:0;font-size:clamp(40px,6.5vw,100px);font-weight:560;line-height:.97}.intro-lead p:last-child{padding-left:12%}.intro-lead span{font-family:var(--serif);color:var(--signal);font-style:italic;font-weight:500}.intro-detail{color:#45453f;grid-template-columns:1fr 1fr;gap:36px;width:48%;margin-left:auto;font-size:14px;line-height:1.65;display:grid}.intro-detail p{margin:0}.credentials{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin-top:110px;display:grid}.credentials>div{border-right:1px solid var(--line);flex-direction:column;justify-content:space-between;min-height:192px;padding:20px 24px 20px 0;display:flex}.credentials>div:not(:first-child){padding-left:24px}.credentials>div:last-child{border-right:0}.credentials strong{letter-spacing:-.075em;font-size:clamp(56px,6vw,94px);font-weight:520;line-height:1}.credentials span{color:var(--muted);font:500 9px/1.5 var(--font-geist-mono), monospace;text-transform:uppercase}.work-section{background:var(--ink);color:var(--paper);padding:112px 34px 120px}.section-tag-light{border-color:#f0eee733}.work-intro h2,.resume-heading h2{letter-spacing:-.075em;margin:78px 0 34px;font-size:clamp(68px,10.5vw,164px);font-weight:570;line-height:.79}.work-intro h2 em,.resume-heading h2 em{color:var(--signal);font-family:var(--serif);font-weight:500}.project-grid{grid-template-columns:1fr 1fr;gap:112px 22px;display:grid}.project-card{min-width:0}.project-featured{grid-column:1/-1}.project-topline{color:#95948e;font:500 8px var(--font-geist-mono), monospace;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid #f0eee738;justify-content:space-between;padding:0 0 13px;display:flex}.project-art{--drift:0px;height:min(62vw,720px);transform:translate3d(0,var(--drift),0);margin-top:18px;transition:transform .65s cubic-bezier(.22,1,.36,1);position:relative;overflow:hidden}.project-card:not(.project-featured) .project-art{height:min(47vw,610px)}.project-card:hover .project-art{transform:translate3d(0,var(--drift),0) scale(1.004)}.project-copy{grid-template-columns:1.5fr 1fr .8fr;gap:30px;margin-top:26px;display:grid}.project-card:not(.project-featured) .project-copy{grid-template-columns:1fr;gap:18px}.project-copy h3{letter-spacing:-.05em;margin:0;font-size:clamp(27px,3vw,48px);font-weight:530}.project-subtitle{color:var(--signal);font:italic 17px var(--serif);margin:5px 0 0}.project-summary{color:#a8a69e;margin:0;font-size:13px;line-height:1.6}.project-outcome{color:#7f7e78;font:500 8px var(--font-geist-mono), monospace;letter-spacing:.06em;text-transform:uppercase;flex-direction:column;justify-content:space-between;align-items:flex-end;display:flex}.project-outcome a{color:var(--paper);font-size:10px}.project-outcome a b{aspect-ratio:1;border:1px solid #f0eee759;border-radius:50%;place-items:center;width:28px;margin-left:8px;transition:all .3s;display:inline-grid}.project-outcome a:hover b{background:var(--signal);border-color:var(--signal);transform:rotate(45deg)}.project-card:not(.project-featured) .project-outcome{flex-direction:row;align-items:center}.art-mori{color:#1d382b;background:#b9ae98}.mori-copy{z-index:2;flex-direction:column;display:flex;position:absolute;top:8%;left:6%;transform:translateZ(38px)}.mori-copy>span{font:9px var(--font-geist-mono), monospace;letter-spacing:.18em}.mori-copy strong{font:500 clamp(70px,12vw,190px)/.8 var(--serif);letter-spacing:-.08em;margin-top:12px}.mori-copy small{font:8px var(--font-geist-mono), monospace;letter-spacing:.12em;margin-top:18px}.mori-pack{z-index:3;width:23%;height:67%;transform-style:preserve-3d;flex-direction:column;justify-content:space-between;padding:7% 3% 3%;display:flex;position:absolute;bottom:-6%;box-shadow:0 35px 70px #2f281c3d}.mori-pack span{font:500 clamp(58px,8vw,120px)/1 var(--serif)}.mori-pack small{font:7px var(--font-geist-mono), monospace;letter-spacing:.08em}.pack-one{background:#e9e4d8;right:24%;transform:translateZ(50px)rotate(-4deg)}.pack-two{color:#e9e4d8;background:#203f31;bottom:4%;right:6%;transform:translateZ(72px)rotate(5deg)}.mori-seal{aspect-ratio:1;width:64px;color:var(--signal);font:13px/1.1 var(--serif);text-align:center;border:1px solid #1d382b80;border-radius:50%;place-items:center;display:grid;position:absolute;top:7%;right:7%}.art-loop{color:#f0eee7;background:#342758}.art-loop:before{content:"";background:radial-gradient(circle at 72% 22%,#9177ff73,#0000 28%),radial-gradient(circle at 20% 92%,#d9ff5129,#0000 32%);position:absolute;inset:-20%}.loop-heading{z-index:2;position:absolute;top:7%;left:6%;transform:translateZ(34px)}.loop-heading span{font:8px var(--font-geist-mono), monospace;letter-spacing:.14em}.loop-heading strong{letter-spacing:-.06em;margin-top:16px;font-size:clamp(40px,5.6vw,86px);font-weight:500;line-height:.92;display:block}.phone{z-index:4;width:26%;height:79%;transform-style:preserve-3d;background:#17151d;border:1px solid #ffffff3b;border-radius:28px;padding:2.2%;font-size:10px;position:absolute;box-shadow:0 45px 90px #08061273}.phone-front{bottom:-9%;right:7%;transform:translateZ(75px)rotate(4deg)}.phone-back{color:#18171b;background:#ece9e1;top:11%;right:28%;transform:translateZ(35px)rotate(-7deg)}.phone-top{font:7px var(--font-geist-mono), monospace;justify-content:space-between;display:flex}.phone p{margin:18% 0 20%;font-size:clamp(13px,1.4vw,22px);line-height:1.12}.habit-card{color:#151515;background:#d9ff51;border-radius:10px;justify-content:space-between;margin-top:8px;padding:13px;display:flex}.habit-card.pale{background:#e8e4dc}.loop-ring{aspect-ratio:1;border:13px solid #725df3;border-right-color:#d8d3c9;border-radius:50%;place-items:center;width:68%;margin:22% auto 15%;font-size:clamp(24px,3vw,46px);font-weight:600;display:grid}.loop-ring small{font-size:11px}.phone-lines i{background:#dad6cd;border-radius:10px;height:6px;margin-top:10px;display:block}.phone-lines i:nth-child(2){width:72%}.phone-lines i:nth-child(3){width:88%}.loop-orbit{aspect-ratio:1;border:1px solid #f0eee752;border-radius:50%;width:34%;position:absolute;bottom:-18%;left:10%;box-shadow:0 0 0 55px #f0eee709,0 0 0 110px #f0eee706}.art-nest{color:#171715;background:#cbc6bc}.nest-shadow{filter:blur(35px);background:#26221d38;position:absolute;inset:16% 8% 8% 22%;transform:rotate(-4deg)}.magazine{z-index:2;width:53%;height:75%;transform-style:preserve-3d;padding:4%;position:absolute;box-shadow:0 32px 75px #302b2340}.magazine-back{color:#efede6;background:#22221f;top:9%;left:7%;transform:translateZ(20px)rotate(-7deg)}.magazine-front{background:#efede6;bottom:-5%;right:7%;transform:translateZ(58px)rotate(5deg)}.magazine-back>span{font:7px var(--font-geist-mono), monospace}.magazine-back>strong{font:500 clamp(52px,7vw,104px)/.8 var(--serif);letter-spacing:-.08em;margin-top:7%;display:block}.magazine-image{background:linear-gradient(135deg,#9c664f 0 36%,#d7c0a5 36% 62%,#65705c 62%);width:43%;height:53%;position:absolute;bottom:8%;right:6%}.magazine-back>small{width:32%;font:7px/1.5 var(--font-geist-mono), monospace;position:absolute;bottom:7%;left:7%}.nest-grid{border-bottom:1px solid #252521;grid-template-columns:1fr 1fr;height:45%;display:grid}.nest-grid span{font:12px/1.35 var(--serif)}.nest-grid b{font:500 clamp(55px,7vw,110px)/.7 var(--serif);justify-self:end}.nest-grid small{font:7px var(--font-geist-mono), monospace;align-self:end}.nest-photo{background:linear-gradient(148deg,#6e7b76 0 35%,#b3a08d 35% 54%,#393b37 54%);width:48%;height:55%;position:absolute;bottom:0;right:0}.magazine-front p{font:10px/1.5 var(--serif);position:absolute;bottom:7%;left:7%}.nest-label{font:7px/1.5 var(--font-geist-mono), monospace;text-align:right;position:absolute;top:5%;right:4%}.services-section{background:var(--paper-deep)}.services-heading{margin:84px 0 90px}.services-heading p{letter-spacing:-.075em;margin:0;font-size:clamp(48px,7.6vw,118px);font-weight:560;line-height:.86}.services-heading .serif-line{color:var(--signal);font-family:var(--serif);margin-left:24%;font-style:italic;font-weight:500}.services-list{border-top:1px solid var(--line)}.services-list>div{border-bottom:1px solid var(--line);grid-template-columns:60px 1.2fr 1fr 1fr;align-items:baseline;gap:24px;padding:25px 0;transition:padding .35s,color .35s;display:grid}.services-list>div:hover{color:var(--signal);padding-left:14px}.services-list span{font:9px var(--font-geist-mono), monospace;color:var(--signal)}.services-list h3{letter-spacing:-.04em;margin:0;font-size:25px;font-weight:520}.services-list p{color:var(--muted);margin:0;font-size:12px}.services-list i{color:var(--muted);font:italic 17px var(--serif);justify-self:end}.resume-section{background:var(--ink-soft);color:var(--paper)}.resume-heading{grid-template-columns:2fr 1fr;align-items:end;gap:60px;display:grid}.resume-heading h2{margin-bottom:80px}.resume-heading>p{color:#9d9b95;max-width:310px;margin:0 0 82px;font-size:13px;line-height:1.6}.experience-list{border-top:1px solid #f0eee738}.experience-row{color:#9d9b95;border-bottom:1px solid #f0eee738;grid-template-columns:1fr 2.4fr 1.2fr 1.5fr;align-items:baseline;gap:24px;padding:25px 0;font-size:11px;display:grid}.experience-row strong{color:var(--paper);font-size:18px;font-weight:500}.education-row{color:#8d8b85;width:56%;font:9px var(--font-geist-mono), monospace;text-transform:uppercase;grid-template-columns:1fr 2fr 1fr;gap:20px;margin:70px 0 0 auto;display:grid}.education-row strong{color:var(--paper);font-weight:500}.footer{background:var(--signal);color:#171714;grid-template-rows:auto 1fr auto auto;min-height:96svh;display:grid}.footer-top{font:550 9px var(--font-geist-mono), monospace;text-transform:uppercase;border-bottom:1px solid #14141252;justify-content:space-between;padding-bottom:14px;display:flex}.footer-top p{margin:0}.footer-top i{aspect-ratio:1;background:var(--acid);border-radius:50%;width:7px;margin-right:6px;display:inline-block;box-shadow:0 0 0 4px #d9ff512e}.footer-message{letter-spacing:-.085em;flex-direction:column;align-self:center;font-size:clamp(68px,12vw,188px);font-weight:610;line-height:.73;display:flex}.footer-message em{font-family:var(--serif);color:var(--paper);align-self:flex-end;font-weight:500}.email{letter-spacing:-.045em;border-top:1px solid #1414128c;border-bottom:1px solid #1414128c;justify-content:space-between;align-items:center;padding:21px 0;font-size:clamp(22px,3.4vw,52px);font-weight:530;display:flex}.email b{aspect-ratio:1;border:1px solid #1414128c;border-radius:50%;place-items:center;width:54px;font-size:17px;transition:all .35s;display:grid}.email:hover b{background:var(--ink);color:var(--paper);transform:rotate(45deg)}.footer-bottom{font:550 8px var(--font-geist-mono), monospace;letter-spacing:.06em;justify-content:space-between;padding-top:28px;display:flex}.scroll-progress{z-index:110;opacity:.75;background:var(--signal);width:100%;height:1px;transform:scaleX(var(--page-progress));transform-origin:0;pointer-events:none;position:fixed;top:0;left:0}.motion-ready .reveal-node{opacity:0;transition:opacity .68s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0s), transform .68s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0s);transform:translateY(20px)}.motion-ready .reveal-node.is-visible{opacity:1;transform:translate(0)}.motion-ready .hero-line-one{animation:1.15s cubic-bezier(.16,1,.3,1) .1s both hero-rise}.motion-ready .hero-line-two{animation:1.2s cubic-bezier(.16,1,.3,1) .2s both hero-rise}.motion-ready .hero-serif{animation:1.2s cubic-bezier(.16,1,.3,1) .55s both serif-in}.motion-ready .hero-bottom{animation:.9s cubic-bezier(.22,1,.36,1) .65s both fade-up}@keyframes hero-rise{0%{opacity:0;clip-path:inset(0 0 100%);transform:translateY(22%)}to{opacity:1;clip-path:inset(0);transform:none}}@keyframes serif-in{0%{opacity:0;transform:rotate(-7deg)translateY(24px)}to{opacity:1;transform:rotate(-7deg)translateY(0)}}@keyframes fade-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@media (max-width:920px){.site-header{padding-inline:20px}.site-header nav{gap:18px}.site-header nav a:last-child,.header-contact{display:none}.site-header{grid-template-columns:1fr auto}.hero{padding-inline:20px}.hero-heading{padding-top:11vh}.hero-line{font-size:20vw}.hero-line-two{padding-left:11%}.hero-serif{left:1%}.hero-bottom{grid-template-columns:1fr 2.5fr}.scroll-cue{display:none}.intro-section,.services-section,.resume-section,.footer,.work-section{padding-left:20px;padding-right:20px}.intro-detail{width:66%}.project-copy{grid-template-columns:1fr 1fr}.project-outcome{flex-direction:row;grid-column:1/-1;align-items:center}.education-row{width:70%}}@media (max-width:640px){.site-header{height:60px}.site-header nav{display:flex}.hero{min-height:760px;padding-top:80px}.hero-meta{grid-template-columns:1fr 1fr}.hero-meta span:nth-child(2){text-align:right}.hero-meta span:last-child{display:none}.hero-heading{align-self:start;padding-top:16vh}.hero-line{font-size:23vw;line-height:.8}.hero-line-two{padding-left:0}.hero-serif{font-size:10vw;top:57%;left:55%}.hero-bottom{grid-template-columns:1fr}.hero-canvas{height:126px}.canvas-word{font-size:54px}.canvas-number{font-size:124px;right:15%}.canvas-orb{width:56px}.intro-section,.services-section,.resume-section,.footer,.work-section{padding-top:78px;padding-bottom:78px}.intro-lead{margin:58px 0 50px}.intro-lead p{font-size:10.8vw}.intro-lead p:last-child{padding-left:0}.intro-detail{grid-template-columns:1fr;gap:18px;width:100%}.credentials{grid-template-columns:1fr 1fr;margin-top:65px}.credentials>div{border-bottom:1px solid var(--line);min-height:135px}.credentials>div:nth-child(2){border-right:0}.credentials>div:nth-child(3){padding-left:0}.credentials strong{font-size:54px}.work-intro h2,.resume-heading h2{margin:52px 0 30px;font-size:17vw}.work-intro>p{width:100%;margin:0 0 62px}.project-grid{grid-template-columns:1fr;gap:74px}.project-featured{grid-column:auto}.project-art,.project-card:not(.project-featured) .project-art{height:118vw;max-height:620px}.project-topline span:last-child{display:none}.project-copy,.project-card:not(.project-featured) .project-copy{grid-template-columns:1fr;gap:16px}.project-outcome{grid-column:auto}.mori-pack{width:31%;height:60%}.pack-one{right:31%}.mori-copy strong{font-size:23vw}.phone{width:42%;height:72%}.phone-back{right:43%}.loop-heading strong{font-size:10vw}.magazine{width:68%;height:64%}.magazine-back{left:2%}.magazine-front{right:1%}.services-heading{margin:58px 0 60px}.services-heading p{font-size:13vw}.services-heading .serif-line{margin-left:8%}.services-list>div{grid-template-columns:38px 1fr;gap:8px}.services-list p,.services-list i{grid-column:2;justify-self:start}.resume-heading{display:block}.resume-heading>p{margin-bottom:55px}.experience-row{grid-template-columns:1fr 2fr;gap:9px}.experience-row span:nth-child(3),.experience-row span:nth-child(4){grid-column:2}.education-row{grid-template-columns:1fr;gap:8px;width:100%}.footer{min-height:760px}.footer-message{font-size:18.4vw;line-height:.8}.footer-message em{align-self:flex-start}.email{font-size:5.4vw}.email b{width:40px}.footer-bottom span:nth-child(2){display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal-node{opacity:1!important;transform:none!important}.scroll-progress{display:none}}section[id],footer[id]{scroll-margin-top:76px}:focus-visible{outline:2px solid var(--signal);outline-offset:4px}.email span{overflow-wrap:anywhere}@media (hover:none),(pointer:coarse){.project-card:hover .project-art{transform:translate3d(0,var(--drift),0)}}.work-section{background:var(--ink);height:390vh;color:var(--paper);padding:0;position:relative}.work-sticky{background:var(--ink);height:100svh;position:sticky;top:0;overflow:hidden}.horizontal-track{width:max-content;height:100%;transform:translate3d(var(--horizontal-x,0px),0,0);will-change:transform;align-items:stretch;gap:24px;padding:92px 34px 76px;display:flex}.horizontal-panel{flex:0 0 min(78vw,1240px);max-width:1240px}.work-intro{flex-basis:min(56vw,860px);grid-template-rows:auto 1fr auto auto;padding-right:6vw;display:grid}.work-intro h2{align-self:center;margin:0;font-size:clamp(64px,8.6vw,138px);line-height:.82}.work-intro>p{color:#9c9b94;width:min(320px,80%);margin:0 0 0 auto;font-size:13px;line-height:1.6}.horizontal-hint{color:#85847e;font:500 8px var(--font-geist-mono),monospace;letter-spacing:.08em;text-transform:uppercase;border-top:1px solid #f0eee733;justify-content:space-between;align-items:center;margin-top:28px;padding-top:14px;display:flex}.horizontal-hint i{color:var(--signal);font:normal 26px/1 var(--font-geist-sans),sans-serif}.horizontal-track .project-card{grid-template-rows:auto minmax(0,1fr) auto;min-width:0;height:100%;display:grid}.horizontal-track .project-art,.horizontal-track .project-card:not(.project-featured) .project-art{height:auto;min-height:0;margin-top:14px}.horizontal-track .project-copy,.horizontal-track .project-card:not(.project-featured) .project-copy{grid-template-columns:1.35fr 1fr .85fr;gap:24px;margin-top:18px}.horizontal-track .project-card:not(.project-featured) .project-outcome{flex-direction:column;align-items:flex-end}.work-end{border-left:1px solid #f0eee733;flex-direction:column;flex-basis:min(34vw,520px);justify-content:center;padding:0 0 0 5vw;display:flex}.work-end>span{color:#77766f;font:8px var(--font-geist-mono),monospace}.work-end p{letter-spacing:-.06em;margin:28px 0;font-size:clamp(42px,4.5vw,72px);line-height:.9}.work-end p em{color:var(--signal);font-family:var(--serif)}.work-end>i{aspect-ratio:1;border:1px solid #f0eee74d;border-radius:50%;place-items:center;width:52px;font-style:normal;display:grid}.horizontal-ui{z-index:4;color:#797872;font:500 8px var(--font-geist-mono),monospace;grid-template-columns:72px 1fr auto;align-items:center;gap:18px;display:grid;position:absolute;bottom:22px;left:34px;right:34px}.slide-count b{color:var(--paper);font-weight:500}.horizontal-progress{background:#f0eee72e;height:1px;overflow:hidden}.horizontal-progress i{background:var(--signal);width:100%;height:100%;transform:scaleX(var(--horizontal-progress,0));transform-origin:0;display:block}.horizontal-buttons{gap:6px;display:flex}.horizontal-buttons button{aspect-ratio:1;width:34px;color:var(--paper);cursor:pointer;background:0 0;border:1px solid #f0eee73d;border-radius:50%;transition:background .22s,border-color .22s}.horizontal-buttons button:hover{background:var(--signal);border-color:var(--signal)}@media (max-width:920px){.work-section{height:auto!important}.work-sticky{scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;height:auto;position:relative;overflow:auto hidden}.work-sticky::-webkit-scrollbar{display:none}.horizontal-track{will-change:auto;gap:14px;height:auto;padding:80px 20px 66px;transform:none!important}.horizontal-panel{scroll-snap-align:center;scroll-snap-stop:always;flex:0 0 88vw;max-width:none}.work-intro{height:72svh;min-height:620px;padding-right:5vw}.work-intro h2{font-size:clamp(60px,14vw,112px)}.horizontal-track .project-card{height:auto;display:block}.horizontal-track .project-art,.horizontal-track .project-card:not(.project-featured) .project-art{height:min(104vw,640px)}.horizontal-track .project-copy,.horizontal-track .project-card:not(.project-featured) .project-copy{grid-template-columns:1fr;gap:14px}.horizontal-track .project-card:not(.project-featured) .project-outcome{flex-direction:row;align-items:center}.work-end{flex-basis:58vw;min-height:620px}.horizontal-ui{display:none}}@media (max-width:640px){.horizontal-track{padding-left:20px;padding-right:20px}.horizontal-panel{flex-basis:88vw}.work-intro{min-height:600px}.work-intro>p{width:100%;margin-left:0}.horizontal-track .project-art,.horizontal-track .project-card:not(.project-featured) .project-art{height:112vw}}@media (prefers-reduced-motion:reduce){.horizontal-track{transform:none!important}.work-section{height:auto!important}.work-sticky{height:auto;position:relative;overflow-x:auto}}
