*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f6f6f2;color:#20221e;font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid #546449;outline-offset:6px}header{padding:28px 3.4%;display:flex;justify-content:space-between;align-items:center}.brand{font-size:23px;letter-spacing:-1.1px;font-weight:600}.brand span{display:block;font-size:9px;letter-spacing:1.4px;margin-top:7px;font-weight:400}nav{display:flex;gap:35px;font-size:13px}nav a.active{text-decoration:underline;text-underline-offset:6px}sup{font-size:8px}main{min-height:75vh}.intro{padding:78px 3.4% 45px;display:grid;grid-template-columns:1fr 1fr;gap:60px}.eyebrow{font-size:10px;letter-spacing:1.5px;text-transform:uppercase}.intro h1{font-size:clamp(44px,5.5vw,92px);line-height:1.03;letter-spacing:-.065em;font-weight:400;margin:22px 0 0}.intro h1 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.06em}.intro-right{max-width:405px;align-self:end;justify-self:end}.intro-right p{font-size:18px;line-height:1.5;color:#64665e;margin:0 0 22px}.text-link{font-size:12px;border-bottom:1px solid;padding-bottom:5px}.toolbar{margin:32px 3.4% 22px;border-top:1px solid #d7d8d0;padding-top:17px;display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:1px}.views{display:flex;gap:6px}.views button{border:0;background:transparent;padding:8px 13px;font-size:10px;letter-spacing:.6px}.views button[aria-pressed=true]{border-radius:20px;background:#252820;color:#fff}.gallery{padding:0 3.4%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:50px 24px}.card{display:block}.art{position:relative;aspect-ratio:1.43;overflow:hidden;background:var(--color)}.art img{width:100%;height:100%;object-fit:cover;transition:transform .65s}.card:hover .art img{transform:scale(1.035)}.art .open{position:absolute;right:16px;bottom:16px;width:40px;height:40px;background:#f8f8f3;border-radius:50%;display:grid;place-items:center;font-size:20px;transition:transform .3s}.card:hover .open{transform:rotate(45deg)}.card-info{display:flex;justify-content:space-between;margin-top:17px;gap:20px}.card-info h2{font-size:22px;font-weight:400;letter-spacing:-.7px;margin:0 0 7px}.card-info p{font-size:10px;color:#76786e;margin:0}.number{font-size:10px;color:#76786e}.work-note{display:flex;justify-content:space-between;border-top:1px solid #d7d8d0;margin:70px 3.4% 0;padding:23px 0;font-size:11px;color:#73776b;gap:35px}.list{display:block}.list .card{display:grid;grid-template-columns:200px 1fr;gap:40px;border-bottom:1px solid #d7d8d0;padding:22px 0}.list .art{aspect-ratio:1.7}.list .card-info{align-self:center}.list .card-info h2{font-size:clamp(24px,3vw,42px)}.list .card-info p{font-size:12px}footer{display:flex;justify-content:space-between;gap:20px;margin:80px 3.4% 0;padding:25px 0;font-size:10px;border-top:1px solid #d7d8d0}footer span{color:#7e8176}.case-head{padding:56px 6% 44px}.back{font-size:11px}.case-head h1{font-size:clamp(42px,6vw,85px);line-height:1.05;max-width:1050px;font-weight:400;letter-spacing:-.055em;margin:44px 0 28px}.case-meta{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.case-meta p{font-size:15px;line-height:1.65;color:#676b60;margin:8px 0}.case-meta .label{font-size:9px;letter-spacing:1.2px;text-transform:uppercase}.pending{color:#8b8d82!important;font-size:12px!important}.case-cover{width:100%;display:block}.case-body{max-width:1400px;padding:0 6%;margin:auto}.case-index{display:flex;flex-wrap:wrap;gap:22px;padding:26px 0;border-bottom:1px solid #d7d8d0;font-size:10px}.case-section{padding-top:64px;scroll-margin-top:30px}.section-head{display:grid;grid-template-columns:1fr 2fr;gap:30px;margin-bottom:25px}.section-head h2{font-size:28px;font-weight:400;letter-spacing:-.8px;margin:0}.section-head p{font-size:12px;line-height:1.7;color:#777b70;margin:0}.spread{width:100%;display:block;margin:15px 0}.figure{margin:20px 0 28px}.figure figcaption{font-size:10px;color:#7e8178;margin-top:10px}.reflection{border-top:1px solid #d7d8d0;margin-top:65px;padding-top:28px}.reflection h2{font-weight:400;font-size:28px}.reflection p{font-size:14px;line-height:1.8;color:#76796e;max-width:650px}.next{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #d7d8d0;margin-top:80px;padding-top:28px}.next strong{display:block;font-size:32px;font-weight:400;margin-top:8px;letter-spacing:-1px}.next .arrow{font-size:40px}.about{padding:70px 6% 0}.about-intro{display:grid;grid-template-columns:1.7fr 1fr;gap:70px}.about h1{font-size:clamp(52px,7vw,102px);line-height:1.05;letter-spacing:-.06em;font-weight:400;margin:25px 0}.about .lead{font-size:20px;line-height:1.6;max-width:650px;color:#656a5e}.portrait{aspect-ratio:4/5;background:#e4e6dc;display:flex;flex-direction:column;justify-content:space-between;padding:25px;color:#737b65}.portrait-symbol{font-family:Georgia,serif;font-size:clamp(70px,13vw,180px);font-style:italic;text-align:center;line-height:1.1}.portrait small{font-size:10px;line-height:1.8}.about-row{display:grid;grid-template-columns:1fr 2fr;gap:45px;border-top:1px solid #d7d8d0;margin-top:65px;padding-top:25px}.about-row h2{font-size:13px;font-weight:400;margin:0}.about-row h3{font-size:25px;font-weight:400;letter-spacing:-.5px;margin:0 0 15px}.about-row p{font-size:14px;line-height:1.8;color:#767b6e;margin:0}.tags{display:flex;gap:10px;flex-wrap:wrap}.tags span{padding:10px 14px;border:1px solid #d3d7ca;border-radius:30px;font-size:12px}.draft{font-size:10px;letter-spacing:.4px;color:#7e866e;display:inline-block;margin-top:18px}.contact-block{background:#e5e8dd;padding:40px;margin-top:65px}.contact-block h2{font-family:Georgia,serif;font-style:italic;font-weight:400;font-size:52px;letter-spacing:-2px;margin:0 0 20px}.contact-block p{max-width:600px;line-height:1.8;font-size:13px;color:#6d7363}.empty{font-size:12px;border-bottom:1px solid #a9b09a;padding:14px 0;display:block;max-width:470px}.skip{position:fixed;left:20px;top:-80px;background:white;padding:14px;z-index:10}.skip:focus{top:10px}@media(min-width:1500px){body{max-width:1800px;margin:auto}}@media(max-width:700px){header{padding:24px 5%}.brand{font-size:19px}.brand span{font-size:7px}nav{gap:20px;font-size:12px}.contact-nav{display:none}.intro{padding:50px 5% 25px;grid-template-columns:1fr;gap:32px}.intro h1{font-size:55px}.intro-right{justify-self:start;max-width:360px}.intro-right p{font-size:16px}.toolbar{margin:25px 5% 18px}.gallery{padding:0 5%;grid-template-columns:1fr;gap:35px}.card-info h2{font-size:23px}.work-note{margin:45px 5% 0;flex-direction:column;gap:12px;line-height:1.7}.list .card{grid-template-columns:90px 1fr;gap:16px}.list .card-info h2{font-size:21px}.list .art{aspect-ratio:1}.list .open{display:none}.list .card-info p{font-size:9px}.case-head{padding:40px 5% 30px}.case-head h1{margin-top:30px;font-size:44px}.case-meta{grid-template-columns:1fr 1fr;gap:20px}.case-meta>div:first-child{grid-column:1/-1}.case-body{padding:0 5%}.case-section{padding-top:40px}.section-head{grid-template-columns:1fr;gap:10px}.section-head h2{font-size:25px}.case-index{gap:15px;line-height:1.7}.about{padding:40px 5% 0}.about-intro{grid-template-columns:1fr;gap:30px}.about h1{font-size:63px}.about .lead{font-size:18px}.portrait{max-width:330px;aspect-ratio:1.2}.portrait-symbol{font-size:100px}.about-row{grid-template-columns:1fr;gap:20px;margin-top:40px}.contact-block{padding:25px}.contact-block h2{font-size:44px}footer{margin:55px 5% 0;flex-wrap:wrap;line-height:1.6}footer span{order:3;width:100%}.next strong{font-size:25px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.about h1 em{font-family:Georgia,serif;font-weight:400}.about .about-summary{font-size:15px;line-height:1.85;color:#73796c;max-width:570px;margin:0 0 25px}.photo{margin:0;padding:0;position:relative;overflow:hidden;background:#4f839a;aspect-ratio:4/5;align-self:start}.photo img{width:100%;height:100%;object-fit:cover;object-position:50% 39%}.photo figcaption{position:absolute;bottom:0;left:0;right:0;padding:20px;color:white;font-size:9px;letter-spacing:1.5px;background:linear-gradient(transparent,rgba(0,0,0,.25))}.paragraph-gap{margin-top:20px!important}.entry{padding-bottom:30px;margin-bottom:28px;border-bottom:1px solid #dedfd6}.entry:last-child{margin-bottom:0;border-bottom:0;padding-bottom:0}.date{font-size:10px;letter-spacing:1px;color:#858b7b;display:block;margin-bottom:13px}.detail{display:block;font-size:12px;margin:10px 0 14px;color:#69765b}.award{display:grid;grid-template-columns:65px 1fr;gap:20px;padding:0 0 25px;margin-bottom:25px;border-bottom:1px solid #dedfd6}.award:last-child{border:0;margin:0;padding:0}.award>span{font-size:11px;color:#868d7b;padding-top:6px}.award h3{font-size:22px}.email-link{font-size:clamp(16px,2.3vw,29px);letter-spacing:-.5px;display:inline-block;border-bottom:1px solid #a9b09a;padding:10px 0;overflow-wrap:anywhere}.cv-actions{display:flex;gap:28px;flex-wrap:wrap;margin-top:32px}.project-recognition{padding:25px 0;border-bottom:1px solid #d7d8d0}.project-recognition p{font-size:13px;line-height:1.7;color:#606a55}.about-intro{grid-template-columns:1.45fr 1fr}.about h1{font-size:clamp(50px,6.1vw,88px)}@media(max-width:700px){.about-intro{grid-template-columns:1fr}.about h1{font-size:53px}.photo{max-width:100%;aspect-ratio:4/5}.photo img{object-position:50% 40%}.award{grid-template-columns:45px 1fr;gap:15px}}
/* Suspended portrait pass */
.badge-stage{height:740px;position:relative;overflow:hidden;background:#20221f;color:#f3f2e9;background-image:radial-gradient(ellipse at 66% 35%,#3e4239 0,transparent 57%),repeating-linear-gradient(0deg,transparent 0,transparent 3px,#ffffff02 4px);isolation:isolate}.badge-stage::after{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 160px #0005;z-index:-1}.badge-heading{position:absolute;top:170px;left:7%;max-width:410px}.badge-heading .eyebrow{color:#afb5a1}.badge-heading h1{font-size:clamp(45px,5.4vw,78px);line-height:1.07;letter-spacing:-.06em;font-weight:400;margin:27px 0}.badge-heading em{font-family:Georgia,serif;font-weight:400}.badge-heading p{font-size:14px;line-height:1.8;color:#abb19f}.badge-rig{position:absolute;top:0;left:64%;width:292px;margin-left:-146px;transform-origin:50% 0;will-change:transform}.lanyard{height:158px;width:38px;margin:0 auto;background:linear-gradient(90deg,#161a14,#353e2b 35%,#242c1e 75%,#11170e);border:1px solid #505744;box-shadow:5px 0 14px #0006;overflow:hidden;position:relative}.lanyard span{position:absolute;writing-mode:vertical-rl;left:13px;top:8px;white-space:nowrap;font-size:8px;letter-spacing:2px;color:#a9b59b}.badge-clip{width:20px;height:42px;border:5px solid #111410;border-radius:9px;margin:-3px auto -8px;position:relative;z-index:3;box-shadow:inset 0 0 0 1px #69705e,1px 2px 1px #000}.badge-clip::after{content:'';width:27px;height:13px;border-radius:5px;border:3px solid #111410;position:absolute;top:26px;left:-9px;box-shadow:0 1px 1px #7b816e}.id-badge{padding:20px 16px 16px;background:linear-gradient(115deg,#44493e,#191d16 24%,#30362a 75%,#10140e);border:1px solid #555d49;border-radius:22px;box-shadow:15px 30px 45px #0006,0 3px 4px #0009;cursor:grab;touch-action:none;user-select:none;position:relative}.id-badge.is-dragging{cursor:grabbing}.id-badge:focus-visible{outline:2px solid #d1dbba;outline-offset:7px}.badge-slot{width:48px;height:8px;border-radius:5px;background:#0b1009;box-shadow:0 1px 1px #7d8570;margin:-9px auto 12px}.badge-paper{background:#eceee5;color:#20261c;padding:15px 15px 12px;border-radius:7px;box-shadow:inset 0 0 0 1px #fff7;position:relative}.badge-paper::after{content:'';position:absolute;inset:0;pointer-events:none;border-radius:7px;background:linear-gradient(120deg,#fff2,transparent 40%,#fff1 68%,transparent)}.badge-topline{display:flex;justify-content:space-between;font:8px monospace;letter-spacing:.6px;margin-bottom:13px;color:#66705c}.badge-paper img{width:100%;height:230px;object-fit:cover;object-position:50% 35%;border-radius:3px;display:block;pointer-events:none;filter:saturate(.82)}.badge-identity{padding-top:19px}.badge-identity h2{font-size:27px;letter-spacing:-1.2px;font-weight:500;margin:0}.badge-identity h2 span{display:block;font-size:11px;letter-spacing:3px;margin-top:6px;color:#69745d}.badge-identity p{font-size:10px;color:#66705c;margin:13px 0 18px}.badge-bottom{border-top:1px solid #c8cebc;padding-top:12px;display:flex;justify-content:space-between;align-items:center;font:7px monospace;letter-spacing:.6px}.badge-barcode{height:17px;width:48px;background:repeating-linear-gradient(90deg,#35412a 0 1px,transparent 1px 3px,#35412a 3px 5px,transparent 5px 6px)}.badge-controls{position:absolute;bottom:28px;left:7%;right:7%;display:flex;justify-content:space-between;align-items:center}.badge-controls>span{font-size:8px;letter-spacing:1.5px;color:#a9b19d}.badge-replay{padding:9px 13px;border:1px solid #606952;border-radius:25px;background:transparent;color:#d5dbc9;font-size:11px}.badge-replay:hover{background:#ffffff0b}.badge-scroll{position:absolute;left:7%;bottom:86px;font-size:9px;letter-spacing:1.3px;border-bottom:1px solid #738062;padding-bottom:8px}.about-quick{align-self:end;border-left:1px solid #d5dacc;padding:0 0 0 35px}.about-quick p{font-size:19px;color:#727b65;line-height:1.6;margin:25px 0}.about-quick .eyebrow{color:#7a846f}@media(max-width:700px){.badge-stage{height:860px}.badge-heading{top:30px;left:6%;max-width:180px}.badge-heading .eyebrow{font-size:8px}.badge-heading h1{font-size:35px;margin:16px 0}.badge-heading p{font-size:11px;display:none}.badge-rig{left:50%;top:150px;width:260px;margin-left:-130px}.lanyard{height:87px;width:32px}.lanyard span{left:10px;font-size:7px}.badge-paper img{height:210px}.badge-identity h2{font-size:24px}.badge-controls{left:6%;right:6%;bottom:23px;gap:20px}.badge-controls>span{font-size:7px;letter-spacing:.7px;max-width:140px;line-height:1.8}.badge-scroll{left:6%;bottom:75px}.about-quick{border-left:0;border-top:1px solid #d5dacc;padding:25px 0 0}.about-quick p{font-size:17px}.id-badge{border-radius:19px}}
@media(max-width:700px){.badge-rig{top:0}.lanyard{height:237px}.badge-heading{max-width:135px;z-index:2}.badge-heading h1{font-size:28px}.badge-heading .eyebrow{line-height:1.7;display:block;max-width:125px}}
/* Curved title wheel */
.work-wheel{position:relative;min-height:680px;height:calc(100svh - 106px);max-height:1000px;overflow:hidden;color:#edeedf;background:#20221f;background-image:radial-gradient(ellipse at 70% 50%,#373b31 0,transparent 60%);isolation:isolate}.wheel-top{position:absolute;left:4%;right:4%;top:27px;display:flex;justify-content:space-between;gap:20px;color:#9ba48e;font-size:10px;letter-spacing:.5px}.wheel-top .eyebrow{font-size:9px}.wheel-zone{position:absolute;left:0;top:82px;bottom:105px;width:64%;outline-offset:-10px;touch-action:pan-x}.wheel-zone:focus-visible{outline:1px solid #9ba48e}.wheel-titles{position:absolute;top:50%;left:0;width:100%}.wheel-title{position:absolute;left:8%;top:0;width:91%;display:flex;gap:15px;align-items:center;transform:translate3d(calc(var(--curve) * var(--curve) * -21px),calc(var(--offset) * 120px - 38px),0) rotate(calc(var(--offset) * 9deg));transform-origin:-700px 50%;opacity:.3;transition:transform .75s cubic-bezier(.2,.8,.2,1),opacity .5s,color .3s;will-change:transform;white-space:nowrap}.wheel-title.is-current{opacity:1}.wheel-title:hover{opacity:.85}.wheel-name{font-size:clamp(26px,3.8vw,61px);font-weight:400;letter-spacing:-.055em;line-height:1.2}.wheel-no{font:9px monospace;letter-spacing:1px;color:#abb59a;align-self:center}.wheel-go{font-size:18px;border:1px solid #666f58;border-radius:50%;display:grid;place-items:center;width:30px;height:30px;margin-left:3px;opacity:0;transition:opacity .3s}.is-current .wheel-go{opacity:1}.wheel-axis{position:absolute;left:0;right:8%;top:50%;height:1px;background:linear-gradient(90deg,transparent,#9aaa7a20,transparent)}.wheel-preview{position:absolute;width:28%;right:4%;top:50%;transform:translateY(-50%);max-width:450px}.wheel-image-link{display:block;position:relative;aspect-ratio:1.25;overflow:hidden;border-radius:7px;background:var(--project-color);box-shadow:0 18px 55px #0003}.wheel-image{width:100%;height:100%;object-fit:cover;transition:filter .3s,transform .6s}.wheel-image-link:hover .wheel-image{transform:scale(1.04)}.wheel-image-arrow{position:absolute;right:14px;bottom:14px;width:33px;height:33px;display:grid;place-items:center;background:#eceee2;color:#252c1d;border-radius:50%;font-size:19px}.wheel-detail{display:flex;justify-content:space-between;gap:15px;margin-top:19px;font-size:8px;letter-spacing:.5px;color:#aeb6a1;line-height:1.8}.wheel-count{white-space:nowrap;font-family:monospace}.wheel-description{font-size:14px;line-height:1.7;color:#c4cab9;margin:12px 0 20px;max-width:290px}.wheel-open{font-size:11px;padding-bottom:5px;border-bottom:1px solid #737e63}.wheel-bottom{position:absolute;bottom:28px;left:4%;right:4%;display:flex;align-items:center;justify-content:space-between}.wheel-hint{display:flex;align-items:center;gap:12px;font-size:8px;letter-spacing:1px;line-height:1.8;color:#9ea890}.wheel-indicator{font-size:22px;color:#ced7c0}.work-wheel .views{border:1px solid #56604a;border-radius:30px;padding:4px;gap:2px}.work-wheel .views button{color:#adb79e;padding:9px 16px;font-size:9px}.work-wheel .views button[aria-pressed=true]{background:#dce3cf;color:#262d1f}.wheel-arrows{display:flex;gap:8px}.wheel-arrows button{border:1px solid #5e6951;border-radius:50%;width:34px;height:34px;background:transparent;color:#d9e1ca}.wheel-arrows button:hover{background:#ffffff10}.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}body:has(.work-wheel) footer{margin-top:0}@media(max-width:900px) and (min-width:701px){.wheel-name{font-size:30px}.wheel-title{gap:10px}.wheel-go{width:24px;height:24px;font-size:15px}.wheel-preview{width:28%}}@media(max-width:700px){.work-wheel{height:auto;min-height:850px}.wheel-top{left:5%;right:5%;top:23px}.wheel-top>span:last-child{display:none}.wheel-zone{top:65px;bottom:auto;height:355px;width:100%}.wheel-title{left:8%;width:90%;gap:10px;transform:translate3d(calc(var(--curve) * var(--curve) * -10px),calc(var(--offset) * 79px - 20px),0) rotate(calc(var(--offset) * 7deg));transform-origin:-400px 50%}.wheel-name{font-size:clamp(23px,6.7vw,38px)}.wheel-no{font-size:8px}.wheel-go{width:24px;height:24px;font-size:14px;flex-shrink:0}.wheel-preview{top:420px;right:7%;left:7%;width:auto;max-width:none;transform:none;display:grid;grid-template-columns:1fr 1fr;gap:12px 18px}.wheel-image-link{grid-row:1/4;aspect-ratio:1;align-self:start}.wheel-detail{margin:0;display:block;font-size:8px}.wheel-count{display:block;margin-top:10px}.wheel-description{font-size:12px;line-height:1.6;margin:0}.wheel-open{font-size:10px;justify-self:start;align-self:start}.wheel-bottom{left:5%;right:5%;bottom:28px;flex-wrap:wrap;gap:23px}.wheel-hint{font-size:7px;letter-spacing:.7px}.wheel-bottom .views{order:3;margin:auto}.work-wheel .views button{padding:9px 18px}.wheel-arrows button{width:31px;height:31px}.wheel-image-arrow{width:25px;height:25px;font-size:15px;right:10px;bottom:10px}}@media(prefers-reduced-motion:reduce){.wheel-title{transition:none;will-change:auto}}
.wheel-title{transform-origin:0 50%}@media(max-width:700px){.wheel-title{transform-origin:0 50%;gap:8px}.wheel-name{font-size:clamp(20px,5.5vw,32px)}}
