@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/dm-sans-latin-ext-300-normal-WGwOtXxi.woff2) format("woff2"),url(/assets/dm-sans-latin-ext-300-normal-COYJju1g.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:DM Sans;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/dm-sans-latin-300-normal-C46oWILc.woff2) format("woff2"),url(/assets/dm-sans-latin-300-normal-CsNfKS1n.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-ext-400-normal-BtiwyxMk.woff2) format("woff2"),url(/assets/dm-sans-latin-ext-400-normal-BjWJ59Pq.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-400-normal-CW0RaeGs.woff2) format("woff2"),url(/assets/dm-sans-latin-400-normal-BwCSEQnW.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-sans-latin-ext-500-normal-BJfUCQsA.woff2) format("woff2"),url(/assets/dm-sans-latin-ext-500-normal-DR84L5F-.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-sans-latin-500-normal-B9HHJjqV.woff2) format("woff2"),url(/assets/dm-sans-latin-500-normal-Dr3UlScf.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/dm-sans-latin-ext-600-normal-4vooXBpG.woff2) format("woff2"),url(/assets/dm-sans-latin-ext-600-normal-DRtaDpgU.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/dm-sans-latin-600-normal-Aqo67rzb.woff2) format("woff2"),url(/assets/dm-sans-latin-600-normal-BmdmIIQ2.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-ext-400-italic-BpitL8Uu.woff2) format("woff2"),url(/assets/dm-sans-latin-ext-400-italic-2EvOpbQN.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:DM Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-400-italic-DRLHr0TN.woff2) format("woff2"),url(/assets/dm-sans-latin-400-italic-i6QPgQBE.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-mono-latin-ext-400-normal-C2zvOubV.woff2) format("woff2"),url(/assets/dm-mono-latin-ext-400-normal-1aZr6b2b.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:DM Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-mono-latin-400-normal-4GdczIuU.woff2) format("woff2"),url(/assets/dm-mono-latin-400-normal--0xN8mdc.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-mono-latin-ext-500-normal-BtRyHRi6.woff2) format("woff2"),url(/assets/dm-mono-latin-ext-500-normal-Dw3M13d8.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:DM Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-mono-latin-500-normal-DRMDZjhP.woff2) format("woff2"),url(/assets/dm-mono-latin-500-normal-CN8Miw6E.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper: #f5f5f2;--paper-2: #e9eaf2;--blue-paper: #dce8f8;--blue-card: #b8dceb;--ink: #132756;--black: #171819;--muted: #566175;--orange: #ec6a20;--orange-ink: #b44300;--grid: rgba(37, 62, 94, .11);--line: rgba(19, 39, 86, .22);--shadow: 9px 12px 24px rgba(23, 31, 44, .15);--ease: cubic-bezier(.2,.8,.2,1)}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper)}body{margin:0;color:var(--ink);font-family:DM Sans,Arial,sans-serif;background:var(--paper);overflow-x:hidden}body.dialog-open,body.menu-open{overflow:hidden}button,a{font:inherit}button,a{color:inherit}img{display:block;max-width:100%}::selection{color:#fff;background:var(--ink)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:100;padding:.8rem 1rem;color:#fff;background:var(--ink)}.skip-link:focus{top:1rem}:focus-visible{outline:3px solid var(--orange);outline-offset:4px}.graph-paper{background-color:#f7f7f5;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:28px 28px}.site-header{position:fixed;inset:0 0 auto;z-index:50;height:72px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 clamp(1rem,4vw,4rem);transition:background .3s var(--ease),box-shadow .3s var(--ease)}.site-header.is-scrolled{height:60px;background:#f5f5f2f0;box-shadow:0 8px 24px #13275614;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.wordmark{justify-self:start;text-decoration:none;font-family:DM Mono,monospace;font-weight:500;letter-spacing:-.05em;font-size:1.08rem}.wordmark span{color:var(--orange-ink);font-size:.72rem;letter-spacing:0;margin-left:.2rem}.desktop-nav{display:flex;gap:2rem}.desktop-nav a,.header-mail{text-decoration:none;font-family:DM Mono,monospace;font-size:.73rem;text-transform:uppercase;letter-spacing:.04em}.desktop-nav a{position:relative;padding:.7rem .1rem}.desktop-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:.45rem;height:2px;background:var(--orange);transition:right .25s var(--ease)}.desktop-nav a:hover:after{right:0}.header-mail{justify-self:end;border-bottom:1px solid currentColor;padding-bottom:.2rem}.menu-toggle,.mobile-nav{display:none}.hero{min-height:100svh;position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr);align-items:center;gap:clamp(2rem,6vw,7rem);padding:7.5rem clamp(1.25rem,6vw,7rem) 5rem;background:var(--blue-paper);overflow:hidden}.hero:before{content:"";position:absolute;width:38vw;aspect-ratio:1;border:1px solid rgba(19,39,86,.12);border-radius:50%;top:-19vw;left:28vw;box-shadow:0 0 0 7vw #ffffff14,0 0 0 14vw #ffffff0f}.hero-copy{position:relative;z-index:2;max-width:720px}.availability{display:flex;align-items:center;gap:.7rem;margin:0 0 clamp(2rem,5vw,4.5rem);font-family:DM Mono,monospace;font-size:clamp(.66rem,1vw,.8rem);text-transform:uppercase;letter-spacing:.05em}.availability span{width:.58rem;height:.58rem;border-radius:50%;background:var(--orange);box-shadow:0 0 0 4px #ec6a2026}.signature-wrap{width:min(480px,80vw);position:relative;margin:0 0 1.35rem;transform:rotate(-1deg);filter:drop-shadow(7px 9px 8px rgba(19,39,86,.15))}.signature-wrap:before,.signature-wrap:after{content:"";position:absolute;width:82px;height:20px;z-index:2;background:repeating-linear-gradient(0deg,#e8681b 0 3px,#f7863f 3px 5px);opacity:.95}.signature-wrap:before{left:-24px;top:15px;transform:rotate(-13deg)}.signature-wrap:after{right:-20px;bottom:18px;transform:rotate(9deg)}.signature-wrap img{width:100%;clip-path:polygon(0 7%,10% 4%,21% 8%,34% 3%,49% 7%,64% 2%,78% 5%,92% 2%,100% 7%,100% 92%,88% 95%,73% 91%,59% 97%,42% 92%,29% 96%,15% 91%,0 95%)}.hero h1{max-width:740px;margin:0;font-size:clamp(2.55rem,5.4vw,5.7rem);line-height:.96;letter-spacing:-.04em;font-weight:500;text-wrap:balance}.hero h1 em{font-weight:300}.hero-intro{max-width:54ch;margin:1.8rem 0 2.2rem;font-size:clamp(1rem,1.5vw,1.18rem);line-height:1.55;color:#334366}.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem}.paper-button{min-height:48px;display:inline-flex;align-items:center;justify-content:space-between;gap:2rem;min-width:188px;padding:.85rem 1rem;border:1px solid var(--ink);text-decoration:none;font-family:DM Mono,monospace;font-size:.78rem;text-transform:uppercase;background:#ffffff6b;transition:transform .2s var(--ease),box-shadow .2s var(--ease)}.paper-button.primary{color:#fff;background:var(--ink)}.paper-button:hover{transform:translate(-3px,-3px);box-shadow:5px 6px 0 var(--orange)}.hero-board{position:relative;min-height:min(72vh,740px);z-index:1}.hero-sheet{appearance:none;position:absolute;border:0;padding:0;background:transparent;box-shadow:var(--shadow);cursor:pointer;transition:transform .45s var(--ease),filter .3s var(--ease)}.hero-sheet img{width:100%;height:100%;object-fit:cover;object-position:top}.hero-sheet:after{content:"";position:absolute;inset:0;border:1px solid rgba(19,39,86,.12);pointer-events:none}.hero-sheet:hover{z-index:6;filter:saturate(1.06)}.sheet-a{width:46%;height:65%;left:37%;top:16%;transform:rotate(6deg);z-index:3}.sheet-a:hover{transform:rotate(2deg) translateY(-14px)}.sheet-b{width:43%;height:61%;left:3%;top:7%;transform:rotate(-7deg);z-index:2}.sheet-b:hover{transform:rotate(-2deg) translateY(-14px)}.sheet-c{width:40%;height:57%;right:0;top:3%;transform:rotate(13deg);z-index:1}.sheet-c:hover{transform:rotate(6deg) translateY(-14px)}.tape{position:absolute;z-index:8;display:block;width:96px;height:22px;opacity:.92}.tape-orange{left:29%;top:8%;transform:rotate(-16deg);background:repeating-linear-gradient(0deg,#e85f19 0 3px,#f6813b 3px 5px)}.tape-blue{right:1%;bottom:24%;transform:rotate(18deg);background:repeating-linear-gradient(0deg,#89c5da 0 3px,#b8e0ea 3px 5px)}.board-note{position:absolute;right:4%;bottom:6%;margin:0;font-family:DM Mono,monospace;font-size:.75rem;line-height:1.35;transform:rotate(-4deg)}.scroll-note{position:absolute;left:clamp(1.25rem,6vw,7rem);bottom:1.4rem;display:flex;gap:.7rem;align-items:center;font-family:DM Mono,monospace;font-size:.66rem;text-transform:uppercase}.scroll-note span{width:36px;height:1px;background:currentColor}.work-section{padding:clamp(6rem,11vw,11rem) clamp(1.25rem,5vw,5.5rem)}.section-heading{display:grid;grid-template-columns:1fr 2.1fr;gap:2rem;align-items:end;max-width:1280px;margin:0 auto 4.5rem}.scribble-label{align-self:start;margin:.5rem 0 0;width:fit-content;font-family:DM Mono,monospace;font-size:.8rem;text-transform:uppercase;padding-bottom:.55rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='9'%3E%3Cpath d='M1 2 Q5 8 9 2 T17 2 T25 2 T33 2 T41 2 T49 2 T57 2 T65 2 T73 2 T81 2 T89 2 T97 2 T105 2 T113 2' fill='none' stroke='%23132756' stroke-width='2'/%3E%3C/svg%3E");background-position:left bottom;background-repeat:repeat-x}.section-heading h2{margin:0;max-width:900px;font-size:clamp(2.4rem,5.8vw,6rem);line-height:1;letter-spacing:-.04em;font-weight:400}.section-heading>p:last-child{grid-column:2;max-width:55ch;margin:1rem 0 0;font-size:1.05rem;line-height:1.55;color:var(--muted)}.cut-letter{display:inline-block;padding:0 .06em;margin-right:.025em;line-height:.9;transform:rotate(-3deg);font-family:DM Mono,monospace}.cut-letter.navy{color:#fff;background:var(--ink)}.cut-letter.cream{background:#eadfcd;transform:rotate(4deg)}.cut-letter.orange{color:#fff;background:var(--orange);transform:rotate(-6deg)}.cut-letter.blue{background:#a8c8e8;transform:rotate(3deg)}.filter-row{max-width:1280px;margin:0 auto 2.5rem;display:flex;gap:.4rem;overflow-x:auto;padding-bottom:.4rem;scrollbar-width:thin}.filter{min-height:44px;flex:0 0 auto;border:1px solid var(--line);padding:.65rem .85rem;background:#fff9;cursor:pointer;font-family:DM Mono,monospace;font-size:.72rem;text-transform:uppercase;transition:color .2s,background .2s,transform .2s}.filter span{color:var(--orange);margin-left:.35rem}.filter:hover{transform:translateY(-2px)}.filter.is-active{color:#fff;border-color:var(--ink);background:var(--ink)}.project-grid{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:repeat(12,1fr);grid-auto-flow:dense;gap:clamp(1rem,2.2vw,2rem)}.project-card{grid-column:span 4;opacity:0;transform:translateY(20px);transition:opacity .6s var(--ease) var(--delay),transform .6s var(--ease) var(--delay)}.project-card.is-in{opacity:1;transform:none}.project-card.wide{grid-column:span 8}.project-card.tall{grid-row:span 2}.project-card button{width:100%;border:0;padding:0;text-align:left;cursor:pointer;background:transparent}.project-image{position:relative;display:block;overflow:hidden;aspect-ratio:4 / 3;background:#ddd;box-shadow:5px 8px 17px #1b263a1f;clip-path:polygon(0 0,97% 0,100% 4%,100% 100%,3% 100%,0 96%)}.tall .project-image{aspect-ratio:4 / 5}.wide .project-image{aspect-ratio:16 / 9}.project-image img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .65s var(--ease),filter .5s var(--ease)}.project-card button:hover .project-image img{transform:scale(1.025);filter:saturate(1.07)}.project-card:nth-child(3n+1) .project-image{transform:rotate(-.5deg)}.project-card:nth-child(4n+2) .project-image{transform:rotate(.7deg)}.project-info{display:flex;justify-content:space-between;gap:1rem;padding:1rem .25rem 1.8rem;border-bottom:1px solid var(--line)}.project-info>span:first-child{display:grid;gap:.35rem}.project-info small,.project-year{font-family:DM Mono,monospace;font-size:.68rem;text-transform:uppercase;color:var(--muted)}.project-info strong{font-size:clamp(1.15rem,2vw,1.6rem);font-weight:500;letter-spacing:-.025em}.project-year{display:flex;align-items:flex-start;gap:.8rem}.project-year i{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;font-style:normal;transition:color .2s,background .2s}.project-card button:hover .project-year i{color:#fff;background:var(--orange);border-color:var(--orange)}.feature-section{padding:clamp(6rem,10vw,10rem) clamp(1.25rem,5vw,5.5rem);background:var(--ink);color:#fff}.feature{max-width:1280px;margin:0 auto;min-height:650px;display:grid;grid-template-columns:.75fr 1.25fr;align-items:center;gap:clamp(2rem,7vw,7rem);padding:clamp(2rem,5vw,5rem) 0;border-bottom:1px solid rgba(255,255,255,.18)}.feature:last-child{border-bottom:0}.feature-artway{grid-template-columns:1.2fr .8fr}.feature-copy{max-width:520px}.project-kicker{margin:0 0 1.4rem;font-family:DM Mono,monospace;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--orange)}.feature h2{margin:0 0 1.6rem;font-size:clamp(3rem,6vw,6rem);line-height:.9;letter-spacing:-.04em;font-weight:400}.feature-copy>p:not(.project-kicker){font-size:clamp(1rem,1.4vw,1.15rem);line-height:1.65;color:#ced6e8}.text-link{display:inline-flex;min-height:44px;align-items:center;gap:1.2rem;margin-top:1.4rem;padding:.3rem 0;border:0;border-bottom:1px solid currentColor;color:inherit;background:transparent;text-decoration:none;cursor:pointer;font-family:DM Mono,monospace;font-size:.75rem;text-transform:uppercase}.text-link span{color:var(--orange)}.feature-image{position:relative;border:0;padding:0;cursor:pointer;background:#fff;box-shadow:12px 16px 0 var(--orange),20px 28px 40px #0000003d;transform:rotate(1.5deg)}.feature-artway .feature-image{transform:rotate(-1.5deg);box-shadow:-12px 16px #8fc8de,-20px 28px 40px #0000003d}.feature-image:before{content:"";position:absolute;z-index:2;width:100px;height:23px;left:50%;top:-10px;transform:translate(-50%) rotate(-2deg);background:repeating-linear-gradient(0deg,#89c5da 0 3px,#b8e0ea 3px 5px)}.feature-image img{width:100%;max-height:760px;object-fit:cover;object-position:top}.about-section{padding:clamp(6rem,10vw,10rem) clamp(1.25rem,7vw,8rem)}.about-lead{display:grid;grid-template-columns:1fr 2.2fr;gap:2rem;max-width:1280px;margin:0 auto 3rem}.about-lead h2{margin:0;max-width:880px;font-size:clamp(2.8rem,6.5vw,6.6rem);line-height:.95;font-weight:400;letter-spacing:-.04em}.about-lead h2 em{color:var(--orange);font-weight:300}.about-body{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,7vw,7rem);max-width:850px;margin:0 0 6rem auto}.about-body p{margin:0;line-height:1.7;color:#39465d}.about-body p:first-child{font-size:clamp(1.05rem,1.5vw,1.22rem)}.resume-strip{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr) auto;align-items:stretch;background:var(--blue-card);box-shadow:var(--shadow);transform:rotate(-.4deg)}.resume-strip>*{padding:1.4rem;border-right:1px solid rgba(19,39,86,.18)}.resume-strip div{display:grid;gap:.3rem}.resume-strip span,.resume-strip small{font-family:DM Mono,monospace;font-size:.67rem;text-transform:uppercase}.resume-strip span{color:#42516e}.resume-strip strong{font-weight:500}.resume-strip small{color:#3a4860;text-transform:none;line-height:1.4}.resume-strip a{display:grid;place-items:center;min-width:132px;text-decoration:none;font-family:DM Mono,monospace;font-size:.72rem;text-transform:uppercase;background:var(--ink);color:#fff}.photo-section{padding:clamp(6rem,10vw,10rem) 0;background:#dedfe2;overflow:hidden}.photo-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem;max-width:1280px;margin:0 auto 4rem;padding:0 clamp(1.25rem,5vw,5.5rem)}.photo-heading h2{margin:0;font-size:clamp(2.8rem,6vw,6rem);line-height:.95;font-weight:400;letter-spacing:-.04em}.photo-rail{display:flex;gap:clamp(1.2rem,3vw,3rem);overflow-x:auto;scroll-snap-type:x mandatory;padding:1rem clamp(1.25rem,8vw,9rem) 3rem;scrollbar-color:var(--ink) transparent}.photo-rail figure{flex:0 0 clamp(270px,34vw,520px);margin:0;scroll-snap-align:center}.photo-rail figure:nth-child(2n){transform:translateY(2.2rem) rotate(.7deg)}.photo-rail img{width:100%;aspect-ratio:4 / 5;object-fit:cover;object-position:top;background:#fff;padding:8px;box-shadow:var(--shadow)}.photo-rail figcaption{padding:.9rem .3rem;font-family:DM Mono,monospace;font-size:.7rem;text-transform:uppercase}.contact-section{min-height:88vh;display:flex;flex-direction:column;justify-content:center;position:relative;padding:clamp(7rem,12vw,12rem) clamp(1.25rem,7vw,8rem) 2rem;color:var(--ink);background:var(--blue-paper)}.contact-section:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(19,39,86,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(19,39,86,.055) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:linear-gradient(to bottom,transparent,black 30%);mask-image:linear-gradient(to bottom,transparent,black 30%)}.contact-kicker{position:relative;margin:0 0 2rem;font-family:DM Mono,monospace;font-size:.76rem;text-transform:uppercase}.contact-section h2{position:relative;max-width:1200px;margin:0 0 3rem;font-size:clamp(3.3rem,9vw,9rem);line-height:.87;font-weight:500;letter-spacing:-.04em}.contact-section h2 span{font-weight:300}.contact-links{position:relative;display:flex;flex-wrap:wrap;gap:1rem 3rem}.contact-links a{min-height:44px;display:inline-flex;align-items:center;gap:2rem;font-family:DM Mono,monospace;font-size:clamp(.8rem,1.2vw,1rem);text-decoration:none;border-bottom:1px solid currentColor}.contact-links a span{color:var(--orange)}.contact-footer{position:relative;margin-top:auto;padding-top:6rem;display:grid;grid-template-columns:1fr auto 1fr;font-family:DM Mono,monospace;font-size:.66rem;text-transform:uppercase}.contact-footer p{margin:0}.contact-footer a{justify-self:end}.project-dialog{width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;color:var(--ink);background:var(--paper);overflow-y:auto}.project-dialog::backdrop{background:#0b1630bf}.dialog-shell{min-height:100%;display:grid;grid-template-columns:minmax(280px,35vw) 1fr;background-color:#f7f7f5;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:28px 28px}.dialog-close{position:fixed;z-index:4;top:1.25rem;right:1.25rem;min-width:112px;height:48px;display:flex;align-items:center;justify-content:space-between;border:1px solid var(--ink);padding:0 .9rem;color:#fff;background:var(--ink);cursor:pointer;font-family:DM Mono,monospace;font-size:.72rem;text-transform:uppercase}.dialog-close span{font-size:1.4rem;font-weight:300}.dialog-copy{position:sticky;top:0;align-self:start;min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:6rem clamp(1.5rem,4vw,4.5rem);background:var(--blue-paper);border-right:1px solid var(--line)}.dialog-copy h2{margin:0 0 1.5rem;font-size:clamp(3rem,6vw,6.4rem);line-height:.9;letter-spacing:-.04em;font-weight:400;overflow-wrap:anywhere}.dialog-copy>p:not(.project-kicker){max-width:52ch;margin:0;line-height:1.65;color:#3a4964}.dialog-copy .project-kicker{color:var(--orange-ink)}.dialog-links{display:grid;gap:.65rem;margin-top:2rem}.dialog-links a{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 0;border-bottom:1px solid rgba(19,39,86,.25);text-decoration:none;font-family:DM Mono,monospace;font-size:.72rem;text-transform:uppercase}.dialog-links a span{color:var(--orange)}.dialog-gallery{display:grid;gap:clamp(2rem,6vw,6rem);padding:7rem clamp(1.5rem,6vw,7rem);overflow:hidden}.dialog-gallery figure{margin:0;position:relative}.dialog-gallery figure:nth-child(2n){transform:rotate(.5deg)}.dialog-gallery img{width:100%;max-height:1000px;object-fit:contain;background:#d8d8d8;box-shadow:var(--shadow)}.dialog-gallery figcaption{margin-top:.7rem;font-family:DM Mono,monospace;font-size:.66rem;text-align:right}.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s var(--ease),transform .75s var(--ease)}.reveal.is-visible{opacity:1;transform:none}@media(max-width:980px){.site-header{grid-template-columns:1fr auto}.desktop-nav,.header-mail{display:none}.menu-toggle{justify-self:end;width:48px;height:48px;display:grid;place-content:center;gap:6px;border:0;background:transparent;cursor:pointer}.menu-toggle i{display:block;width:24px;height:2px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true] i:first-of-type{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] i:last-of-type{transform:translateY(-4px) rotate(-45deg)}.mobile-nav{position:fixed;inset:0;z-index:-1;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:5rem 1.5rem;background:var(--blue-paper)}.mobile-nav[hidden]{display:none}.mobile-nav a{font-size:clamp(2.5rem,10vw,5rem);text-decoration:none;letter-spacing:-.04em}.hero{min-height:auto;grid-template-columns:1fr;padding-top:8rem}.hero-board{min-height:620px;width:min(100%,700px);margin:0 auto}.section-heading,.about-lead{grid-template-columns:1fr}.section-heading>p:last-child{grid-column:1}.project-card{grid-column:span 6}.project-card.wide{grid-column:span 12}.feature,.feature-artway{min-height:0;grid-template-columns:1fr}.feature-artway .feature-image{order:2}.about-body{margin-left:0}.resume-strip{grid-template-columns:1fr 1fr}.resume-strip a{min-height:64px}.photo-heading{display:grid}.dialog-shell{grid-template-columns:1fr}.dialog-copy{position:relative;min-height:auto;padding-top:8rem}.dialog-gallery{padding-top:3rem}}@media(max-width:640px){.site-header{height:60px;padding-inline:1rem}.hero{display:block;padding:6.5rem 1rem 4rem}.availability{margin-bottom:1.75rem}.signature-wrap{width:86%;margin:0 0 .85rem 3%}.hero h1{font-size:clamp(2.3rem,11.8vw,3.8rem)}.hero-intro{font-size:1rem}.hero-actions{display:grid;grid-template-columns:1fr}.paper-button{width:100%}.hero-intro{margin:1.25rem 0 1.5rem}.hero-board{min-height:420px;margin-top:1.25rem}.sheet-a{width:56%;height:65%;left:30%}.sheet-b{width:52%;height:61%;left:0}.sheet-c{width:47%;height:57%;right:0;top:6%}.scroll-note{display:none}.work-section{padding-inline:1rem}.section-heading{margin-bottom:3rem}.project-grid{grid-template-columns:1fr;gap:1.6rem}.project-card,.project-card.wide{grid-column:1}.project-card.tall{grid-row:auto}.project-image,.wide .project-image,.tall .project-image{aspect-ratio:4 / 3}.project-info{padding-bottom:1rem}.feature-section{padding-inline:1rem}.feature{gap:2rem}.feature-image{box-shadow:7px 9px 0 var(--orange)}.feature-artway .feature-image{box-shadow:-7px 9px #8fc8de}.about-section{padding-inline:1rem}.about-body{grid-template-columns:1fr;gap:1.2rem;margin-bottom:4rem}.resume-strip{grid-template-columns:1fr;transform:none}.resume-strip>*{border-right:0;border-bottom:1px solid rgba(19,39,86,.18)}.photo-heading,.photo-rail{padding-inline:1rem}.photo-rail figure{flex-basis:82vw}.contact-section{padding-inline:1rem}.contact-links{display:grid}.contact-footer{grid-template-columns:1fr;gap:.7rem}.contact-footer a{justify-self:start}.dialog-copy{padding:7rem 1rem 3rem}.dialog-copy h2{font-size:clamp(2.8rem,16vw,5rem)}.dialog-gallery{padding:2rem 1rem 5rem}.dialog-close{top:.7rem;right:.7rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal,.project-card{opacity:1;transform:none}}
