@charset "UTF-8";
:root{--paper:#f2f1ec;--ink:#20211e;--muted:#6b6c64;--line:#d3d3cb;--accent:#bd432d;--pad:clamp(22px,4.5vw,88px);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:104px}body{margin:0}body:has(dialog[open]){overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit;font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}::selection{background:#d5e08d;color:#20211e}h1,h2,h3,p,figure{margin:0}button{border:0;background:none}img{max-width:100%;display:block}.wrap{max-width:1800px;margin:0 auto;padding-inline:var(--pad)}.eyebrow{font-family:"Courier New",monospace;font-size:11px;font-weight:400;letter-spacing:.06em;text-transform:uppercase;line-height:1.6}.muted{color:var(--muted)}.skip{position:fixed;left:16px;top:-90px;padding:16px;background:var(--ink);color:var(--paper);z-index:100}.skip:focus{top:16px}
.site-header{position:relative;z-index:10}.header-inner{height:112px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}.wordmark{font-size:19px;font-weight:750;letter-spacing:-1.1px;white-space:nowrap}.wordmark sup{font-size:10px;vertical-align:top;line-height:1.5;margin-left:2px}.header-right{display:flex;gap:clamp(24px,3vw,52px);align-items:center}.nav-links{display:flex;gap:32px;font-size:13px}.nav-links a{position:relative;padding-block:9px}.nav-links a::after{content:"";position:absolute;bottom:2px;left:0;width:0;height:1px;background:currentColor;transition:width .25s}.nav-links a:hover::after,.nav-links a[aria-current=page]::after{width:100%}.languages{display:flex;align-items:center;gap:6px;font-size:11px}.languages button{padding:12px 3px;color:var(--muted)}.languages button[aria-pressed=true]{color:var(--ink);text-decoration:underline;text-underline-offset:5px}.contact-link{border:1px solid var(--ink);border-radius:40px;padding:12px 20px;font-size:12px;display:flex;gap:25px;align-items:center;transition:background .2s,color .2s}.contact-link:hover{background:var(--ink);color:var(--paper)}.burger{width:38px;height:44px;padding:11px 2px;display:flex;justify-content:center;flex-direction:column;gap:7px}.burger span{width:32px;height:1.5px;background:currentColor;transition:transform .25s}.burger:hover span:first-child{transform:translateX(-4px)}.burger:hover span:last-child{transform:translateX(4px)}
.hero{padding-top:32px}.hero-topline{display:flex;justify-content:space-between;margin-bottom:34px}.status{display:flex;gap:8px;align-items:center}.status::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent)}.hero-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:6.5vw;align-items:stretch}.hero-copy{display:flex;flex-direction:column;justify-content:space-between;padding-bottom:6px;min-width:0}.name{font-size:clamp(92px,13.3vw,220px);letter-spacing:-.075em;line-height:.81;font-weight:500;margin-left:-.065em;padding-top:9px}.name span{display:block}.name .name-second{margin-top:15px}.name-line{position:relative}.asterisk{display:block;width:clamp(40px,5.5vw,90px);height:clamp(40px,5.5vw,90px);position:absolute;top:1%;right:3%;color:var(--accent);transition:transform .8s}.name-line:hover .asterisk{transform:rotate(90deg)}.hero-description{padding-top:40px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.hero-description h2{font-size:clamp(22px,2.2vw,37px);font-weight:400;letter-spacing:-.045em;line-height:1.15;max-width:390px}.hero-description p{font-size:14px;line-height:1.65;color:var(--muted);margin-top:15px;max-width:290px}.round-link{width:60px;height:60px;flex:0 0 60px;border:1px solid #b2b3a9;border-radius:50%;display:grid;place-items:center;font-size:27px;transition:background .2s,transform .2s}.round-link:hover{background:var(--ink);color:var(--paper);transform:translateY(4px)}.hero-photo{position:relative;overflow:hidden;aspect-ratio: .94;background:#bc5b2b}.hero-photo img{height:100%;width:100%;object-fit:cover;object-position:50% 49%;animation:photo-enter 1.2s ease both}.photo-label{position:absolute;bottom:17px;left:18px;right:18px;display:flex;justify-content:space-between;color:#fff;font-size:9px;letter-spacing:.09em;text-shadow:0 1px 8px #000}.hero-bottom{margin-top:32px;border-top:1px solid var(--line);padding:20px 0 25px;display:flex;justify-content:space-between;align-items:center;gap:20px}.disciplines{display:flex;gap:20px;flex-wrap:wrap;font-size:11px;color:#56574f}.disciplines span+span::before{content:"/";margin-right:20px;color:#a1a197}.scroll-caption{display:flex;align-items:center;gap:22px;white-space:nowrap}
.section{padding-top:120px}.section-head{border-top:1px solid var(--ink);padding-top:22px;display:flex;align-items:flex-start;justify-content:space-between;gap:25px;margin-bottom:43px}.section-title{font-size:clamp(36px,5.8vw,90px);font-weight:400;letter-spacing:-.06em;line-height:1.02}.section-title sup{font-family:"Courier New",monospace;font-size:12px;letter-spacing:0;vertical-align:top;line-height:3;margin-left:12px}.section-head .eyebrow{padding-top:8px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px 24px}.project:first-child{grid-column:1/-1}.project-button{width:100%;padding:0;text-align:left;display:block}.project-art{position:relative;overflow:hidden;height:clamp(280px,35vw,550px);display:flex;align-items:center;justify-content:center;isolation:isolate}.project:not(:first-child) .project-art{height:clamp(280px,29vw,460px)}.project-art .art-meta{position:absolute;left:25px;top:22px;right:25px;display:flex;justify-content:space-between;font:10px "Courier New",monospace;letter-spacing:.06em}.project-open{position:absolute;right:22px;bottom:22px;width:46px;height:46px;border-radius:50%;background:var(--paper);color:var(--ink);display:grid;place-items:center;font-size:23px;transition:transform .3s}.project-button:hover .project-open{transform:rotate(45deg)}.project-info{display:flex;justify-content:space-between;gap:20px;margin-top:19px;align-items:flex-start}.project-info h3{font-size:23px;font-weight:400;letter-spacing:-.04em}.project-info p{font-size:12px;color:var(--muted);margin-top:8px}.coming-soon{font-size:10px;white-space:nowrap;border:1px solid var(--line);border-radius:20px;padding:7px 11px}.art-web{background:#d7ddc9;color:#30392f}.art-word{font-size:clamp(80px,19vw,300px);letter-spacing:-.085em;font-weight:500;line-height:1;transform:translateX(-1vw);transition:transform .7s cubic-bezier(.2,.7,.3,1)}.art-web .art-orbit{position:absolute;width:30%;aspect-ratio:1;border:1px solid #71836a;border-radius:50%;right:20%;top:16%;transform:rotate(-35deg);mix-blend-mode:multiply}.art-orbit::before,.art-orbit::after{content:"";position:absolute;inset:-13% 16%;border:1px solid #71836a;border-radius:50%}.art-orbit::after{inset:-25% 32%}.project-button:hover .art-word{transform:translateX(1vw)}.art-ui{background:#d9d0e3;color:#4d3c63}.ui-shape{width:175px;height:215px;border-radius:30px;background:#eeebf0;box-shadow:9px 18px 0 #b9a8cc,0 22px 44px #392e5120;transform:rotate(-14deg);display:flex;flex-direction:column;justify-content:space-between;padding:22px;transition:transform .6s}.ui-shape::before{content:"";width:27px;height:6px;background:#4d3c63;border-radius:4px}.ui-shape strong{font-size:70px;font-weight:400;letter-spacing:-7px}.ui-bars{display:flex;gap:5px;align-items:flex-end;height:55px}.ui-bars i{background:#8a719f;width:26px;border-radius:5px}.ui-bars i:nth-child(1){height:25%}.ui-bars i:nth-child(2){height:50%}.ui-bars i:nth-child(3){height:75%}.ui-bars i:nth-child(4){height:100%}.project-button:hover .ui-shape{transform:rotate(-5deg) translateY(-8px)}.art-product{background:#b94c35;color:#f8dac4}.product-orbit{width:200px;height:200px;border-radius:50%;border:40px solid #edbe91;box-shadow:inset 9px 9px 12px #742d25,9px 18px 0 #8e3526;transform:rotate(-30deg) scaleY(.78);transition:transform .7s}.product-orbit::after{content:"";position:absolute;width:62px;height:62px;background:#f4dabb;border-radius:50%;left:calc(50% - 31px);top:calc(50% - 31px);box-shadow:4px 7px 0 #8e3526}.project-button:hover .product-orbit{transform:rotate(25deg) scaleY(.9)}.project-note{margin-top:28px;color:var(--muted);font-size:12px;line-height:1.6}
.about-grid{display:grid;grid-template-columns:1fr 2.1fr;gap:60px;border-top:1px solid var(--ink);padding-top:26px}.about-copy h2{font-size:clamp(32px,4.5vw,66px);line-height:1.12;letter-spacing:-.05em;font-weight:400;max-width:950px}.about-copy h2 em{font-style:normal;color:var(--muted)}.about-detail{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-top:44px}.about-detail p{font-size:15px;line-height:1.8;max-width:370px}.text-link{display:inline-flex;align-items:center;gap:35px;font-size:13px;border-bottom:1px solid currentColor;padding-bottom:9px;margin-top:26px}.skills{margin-top:74px}.skill{display:grid;grid-template-columns:55px 1.15fr 1fr;gap:16px;padding:25px 0;border-top:1px solid var(--line);align-items:center}.skill:last-child{border-bottom:1px solid var(--line)}.skill h3{font-size:clamp(21px,2.8vw,39px);font-weight:400;letter-spacing:-.04em}.skill p{font-size:13px;line-height:1.6;max-width:310px;color:var(--muted)}
.contact{margin-top:125px;background:var(--ink);color:var(--paper);padding-top:55px;padding-bottom:25px}.contact-meta{display:flex;justify-content:space-between;align-items:center;gap:20px}.contact .status::before{background:#d9e695}.contact-title{font-size:clamp(65px,14.4vw,235px);letter-spacing:-.07em;font-weight:400;line-height:1.1;margin:60px 0 34px;display:flex;align-items:center;justify-content:space-between;gap:20px}.contact-title span:last-child{font-size:.72em;font-weight:300}.contact-bottom{display:flex;justify-content:space-between;gap:30px;border-top:1px solid #55564f;padding-top:24px;padding-bottom:65px}.contact-bottom p{font-size:15px;line-height:1.65;max-width:330px;color:#cbccc3}.contact-placeholder{text-align:right;font-size:12px;color:#b5b6ad;line-height:1.8}.contact-placeholder strong{display:block;color:var(--paper);font-weight:400}.footer{border-top:1px solid #55564f;padding-top:24px;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#b5b6ad}.footer a{display:flex;gap:20px}
.menu-dialog{border:0;background:var(--ink);color:var(--paper);padding:0;width:100%;max-width:none;max-height:none;height:100dvh;margin:0}.menu-dialog::backdrop{background:var(--ink)}.menu-content{height:100%;display:flex;flex-direction:column;padding-top:38px;padding-bottom:30px}.menu-top{display:flex;justify-content:space-between;align-items:center}.close-button{width:48px;height:48px;font-size:34px;font-weight:200;line-height:1}.menu-nav{display:flex;flex-direction:column;margin:auto 0;align-items:flex-start;gap:6px}.menu-nav a{font-size:clamp(45px,8vw,125px);letter-spacing:-.065em;line-height:1.14;transition:color .2s,transform .3s}.menu-nav a:hover{color:#d9e695;transform:translateX(14px)}.menu-nav a span{font:11px "Courier New",monospace;letter-spacing:0;vertical-align:middle;margin-right:28px;color:#b5b6ad}.menu-footer{display:flex;justify-content:space-between;border-top:1px solid #55564f;padding-top:20px;color:#b5b6ad}.case-dialog{background:var(--paper);color:var(--ink);border:0;padding:40px;width:min(550px,calc(100% - 32px));max-height:calc(100dvh - 32px)}.case-dialog::backdrop{background:#20211e90;backdrop-filter:blur(5px)}.case-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:45px}.case-dialog h2{font-weight:400;font-size:44px;letter-spacing:-.05em;line-height:1.05}.case-dialog p{font-size:15px;color:var(--muted);line-height:1.75;margin-top:22px}.case-dialog .text-link{margin-top:30px}.resume-main{padding-top:55px;padding-bottom:10px}.back-link{font-size:12px;display:inline-flex;gap:16px}.resume-heading{font-size:clamp(62px,12vw,180px);line-height:1;font-weight:400;letter-spacing:-.07em;margin:50px 0 45px}.resume-intro{display:grid;grid-template-columns:1fr 1.5fr;gap:70px;border-top:1px solid var(--ink);padding-top:28px}.resume-name{font-size:35px;letter-spacing:-.04em;font-weight:400;margin-bottom:10px}.resume-intro p{font-size:16px;line-height:1.7}.resume-note{border:1px solid var(--line);padding:25px;margin-top:45px;font-size:14px;line-height:1.75;max-width:650px}.resume-details{margin-top:60px}.resume-row{display:grid;grid-template-columns:1fr 1.5fr;gap:70px;border-top:1px solid var(--line);padding:28px 0}.resume-row p{font-size:15px;line-height:1.8}.resume-row h2{font-size:22px;font-weight:400;letter-spacing:-.03em}.pdf-pending{display:inline-flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:40px;font-size:12px;padding:14px 19px;margin-top:20px;color:var(--muted)}
.reveal{animation:enter .8s ease both}.hero-copy{animation:enter .9s ease both}@keyframes enter{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes photo-enter{from{transform:scale(1.06)}to{transform:scale(1)}}
@media(min-width:1600px){.hero-grid{gap:100px}.hero-photo{max-height:740px}.hero-description p{font-size:17px;max-width:370px}}
@media(max-width:1000px){.header-right{gap:22px}.nav-links{gap:20px}.hero-grid{gap:30px}.hero-description{padding-top:28px}.round-link{width:48px;height:48px;flex-basis:48px}.hero-description h2{font-size:26px}.hero-description p{font-size:12px}.name{font-size:13.6vw}.hero-photo{aspect-ratio:.79}.disciplines{gap:12px}.disciplines span+span::before{margin-right:12px}.about-grid{gap:35px;grid-template-columns:1fr 2.4fr}.about-detail{gap:25px}.section{padding-top:85px}.contact{margin-top:85px}}
@media(max-width:700px){html{scroll-padding-top:24px}.header-inner{height:87px}.wordmark{font-size:17px}.header-right{gap:17px}.nav-links,.header-right>.contact-link{display:none}.hero{padding-top:22px}.hero-topline{margin-bottom:31px;font-size:9px}.hero-topline>.eyebrow{font-size:9px}.hero-grid{grid-template-columns:1fr;gap:30px}.name{font-size:24vw;line-height:.87;letter-spacing:-.065em;display:flex;flex-wrap:wrap;column-gap:.16em;margin-left:-.04em}.name-line{width:100%}.name .name-second{margin-top:2px}.asterisk{width:13vw;height:13vw;right:9%;top:14%}.hero-description{padding-top:27px}.hero-description h2{font-size:27px;max-width:300px}.hero-description p{font-size:13px;max-width:260px;margin-top:12px}.hero-photo{aspect-ratio: .91;max-height:600px}.hero-photo img{object-position:50% 48%}.hero-bottom{margin-top:23px;padding-top:17px;align-items:flex-start}.disciplines{gap:9px 12px;max-width:245px;font-size:10px}.disciplines span+span::before{display:none}.scroll-caption{font-size:9px;gap:9px}.section{padding-top:70px}.section-head{margin-bottom:28px;gap:15px}.section-title{font-size:44px}.section-title sup{font-size:10px;margin-left:7px}.section-head .eyebrow{font-size:9px;max-width:120px;text-align:right}.project-grid{grid-template-columns:1fr;gap:35px}.project:first-child{grid-column:auto}.project-art,.project:not(:first-child) .project-art{height:auto;aspect-ratio:1.12}.art-word{font-size:29vw}.art-web .art-orbit{width:52%;right:20%;top:22%}.project-info{margin-top:14px;gap:8px}.project-info h3{font-size:21px}.project-info p{font-size:11px}.coming-soon{font-size:9px;padding:6px 8px}.project-art .art-meta{left:18px;right:18px;top:18px;font-size:9px}.project-note{font-size:11px}.about-grid{grid-template-columns:1fr;gap:25px}.about-copy h2{font-size:35px}.about-detail{grid-template-columns:1fr;gap:18px;margin-top:27px}.about-detail p{font-size:14px}.about-detail .text-link{margin-top:6px}.skills{margin-top:43px}.skill{grid-template-columns:27px 1fr;gap:9px;padding:22px 0}.skill h3{font-size:25px}.skill p{grid-column:2;font-size:12px}.skill .eyebrow{font-size:10px}.contact{margin-top:75px;padding-top:33px}.contact-meta{align-items:flex-start}.contact-meta .eyebrow{font-size:9px}.contact-title{font-size:15vw;margin:42px 0 30px;gap:8px}.contact-bottom{flex-direction:column;padding-bottom:40px;gap:24px}.contact-placeholder{text-align:left}.contact-bottom p{font-size:14px}.footer{font-size:9px;gap:12px}.footer a{gap:8px}.menu-content{padding-top:20px}.menu-nav a{font-size:clamp(44px,11vw,76px);line-height:1.4}.menu-nav a span{margin-right:16px}.menu-footer{gap:20px;font-size:9px}.case-dialog{padding:25px}.case-dialog h2{font-size:36px}.case-top{margin-bottom:30px}.resume-main{padding-top:30px}.resume-heading{margin:35px 0;font-size:21vw}.resume-intro,.resume-row{grid-template-columns:1fr;gap:22px}.resume-intro p{font-size:15px}.resume-note{margin-top:28px}.resume-row{padding-block:24px;gap:15px}.resume-details{margin-top:35px}}
.skip:not(:focus){width:1px;height:1px;padding:0;clip-path:inset(50%);overflow:hidden}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
