:root{--bg:#171816;--surface:#1d1e1b;--cream:#eadcc5;--muted:#a7a395;--line:#36372f;--accent:#becd9b;--display:"Barlow Condensed","Arial Narrow",Impact,sans-serif;--body:"DM Sans",Arial,sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{background:var(--bg);color:var(--cream);font:15px/1.7 var(--body);-webkit-font-smoothing:antialiased;margin:0}.hero,.sr-only,body.modal-open{overflow:hidden}a,button{-webkit-tap-highlight-color:transparent;color:inherit}button,input{font:inherit}button{cursor:pointer;border:0}a{text-decoration:none}img{max-width:100%;display:block}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}::selection{background:var(--cream);color:var(--bg)}h1,h2,h3,p{margin:0}article[hidden],button[hidden]{display:none}.container{width:min(1280px,100% - 112px);margin-inline:auto}.accent{color:var(--accent)}.display{font:700 calc(clamp(48px,5.5vw,80px))/.98 var(--display);letter-spacing:-.015em}.eyebrow,.job-date,.project-meta,.scroll-link,.section-label,.visual-label{letter-spacing:1.4px;font-size:10px;font-weight:500;line-height:1.6}.section{padding-block:96px}.section-label{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:20px;margin-bottom:56px;padding-top:22px;display:flex}.section-label>span:first-child{color:var(--cream)}.section-heading{justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:44px;display:flex}.section-heading>p{color:var(--muted);padding-bottom:5px;font-size:14px}.status-dot{background:var(--accent);vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-right:9px;display:inline-block;box-shadow:0 0 10px #becd9b33}.muted-heading{color:#858577}.text-link{border-bottom:1px solid var(--cream);align-items:center;gap:40px;padding:10px 0;font-size:13px;transition:color .2s,gap .2s;display:inline-flex}.text-link:hover{color:var(--accent);gap:48px}.text-link span{font-size:20px}.button{border:1px solid var(--cream);justify-content:space-between;align-items:center;gap:34px;padding:13px 21px;font-size:12px;font-weight:600;transition:background .2s,transform .2s;display:inline-flex}.button:hover{background:var(--accent);border-color:var(--accent);transform:translateY(-2px)}.button span{font-size:21px;line-height:1}.button-cream,.skip-link{color:var(--bg);background:var(--cream)}.skip-link{z-index:100;padding:12px;position:fixed;top:10px;left:10px;transform:translateY(-150%)}.skip-link:focus{transform:none}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute}.site-header{border-bottom:1px solid var(--line);z-index:10;background:var(--bg);height:88px;position:relative}.header-inner{justify-content:space-between;height:100%}.brand,.header-inner,nav{align-items:center;display:flex}.brand{letter-spacing:-2.5px;font-size:34px;font-weight:700;line-height:1}.brand>span:first-child{color:var(--accent);letter-spacing:0;align-self:flex-start;margin:0 0 0 2px;font-size:28px}.brand .brand-caption{letter-spacing:1.4px;border-left:1px solid var(--line);margin-left:23px;padding-left:23px;font-size:8px;font-weight:500;line-height:1.5}nav{gap:34px}nav>a{color:#c3bcad;font-size:12px;transition:color .2s}nav>a:hover{color:var(--accent)}nav sup{color:var(--muted);margin-left:3px;font-size:8px}.nav-contact{color:var(--cream);border:1px solid #5b5c4f;margin-left:8px;padding:9px 16px}.nav-contact span{margin-left:22px;font-size:17px}.menu-toggle{background:0 0;display:none}.hero{isolation:isolate;height:740px;position:relative}.hero-top{z-index:5;justify-content:space-between;display:flex;position:absolute;top:37px;left:0;right:0}.hero-top p{letter-spacing:1.5px;font-size:10px;font-weight:500;line-height:1.8}.hero-top p span{color:var(--muted)}.hero-edition,.hero-note{text-align:right}.hero-title{font:800 calc(clamp(120px,22.35vw,320px))/.92 var(--display);letter-spacing:-.018em;white-space:nowrap;z-index:1;position:absolute;top:118px;left:-.006em;right:0}.hero-portrait{z-index:2;filter:saturate(.7);width:auto;max-width:none;height:800px;position:absolute;bottom:-170px;left:50%;transform:translate(-50%);-webkit-mask-image:linear-gradient(#000 76%,#0000 99%);mask-image:linear-gradient(#000 76%,#0000 99%)}.title-outline{z-index:3;color:#0000;-webkit-text-stroke:1px var(--cream);clip-path:inset(0 34% 0 35%);pointer-events:none}.hero-bottom{z-index:4;justify-content:space-between;align-items:flex-end;display:flex;position:absolute;bottom:53px;left:0;right:0}.hero-intro .eyebrow{letter-spacing:1.1px;margin-bottom:14px;font-size:8px}.hero-intro h2{letter-spacing:-.8px;margin-bottom:14px;font-size:25px;font-weight:500;line-height:1.25}.hero-intro>p:not(.eyebrow){color:var(--muted);margin-bottom:25px;font-size:11px;line-height:1.8}.hero-note{padding-bottom:3px}.asterisk{color:var(--accent);margin-bottom:19px;font-size:50px;line-height:1;display:block}.hero-note p{font-size:13px;line-height:1.8}.hero-note p>span,.scroll-link{color:var(--muted)}.scroll-link{letter-spacing:1px;margin-top:39px;font-size:8px;display:block}.scroll-link span{color:var(--cream);margin-left:16px;font-size:20px}.expertise-strip{border-block:1px solid var(--line);background:#1c1d19;padding-block:23px}.expertise-strip .container{justify-content:space-between;align-items:center;gap:24px;display:flex}.expertise-strip span{letter-spacing:1.8px;white-space:nowrap;font-size:10px;font-weight:500}.expertise-strip i{color:var(--accent);font-size:20px;font-style:normal;line-height:1}.about-grid{grid-template-columns:1fr 1fr;gap:12%;display:grid}.about-copy .lead{letter-spacing:-.5px;color:var(--cream);margin:0 0 24px;font-size:23px;line-height:1.45}.about-copy>p{color:var(--muted);margin-bottom:18px;font-size:14px}.about-copy .text-link{margin-top:8px}.skills-section{background:var(--surface)}.skills-grid{grid-template-columns:1fr 1fr;gap:0 72px;display:grid}.skill{border-top:1px solid var(--line);gap:24px;padding:31px 0;display:flex}.skill-icon{color:var(--accent);flex-shrink:0;width:34px;font-size:27px;line-height:1.4}.skill h3{margin-bottom:7px;font-size:17px;font-weight:500}.skill p{color:var(--muted);margin-bottom:18px;font-size:12px}.tags{flex-wrap:wrap;gap:7px;display:flex}.tags>span{color:#c4beaf;border:1px solid #43443b;border-radius:3px;padding:5px 10px;font-size:10px;line-height:1.4}.filters{flex-wrap:wrap;gap:9px;margin-bottom:32px;display:flex}.filters button{border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:30px;padding:9px 17px;font-size:11px;transition:background .2s,color .2s}.filters button.active{background:var(--cream);color:var(--bg)}.filters button.active,.filters button:hover{border-color:var(--cream)}.filters button span{opacity:.6;margin-left:10px;font-size:9px}.project-grid{grid-template-columns:1fr 1fr;gap:52px 30px;display:grid}.project-card{min-width:0;animation:.35s both appear}.project-open{text-align:left;background:0 0;width:100%;padding:0;display:block}.project-visual{aspect-ratio:1.62;background:#223b32;padding:59px 28px 0;position:relative;overflow:hidden}.visual-purple{background:#302c3c}.visual-sand{background:#454130}.visual-blue{background:#26383c}.visual-label{letter-spacing:1.3px;color:#ded9cc;justify-content:space-between;font-size:8px;display:flex;position:absolute;top:20px;left:25px;right:25px}.project-visual>img{transform-origin:bottom;border-radius:5px 5px 0 0;width:100%;height:auto;transition:transform .45s;transform:perspective(1200px)rotateX(3deg);box-shadow:0 12px 34px #0004}.project-open:hover .project-visual>img{transform:scale(1.035)translateY(-4px)}.project-open-label{background:var(--cream);color:var(--bg);opacity:0;border-radius:2px;padding:7px 13px;font-size:10px;transition:opacity .2s,transform .2s;position:absolute;bottom:17px;right:18px;transform:translateY(8px)}.project-open-label>span{margin-left:15px}.project-open:focus-visible .project-open-label,.project-open:hover .project-open-label{opacity:1;transform:translateY(0)}.project-meta{color:var(--muted);gap:12px;margin:21px 0 10px;font-size:8px}.project-meta,.project-title-row{justify-content:space-between;display:flex}.project-title-row{align-items:center;gap:16px}.project-title-row h3{letter-spacing:-.6px;font-size:20px;font-weight:500;line-height:1.35}.circle-arrow{border:1px solid #515246;border-radius:50%;place-items:center;min-width:33px;height:33px;font-size:19px;transition:background .2s,color .2s;display:grid}.project-open:hover .circle-arrow{background:var(--cream);color:var(--bg)}.project-card>p{color:var(--muted);max-width:440px;margin:11px 0 17px;font-size:12px}.project-note{border-top:1px solid var(--line);gap:17px;max-width:670px;margin-top:42px;padding-top:22px;display:flex}.project-note>span{color:var(--accent);font-size:24px;line-height:1.3}.project-note p{color:var(--muted);font-size:11px}.experience-section{background:var(--surface)}.experience-layout{grid-template-columns:.9fr 1.1fr;gap:12%;display:grid}.experience-intro{align-self:start;position:sticky;top:50px}.experience-intro>p{color:var(--muted);max-width:300px;margin-block:24px;font-size:13px}.experience-intro .text-link{font-size:12px}.job{border-left:1px solid #4b4b40;padding:0 0 34px 26px;position:relative}.job:last-child{border-color:#0000;padding-bottom:0}.job:before{content:"";outline:6px solid var(--surface);background:#828974;border-radius:50%;width:7px;height:7px;position:absolute;top:4px;left:-4px}.job:first-child:before{background:var(--accent)}.job-date{color:var(--muted);letter-spacing:.8px;justify-content:space-between;align-items:center;gap:14px;margin-bottom:11px;font-size:9px;display:flex}.job-date>span{border:1px solid var(--line);white-space:nowrap;padding:3px 6px;font-size:7px}.job h3{margin-bottom:3px;font-size:19px;font-weight:500}.job .job-org{color:var(--cream);margin:0 0 12px;font-size:12px}.job>p{color:var(--muted);font-size:12px;line-height:1.8}.job .tags{margin-top:17px}.contact-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.contact-heading .display{font-size:calc(clamp(64px,9.3vw,134px));line-height:.96}.outline-text{color:#0000;-webkit-text-stroke:1px var(--cream)}.contact-arrow{border:1px solid var(--cream);border-radius:50%;flex-shrink:0;place-items:center;width:113px;height:113px;font-size:65px;line-height:1;transition:background .2s,color .2s;display:grid}.contact-arrow:hover{background:var(--cream);color:var(--bg)}.contact-intro{color:var(--muted);margin-top:31px;font-size:13px}.contact-links{grid-template-columns:1.5fr 1fr .8fr;gap:45px;margin-top:48px;display:grid}.contact-links .eyebrow{letter-spacing:1.5px;color:var(--muted);margin-bottom:12px;font-size:8px;display:block}.email-contact{border-bottom:1px solid var(--line);padding-bottom:15px;position:relative}.email-contact>a{letter-spacing:-.4px;font-size:calc(clamp(12px,1.5vw,20px))}.email-contact button{vertical-align:middle;color:var(--muted);background:0 0;margin-left:10px;padding:0 5px;font-size:22px}.contact-item:hover,.copy-status,.email-contact button:hover,.email-contact>a:hover{color:var(--accent)}.contact-item{border-bottom:1px solid var(--line);padding-bottom:15px}.contact-item>span:last-child{justify-content:space-between;align-items:center;font-size:15px;display:flex}.contact-item i{font-size:21px;font-style:normal}.copy-status{min-height:21px;margin-top:13px;font-size:12px}.footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;padding-block:25px;display:flex}.footer p{color:var(--muted);font-size:10px}.footer>a:last-child{letter-spacing:1px;font-size:8px}.footer>a:last-child span{margin-left:18px;font-size:18px}.footer-brand{font-size:29px}dialog{background:var(--bg);width:min(980px,100% - 48px);max-height:90dvh;color:var(--cream);overscroll-behavior:contain;border:1px solid #55564a;padding:0}dialog::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#050604d9}dialog[open]{animation:.2s both appear}.dialog-bar{background:var(--bg);border-bottom:1px solid var(--line);z-index:2;letter-spacing:1px;justify-content:space-between;padding:17px 28px;font-size:9px;position:sticky;top:0}.close-dialog,.dialog-bar,.gallery-control{align-items:center;display:flex}.close-dialog{background:0 0;gap:17px;font-size:11px}.close-dialog>span{font-size:26px;line-height:1}.case-header{padding:32px 40px 24px}.case-header>.eyebrow{color:var(--muted);margin-bottom:15px;font-size:9px}.case-header h2{font:600 calc(clamp(35px,5vw,60px))/1 var(--display);text-transform:uppercase;max-width:700px}.case-header .tags{margin-top:23px}.case-image{padding:0 40px}.case-image img{border:1px solid var(--line);width:100%}.gallery-control{color:var(--muted);justify-content:space-between;padding-top:12px;font-size:10px}.gallery-buttons{gap:8px;display:flex}.gallery-buttons button{background:var(--surface);border:1px solid var(--line);width:35px;height:32px;font-size:17px}.gallery-buttons button:disabled{opacity:.3;cursor:default}.case-body{grid-template-columns:1.3fr 1fr;gap:40px;padding:30px 40px 40px;display:grid}.case-body h3{margin-bottom:12px;font-size:16px;font-weight:500}.case-body li,.case-body p{color:var(--muted);font-size:12px}.case-body ul{margin-top:0;padding-left:17px}.case-body li{margin-bottom:8px}.case-role{border-top:1px solid var(--line);margin-top:24px;padding-top:22px}.case-note{background:var(--surface);border-left:2px solid var(--accent);grid-column:1/-1;padding:14px 18px;font-size:11px!important}@keyframes appear{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (width>=1500px){.hero-title{font-size:290px}.hero{height:780px}.hero-portrait{height:850px;bottom:-200px}.hero-bottom{bottom:64px}}@media (width<=1100px){.container{width:calc(100% - 72px)}.hero{height:690px}.hero-title{font-size:22vw;top:150px}.hero-portrait{height:720px;bottom:-130px}.hero-intro h2{font-size:23px}.hero-intro>p:not(.eyebrow){max-width:220px}.hero-note p{font-size:11px}.hero-intro .eyebrow,.scroll-link{font-size:7px}.scroll-link{max-width:180px}.hero-note .asterisk{font-size:40px}.expertise-strip span{letter-spacing:1.2px;font-size:8px}.skills-grid{gap:0 40px}.skill{gap:17px}.project-title-row h3{font-size:18px}.experience-layout{gap:8%}.contact-links{gap:25px}.contact-arrow{width:90px;height:90px;font-size:50px}.contact-heading .display{font-size:9vw}}@media (width<=760px){.container{width:calc(100% - 40px)}.site-header{height:74px}.brand{font-size:31px}.brand .brand-caption{margin-left:17px;padding-left:17px;font-size:7px}.menu-toggle{flex-direction:column;justify-content:center;gap:6px;width:40px;height:40px;padding:8px;display:flex}.menu-toggle span{background:var(--cream);width:24px;height:1px;transition:transform .2s;display:block}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px)rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px)rotate(-45deg)}nav{background:var(--surface);border-bottom:1px solid var(--line);gap:0;padding:25px 20px;display:none;position:absolute;top:73px;left:0;right:0;box-shadow:0 20px 30px #0004}nav.is-open{flex-direction:column;align-items:stretch;display:flex}nav>a{border-bottom:1px solid var(--line);padding:14px 12px;font-size:15px}.nav-contact{justify-content:space-between;margin:14px 0 0;display:flex}.hero{height:780px}.hero-top{top:27px}.hero-top p{letter-spacing:1px;font-size:8px}.hero-title{letter-spacing:-.028em;font-size:22.5vw;top:128px;left:0}.hero-portrait{height:600px;bottom:65px;left:53%;-webkit-mask-image:linear-gradient(#000 48%,#0000 96%);mask-image:linear-gradient(#000 48%,#0000 96%)}.title-outline{clip-path:inset(0 24% 0 28%)}.hero-bottom{align-items:flex-end;bottom:34px}.hero-intro{max-width:270px}.hero-intro h2{margin-bottom:15px;font-size:29px;line-height:1.2}.hero-intro .eyebrow{letter-spacing:.8px;font-size:7px}.hero-intro>p:not(.eyebrow){max-width:none;font-size:11px}.hero-intro .button{padding:12px 17px}.hero-note .asterisk,.hero-note p{display:none}.hero-note{max-width:42px}.scroll-link{letter-spacing:0;margin:0;font-size:0;display:block}.scroll-link span{border:1px solid var(--line);place-items:center;width:38px;height:46px;margin:0;font-size:22px;display:grid}.expertise-strip{padding-block:16px;overflow:hidden}.expertise-strip .container{justify-content:flex-start;gap:22px;width:max-content}.expertise-strip span{font-size:8px}.expertise-strip i{font-size:16px}.section{padding-block:64px}.section-label{letter-spacing:1px;margin-bottom:35px;padding-top:17px;font-size:8px}.section-label>span:last-child{text-align:right;font-size:7px}.about-grid{grid-template-columns:1fr;gap:32px}.display{font-size:58px}.about-copy .lead{max-width:420px;font-size:21px}.about-copy>p{font-size:13px}.section-heading{flex-direction:column;align-items:flex-start;gap:24px;margin-bottom:33px}.section-heading>p{font-size:12px}.experience-layout,.project-grid,.skills-grid{grid-template-columns:1fr}.skill{gap:19px;padding:25px 0}.skill h3{font-size:16px}.skill p{font-size:11px}.tags{gap:6px}.tags>span{padding:5px 8px;font-size:9px}.project-grid{gap:37px}.filters{gap:7px;margin-bottom:25px}.filters button{padding:9px 12px;font-size:10px}.filters button span{margin-left:6px;font-size:8px}.project-visual{padding:48px 22px 0}.visual-label{font-size:7px;top:17px;left:22px;right:22px}.project-title-row h3{font-size:20px}.project-card>p{font-size:12px}.project-meta{margin-top:17px}.project-open-label{display:none}.project-note{margin-top:32px}.project-note p{font-size:10px}.experience-layout{gap:42px}.experience-intro{position:static}.experience-intro>p{max-width:390px}.job{padding-left:23px}.job h3{font-size:18px}.job-date{font-size:8px}.contact-heading .display{font-size:13vw}.contact-arrow{align-self:flex-start;width:52px;height:52px;margin-top:6px;font-size:31px}.contact-heading{gap:9px}.contact-intro{margin-top:25px;font-size:12px}.contact-links{grid-template-columns:1fr 1fr;gap:25px 23px;margin-top:32px}.email-contact{grid-column:1/-1}.email-contact>a{font-size:19px}.email-contact button{float:right}.contact-item>span:last-child{font-size:12px}.footer{flex-wrap:wrap;gap:16px;padding-block:22px}.footer p{text-align:right;flex:1;font-size:9px}.footer>a:last-child{text-align:right;width:100%;font-size:7px}.case-header{padding:24px}.case-image{padding:0 24px}.case-body{grid-template-columns:1fr;gap:24px;padding:24px}.case-header h2{font-size:42px}.dialog-bar{padding:14px 24px}.case-note{grid-column:auto}dialog{width:calc(100% - 24px);max-height:94dvh}.case-header .eyebrow{font-size:8px}}@media (width>=520px) and (width<=760px){.hero{height:850px}.hero-title{top:132px}.hero-portrait{height:740px;bottom:0;left:58%}.hero-bottom{bottom:40px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{transition:none!important;animation:none!important}}@media (prefers-reduced-motion:no-preference){.hero-title{translate:0 var(--title-drift,0)}.hero-portrait{translate:0 var(--portrait-drift,0)}.project-card{animation:none}.project-visual>img{transition:transform .24s cubic-bezier(.23,1,.32,1)}nav>a:not(.nav-contact){position:relative}nav>a:not(.nav-contact):after{content:"";background:var(--accent);transform-origin:100%;height:1px;transition:transform .28s cubic-bezier(.22,1,.36,1);position:absolute;inset:auto 0 -5px;transform:scaleX(0)}nav>a:not(.nav-contact):is(:hover,:focus-visible):after{transform-origin:0;transform:scaleX(1)}.button>span,.contact-item i,.footer>a:last-child>span,.nav-contact>span,.text-link>span{transition:transform .28s cubic-bezier(.22,1,.36,1);display:inline-block}@media (hover:hover) and (pointer:fine){.contact-item:hover i,:is(.button,.text-link,.nav-contact):hover>span{transform:translate(2px,-2px)}.footer>a:last-child:hover>span{transform:translateY(-3px)}}:is(.button,.filters button,.gallery-buttons button:not(:disabled),.nav-contact):active{scale:.98}.job:before{transition:background .4s}.job[data-revealed=true]:before{background:var(--accent)}@media (width<=760px){nav.is-open{animation:.18s ease-out both menu-enter}nav>a:not(.nav-contact):after{inset:auto 12px 8px}}}@media (prefers-reduced-motion:reduce){[data-sc-reveal]{clip-path:none!important}}@media (hover:none),(pointer:coarse){.project-open:hover .project-visual>img{transform:perspective(1200px)rotateX(3deg)}.project-open-label{display:none}}@keyframes menu-enter{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.education-layout{border-top:1px solid var(--line);grid-template-columns:.9fr 1.1fr;gap:12%;padding-top:28px;display:grid}.education-date{color:var(--muted);margin-bottom:16px;font-size:11px}.education-date>span{padding-inline:7px}.education-detail h3{letter-spacing:-.6px;font-size:24px;font-weight:500;line-height:1.4}.education-detail h3>span,.education-grade{color:var(--muted)}.education-degree{margin-top:10px;font-size:14px}.education-grade{border-top:1px solid var(--line);align-items:baseline;gap:18px;margin-top:25px;padding-top:18px;font-size:11px;display:flex}.education-grade strong{color:var(--cream);font-variant-numeric:tabular-nums;font-size:22px;font-weight:500}.education-grade strong>span{color:var(--muted);font-size:14px}@media (width>=761px) and (width<=1050px){.brand .brand-caption{display:none}nav{gap:22px}}@media (width<=760px){.education-layout{grid-template-columns:1fr;gap:32px}.education-layout .display{font-size:52px}.education-detail h3{font-size:21px}}
