@font-face{font-family:"Instrument Serif";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/instrument-serif-latin-400-normal-DnYpCC2O.woff2) format("woff2"),url(/assets/instrument-serif-latin-400-normal-BVbkICAY.woff) format("woff")}.desk-section{--desk-purple:#6344b8;--desk-muted:#77738a;--desk-rule:#e9e6ef;max-width:1600px;margin:0 auto;padding:44px 3.2%;color:#191626}.desk-section h2,.desk-section h3,.desk-section h4{font-weight:400}.desk-label{display:flex;align-items:flex-start;flex-direction:column}.desk-section-number{font:29px/1 "Instrument Serif",serif;color:#8b839c;margin:10px 0 22px}.desk-label h2{font-family:var(--serif);font-size:clamp(39px,4.6vw,68px);line-height:1.04;writing-mode:vertical-rl;letter-spacing:.02em}.desk-label-stroke{width:30px;height:1px;background:#edab7c;transform:rotate(-40deg);transform-origin:left;margin:40px 0 40px 2px}.desk-label-english{font-size:11px;letter-spacing:.13em;color:#858095;line-height:1.5}.desk-rail-copy{font-size:clamp(12px,1.15vw,16px);line-height:1.95;color:var(--desk-muted);margin-top:30px;letter-spacing:.01em}.desk-works{display:grid;grid-template-columns:14% minmax(0,1fr);gap:3%;padding-top:60px;padding-bottom:48px}.desk-work-rail{align-self:start}.desk-projects{min-width:0}.desk-featured{display:grid;grid-template-columns:1.66fr 1fr;gap:10px}.desk-secondary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px}.desk-case-wrap{min-width:0}.desk-case{width:100%;height:100%;position:relative;isolation:isolate;display:block;overflow:hidden;background:#f3f0f8;border-radius:14px;text-align:left;color:#171229;transition:transform .65s var(--ease),box-shadow .65s var(--ease);padding:0}.desk-case-art{position:absolute;width:100%;height:100%;top:0;right:0;bottom:0;left:0;object-fit:cover;z-index:-1;transition:transform 1.15s var(--ease);pointer-events:none}.desk-case--shore{aspect-ratio:.93}.desk-case--contour{color:#fff;background:#5634bc}.desk-case--compact{aspect-ratio:.91;min-height:265px}.desk-pending{position:absolute;left:clamp(24px,2.7vw,42px);top:clamp(25px,3vw,45px);font-size:12px;letter-spacing:.02em;color:#6c657f}.desk-case--contour .desk-pending{color:#e5dcff}.desk-case-body{display:flex;flex-direction:column;position:absolute;left:clamp(24px,2.7vw,42px);right:22px;top:26%}.desk-case-title{display:block;font-family:var(--serif);font-weight:400;letter-spacing:-.025em;line-height:1.3}.desk-display{display:block;font-size:clamp(51px,7.15vw,112px);line-height:1.12;white-space:nowrap}.desk-subdisplay{display:block;font-size:clamp(26px,3.65vw,57px);line-height:1.5;white-space:nowrap}.desk-case--contour .desk-display{font-size:clamp(44px,6.2vw,98px)}.desk-case--contour .desk-subdisplay{font-family:"Instrument Serif",serif;font-size:clamp(28px,3.75vw,58px);line-height:1.3;letter-spacing:0}.desk-case-summary{font-size:clamp(13px,1.22vw,18px);line-height:1.6;color:#5f5775;margin-top:18px}.desk-case-meta{display:flex;gap:13px;flex-wrap:wrap;font-size:clamp(11px,.96vw,14px);line-height:1.9;margin-top:5px;color:#675f7a}.desk-case--contour .desk-case-summary,.desk-case--contour .desk-case-meta{color:#e5dfff}.desk-case-action{position:absolute;left:clamp(24px,2.7vw,42px);bottom:clamp(26px,3vw,46px);font-size:clamp(13px,1.1vw,16px);display:flex;align-items:center;gap:18px;line-height:1.5}.desk-case-action svg{transition:transform .5s var(--ease)}.desk-case--compact .desk-case-body{top:31%;right:23px}.desk-case--compact .desk-case-title{font-size:clamp(22px,2.55vw,39px);line-height:1.4;letter-spacing:-.04em}.desk-case--compact .desk-case-summary{font-size:clamp(12px,1.08vw,16px);margin-top:24px}.desk-case--compact .desk-pending{font-size:11px;top:27px}.desk-case--rings{background:#faf5eb}.desk-case:focus-visible{outline:3px solid #5e3bb7;outline-offset:4px}@media (hover:hover){.desk-case:hover{transform:translateY(-5px);box-shadow:0 17px 32px -26px #5a3b83a6}.desk-case:hover .desk-case-art{transform:scale(1.045)}.desk-case:hover .desk-case-action svg{transform:translate(4px,-4px)}}.desk-resume{display:grid;grid-template-columns:26% minmax(0,1fr) 24%;gap:3%;padding-top:70px;padding-bottom:70px;border-top:1px solid var(--desk-rule)}.desk-resume-rail{display:flex;align-items:flex-start;flex-direction:column}.desk-resume-heading{font:clamp(31px,3.25vw,49px)/1.55 var(--serif);letter-spacing:-.045em;margin-top:30px}.desk-resume-rail .desk-rail-copy{margin-top:28px}.desk-career-span{margin-top:auto;padding-top:65px;padding-bottom:70px}.desk-career-span>span{display:block;font-size:13px;color:var(--desk-muted);margin-bottom:13px}.desk-career-span strong{font:clamp(35px,3.6vw,55px)/1.2 "Instrument Serif",serif;color:var(--desk-purple);white-space:nowrap}.desk-timeline{position:relative;align-self:stretch;border-left:1px solid #d8d0e8;padding-left:30px}.desk-timeline-progress{position:absolute;top:0;bottom:0;left:-1px;width:2px;background:#9474d2;transform-origin:top;pointer-events:none}.desk-career-entry{position:relative;display:grid;grid-template-columns:130px minmax(0,1fr);column-gap:24px;padding:24px 0 32px;min-height:248px}.desk-timeline>div:last-child .desk-career-entry{padding-bottom:14px;min-height:205px}.desk-career-entry:before{content:"";position:absolute;left:-35px;top:34px;width:8px;height:8px;border-radius:50%;background:var(--desk-purple);border:1px solid #fff;box-sizing:content-box}.desk-career-entry time{font-size:16px;color:var(--desk-purple);line-height:1.75;white-space:nowrap}.desk-career-description{border-bottom:1px solid var(--desk-rule);padding-bottom:25px;min-width:0}.desk-timeline>div:last-child .desk-career-description{border:0}.desk-career-description h3{font-size:clamp(18px,1.85vw,28px);line-height:1.65;font-weight:500;letter-spacing:-.025em;transition:color .3s}.desk-career-role{font-size:17px;color:#70667f;margin-top:16px;line-height:1.7}.desk-career-summary{font-size:17px;line-height:2;color:var(--desk-muted);margin-top:18px;max-width:37em}.desk-career-entry:hover .desk-career-description h3{color:var(--desk-purple)}.desk-education-wrap{min-width:0}.desk-education{height:100%;position:relative;isolation:isolate;overflow:hidden;border-radius:14px;background:#f5f2fa;padding:76px;min-height:650px}.desk-education>img{position:absolute;bottom:0;right:0;width:100%;height:auto;z-index:-1;opacity:.8}.desk-education h3{font:26px/1.5 var(--serif);color:#6d5397;margin-bottom:18px}.desk-education svg{display:block;color:#9a87ba;margin:40px 0 34px}.desk-education-detail{border-top:1px solid #e0d9ef;padding-top:40px}.desk-education-detail h4{font-size:22px;line-height:1.6;margin:0 0 16px}.desk-education-detail p,.desk-education-detail time{display:block;font-size:17px;line-height:2;color:#625974}.desk-education-detail time{margin-top:9px}.desk-contact{display:grid;grid-template-columns:12% minmax(0,1fr);column-gap:2%;row-gap:18px;padding-top:30px;padding-bottom:0;border-top:1px solid var(--desk-rule)}.desk-contact-body{display:grid;grid-template-columns:38% minmax(0,1fr);gap:6.5%;padding:26px;border-radius:15px;background:#f4f1f9;min-width:0}.desk-contact-art{position:relative;align-self:stretch;overflow:hidden;isolation:isolate;border-radius:14px;min-height:390px;aspect-ratio:.93}.desk-contact-art img{position:absolute;left:0;top:-4%;width:100%;height:108%;object-fit:cover}.desk-contact-copy{align-self:center;padding:20px 0}.desk-contact-copy h3{font:clamp(38px,5.2vw,80px)/1.35 var(--serif);letter-spacing:-.04em}.desk-contact-copy h3 span{color:#e67b36}.desk-contact-rule{display:block;width:26px;height:1px;background:#e7a679;margin:30px 0}.desk-contact-copy address{font-style:normal;font-size:18px;line-height:1.7}.desk-contact-copy address p{display:flex;align-items:center;gap:18px;margin-bottom:14px}.desk-contact-copy address svg{flex:none}.desk-contact-note{font-size:13px;line-height:1.8;color:var(--desk-muted);margin-top:26px}.desk-footer{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid var(--desk-rule);padding:32px 0 35px}.desk-footer-identity{font-size:23px;font-family:var(--serif);display:flex;align-items:center;gap:26px}.desk-footer-identity>span{font-family:Inter,PingFang SC,sans-serif;font-size:12px;color:var(--desk-muted)}.desk-footer nav{display:flex;align-items:center;gap:26px;font-size:13px;color:var(--desk-muted)}.desk-footer nav a{min-height:44px;display:inline-flex;align-items:center}.desk-footer nav a:hover{color:var(--desk-purple)}.desk-back-top{gap:8px}@media (min-width:1601px){.desk-section{padding-left:52px;padding-right:52px}}@media (max-width:1200px){.desk-resume{grid-template-columns:25% minmax(0,1fr) 23%;gap:3%}.desk-timeline{padding-left:22px}.desk-career-entry{grid-template-columns:90px minmax(0,1fr);gap:15px;min-height:230px}.desk-career-entry:before{left:-27px}.desk-career-entry time{font-size:12px}.desk-career-summary{font-size:13px}.desk-education{padding:48px 28px}.desk-education h3{font-size:22px}.desk-education-detail h4{font-size:17px}.desk-contact-art{min-height:320px}.desk-case--compact .desk-case-body{left:22px;right:18px}.desk-case--compact .desk-case-title{font-size:25px}.desk-case--compact .desk-case-action{left:22px}}@media (max-width:900px){.desk-section{padding-left:28px;padding-right:28px}.desk-works{grid-template-columns:110px minmax(0,1fr);gap:20px}.desk-label h2{font-size:46px}.desk-label-english{font-size:10px}.desk-rail-copy{font-size:12px}.desk-featured{grid-template-columns:1.45fr 1fr}.desk-case--shore{aspect-ratio:.8}.desk-display{font-size:54px}.desk-subdisplay{font-size:29px}.desk-case--contour .desk-display{font-size:43px}.desk-pending,.desk-case-action,.desk-case-body{left:22px}.desk-case-meta{gap:0}.desk-case-meta>span{display:block;flex-basis:100%}.desk-case--compact{min-height:275px}.desk-case--compact .desk-case-title{font-size:22px}.desk-case--compact .desk-case-summary{font-size:12px;margin-top:15px}.desk-case--compact .desk-case-body{left:18px;right:14px}.desk-case--compact .desk-pending,.desk-case--compact .desk-case-action{left:18px}.desk-secondary{gap:8px}.desk-resume{grid-template-columns:28% minmax(0,1fr);gap:24px}.desk-education-wrap{grid-column:2}.desk-education{min-height:0;padding:30px;display:grid;grid-template-columns:1fr 1.4fr;column-gap:25px;align-items:start}.desk-education h3{font-size:21px;margin:0 0 8px}.desk-education>.desk-label-english{grid-column:1}.desk-education svg{grid-column:1;margin:18px 0 0}.desk-education-detail{grid-column:2;grid-row:1/4;border:0;border-left:1px solid #ded6ed;padding:0 0 0 22px}.desk-education-detail h4{font-size:17px;margin-bottom:8px}.desk-career-span{padding-bottom:30px}.desk-timeline .desk-career-entry{min-height:210px}.desk-career-description h3{font-size:17px}.desk-contact{grid-template-columns:100px minmax(0,1fr);column-gap:15px}.desk-contact-body{gap:7%;padding:18px;grid-template-columns:40% minmax(0,1fr)}.desk-contact-art{min-height:290px}.desk-contact-copy h3{font-size:40px}.desk-contact-copy address{font-size:14px}.desk-contact-copy address p{gap:10px}.desk-contact-rule{margin:20px 0}.desk-contact-note{font-size:12px;margin-top:20px}.desk-contact-copy{padding:10px 0}.desk-footer-identity{font-size:20px;gap:15px}.desk-footer nav{gap:18px;font-size:12px}}@media (max-width:650px){.desk-section{padding:46px 22px}.desk-label{display:grid;grid-template-columns:auto 1fr;column-gap:18px;row-gap:8px;align-items:baseline}.desk-label h2{writing-mode:horizontal-tb;font-size:37px;line-height:1.2}.desk-section-number{font-size:25px;margin:0}.desk-label-stroke{display:none}.desk-label-english{grid-column:2;font-size:9px}.desk-works{display:block;padding-top:48px}.desk-work-rail{position:static;display:flex;justify-content:space-between;gap:20px;align-items:start;margin-bottom:30px}.desk-work-rail .desk-rail-copy{margin:0;font-size:10px;line-height:1.9;max-width:145px}.desk-featured{grid-template-columns:1fr;gap:12px}.desk-case--shore{aspect-ratio:.96}.desk-case--contour{aspect-ratio:1.1}.desk-case{border-radius:12px}.desk-case-body{left:27px;top:26%;right:24px}.desk-pending{left:27px;top:25px;font-size:11px}.desk-display{font-size:clamp(54px,16vw,82px)}.desk-subdisplay{font-size:clamp(30px,8vw,44px)}.desk-case--contour .desk-display{font-size:clamp(49px,14vw,74px)}.desk-case--contour .desk-subdisplay{font-size:37px}.desk-case-summary{font-size:13px;margin-top:12px}.desk-case-meta{font-size:10px;gap:12px;flex-wrap:wrap}.desk-case-meta>span{flex-basis:auto}.desk-case-action{left:27px;bottom:26px;font-size:13px;gap:15px}.desk-case-action svg{width:20px}.desk-secondary{grid-template-columns:1fr;gap:12px;margin-top:12px}.desk-case--compact{min-height:238px;aspect-ratio:auto}.desk-case--compact .desk-case-body{left:27px;top:30%;right:25px}.desk-case--compact .desk-case-title{font-size:25px;line-height:1.3}.desk-case--compact .desk-case-summary{margin-top:15px;font-size:12px}.desk-case--compact .desk-pending,.desk-case--compact .desk-case-action{left:27px}.desk-case--compact .desk-case-art{object-position:center 65%}.desk-resume{display:block;padding-top:45px;padding-bottom:45px}.desk-resume-rail{display:grid;grid-template-columns:1fr 1fr;column-gap:20px;row-gap:22px}.desk-resume-rail .desk-label{grid-column:1/-1}.desk-resume-heading{font-size:27px;margin:0}.desk-resume-rail .desk-rail-copy{font-size:11px;margin:0;align-self:center}.desk-career-span{padding:0;margin:0;grid-column:1/-1;display:flex;align-items:center;gap:20px}.desk-career-span>span{margin:0;font-size:11px}.desk-career-span strong{font-size:32px}.desk-timeline{margin:36px 0 28px 5px;padding-left:22px}.desk-timeline .desk-career-entry{grid-template-columns:1fr;gap:12px;padding:17px 0 18px;min-height:0}.desk-career-entry:before{top:23px;left:-27px}.desk-career-entry time{font-size:13px}.desk-career-description h3{font-size:18px}.desk-career-role{margin-top:8px;font-size:12px}.desk-career-summary{font-size:13px;margin-top:12px;line-height:1.9}.desk-career-description{padding-bottom:20px}.desk-timeline>div:last-child .desk-career-entry{min-height:0}.desk-education{padding:27px 24px;column-gap:12px}.desk-education h3{font-size:20px}.desk-education-detail{padding-left:19px}.desk-education-detail h4{font-size:16px}.desk-education-detail p,.desk-education-detail time{font-size:12px}.desk-contact{display:block;padding-top:42px;padding-bottom:0}.desk-contact-rail{margin-bottom:28px}.desk-contact-body{display:grid;grid-template-columns:1fr;padding:16px;gap:24px;border-radius:13px}.desk-contact-art{aspect-ratio:1.35;min-height:0}.desk-contact-copy{padding:6px 17px 18px}.desk-contact-copy h3{font-size:43px}.desk-contact-copy address{font-size:15px}.desk-contact-copy address p{gap:14px}.desk-contact-rule{margin:24px 0}.desk-footer{padding:25px 0;display:block;margin-top:23px}.desk-footer-identity{font-size:20px}.desk-footer-identity>span{font-size:11px}.desk-footer nav{justify-content:space-between;gap:15px;margin-top:13px}}@media (prefers-reduced-motion:reduce){.desk-case,.desk-case-art,.desk-case-action svg{transition:none!important}.desk-case:hover,.desk-case:hover .desk-case-art,.desk-case:hover .desk-case-action svg{transform:none!important}}.desk-case:after{content:"";position:absolute;width:42%;aspect-ratio:1;border:1px solid currentColor;border-radius:50%;right:-17%;bottom:-26%;opacity:.08;pointer-events:none}.desk-case-art{inset:auto;z-index:0;right:clamp(16px,2.2vw,34px);top:12%;width:55%;height:76%;object-fit:contain;object-position:center top;background:#fff;border-radius:10px;box-shadow:0 24px 54px -34px #2d1d4c99;transition:transform 1.15s var(--ease),box-shadow .65s var(--ease)}.desk-case--arcs{background:#eee9f8}.desk-case--dots{background:#f4eff7}.desk-case-index{position:absolute;z-index:1;left:clamp(24px,2.7vw,42px);top:clamp(25px,3vw,45px);font:10px/1.4 Inter,PingFang SC,sans-serif;letter-spacing:.1em;color:#6c657f}.desk-case--contour .desk-case-index{color:#e5dcff}.desk-case-body{z-index:1;right:auto;top:25%;width:42%;max-width:390px}.desk-case--featured .desk-case-title{font-size:clamp(36px,4.2vw,66px);line-height:1.08}.desk-case-action{z-index:1}.desk-case--compact .desk-case-art{right:14px;top:15%;width:48%;height:68%;border-radius:7px}.desk-case--compact .desk-case-body{top:29%;right:auto;width:43%}.desk-case--compact .desk-case-title{font-size:clamp(22px,2.15vw,33px);line-height:1.25}.desk-case--compact .desk-case-summary{font-size:clamp(11px,.95vw,14px);margin-top:16px}.desk-case--compact .desk-case-meta{font-size:10px;line-height:1.7;margin-top:8px}.desk-case--compact .desk-case-index{font-size:9px;top:24px}.desk-case--desktop .desk-case-art,.desk-case--dashboard .desk-case-art{width:53%;height:66%;top:17%;object-position:center}@media (hover:hover){.desk-case:hover .desk-case-art{transform:translateY(-5px) rotate(-.6deg);box-shadow:0 30px 66px -32px #2d1d4ccc}}@media (max-width:1200px){.desk-case--compact .desk-case-body{right:auto}.desk-case--compact .desk-case-title{font-size:23px}}@media (max-width:900px){.desk-case-index{left:22px}.desk-case--compact{min-height:290px}.desk-case--compact .desk-case-title{font-size:21px}.desk-case--compact .desk-case-summary{font-size:11px;margin-top:12px}.desk-case--compact .desk-case-body{right:auto;width:44%}.desk-case--compact .desk-case-index{left:18px}}@media (max-width:650px){.desk-case--shore,.desk-case--contour{aspect-ratio:1.08}.desk-case-art{right:18px;top:13%;width:49%;height:73%}.desk-case-body{top:27%;right:auto;width:43%}.desk-case-index{left:27px;top:25px;font-size:9px}.desk-case--featured .desk-case-title{font-size:clamp(31px,9vw,46px)}.desk-case-summary{font-size:12px;margin-top:12px}.desk-case-meta{font-size:9px;gap:8px}.desk-case--compact{min-height:310px}.desk-case--compact .desk-case-art{right:18px;top:14%;width:48%;height:70%;object-position:center top}.desk-case--compact .desk-case-body{left:27px;top:30%;right:auto;width:42%}.desk-case--compact .desk-case-title{font-size:24px;line-height:1.25}.desk-case--compact .desk-case-summary{margin-top:13px;font-size:11px}.desk-case--compact .desk-case-index{left:27px}.desk-case--desktop .desk-case-art,.desk-case--dashboard .desk-case-art{width:51%;height:62%;top:19%}}:root{font-family:Inter,Helvetica Neue,Arial,PingFang SC,Microsoft YaHei,sans-serif;color:#1c1c20;background:#fff;font-synthesis:none;font-weight:400;--muted:#757579;--line:#e3e2e5;--ink:#1c1c20;--serif:"Songti SC","Noto Serif SC","STSong",serif;--ease:cubic-bezier(.22,1,.36,1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{font:inherit;color:inherit;cursor:pointer;border:0}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid #7153be;outline-offset:7px}::selection{background:#e4d7ff;color:#302048}h1,h2,h3,p{margin:0}img{display:block;max-width:100%}.serif{font-family:var(--serif);font-weight:400}.eyebrow{font-size:10px;letter-spacing:.17em;font-weight:500}.site-shell{overflow:clip}.skip-link{position:fixed;top:12px;left:12px;transform:translateY(-180%);z-index:300;background:#fff;padding:14px}.skip-link:focus{transform:none}.site-header{position:absolute;inset:0 0 auto;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:30px 4.1%}.identity{font-size:17px;font-weight:500;display:flex;align-items:baseline;gap:20px;letter-spacing:.02em}.identity span{font-size:10px;font-weight:400;color:#6f6f73;letter-spacing:.025em}.menu-trigger{width:44px;height:44px;display:grid;place-items:center;background:none;border-radius:50%}.menu-dot{width:9px;height:9px;background:var(--ink);border-radius:50%;transition:transform .4s var(--ease),background .4s}.menu-trigger:hover .menu-dot{transform:scale(1.6);background:#6d47af}.hero{height:100svh;min-height:640px;position:relative;isolation:isolate;background:#fff}.hero-art{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;display:grid;place-items:center}.spectral-fold{position:relative;width:min(1040px,90vw);aspect-ratio:1.5;max-height:95%;mix-blend-mode:multiply;transform:translateY(1%)}.spectral-fold img,.spectral-fold canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:fill}.spectral-fold canvas{opacity:0;transition:opacity 1.3s}.spectral-fold.is-ready canvas{opacity:1}.hero-content{position:absolute;left:4%;right:4%;top:43.2%;text-align:center}.hero-eyebrow{margin-bottom:22px;letter-spacing:.24em;font-size:9px}.hero h1{display:flex;justify-content:center;font-size:clamp(44px,5.15vw,78px);font-weight:300;letter-spacing:-.055em;line-height:1.2;white-space:nowrap}.hero h1 .serif{letter-spacing:-.065em}.hero-copy{font-size:13px;line-height:1.85;font-weight:400;margin:24px auto 0;color:#515054;letter-spacing:.015em}.hero-footer{position:absolute;bottom:33px;left:4.1%;right:4.1%;display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#77767b}.hero-footer nav{display:flex;gap:23px}.hero-footer a:hover{color:#21102e}.scroll-link{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:44px;height:44px}.scroll-link svg{animation:scroll-nudge 3s ease-in-out infinite}@keyframes scroll-nudge{0%,65%,to{transform:translateY(0)}80%{transform:translateY(5px)}}.section-wrap{padding-left:7%;padding-right:7%;max-width:1600px;margin:auto}.works{padding-top:145px;padding-bottom:135px}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-bottom:64px}.section-heading .eyebrow,.resume .eyebrow,.contact .eyebrow{color:#77747d;margin-bottom:27px}.section-heading h2{font-size:clamp(32px,3.3vw,49px);font-weight:350;line-height:1.45;letter-spacing:-.04em}.section-note{font-size:12px;color:var(--muted);line-height:1.9;padding-bottom:7px}.featured-projects{display:grid;grid-template-columns:1.15fr 1fr;gap:5.5%}.project-card-1{padding-top:110px}.project-cover{width:100%;aspect-ratio:1.16;padding:24px;display:flex;flex-direction:column;justify-content:space-between;text-align:left;background:#f3f2f4;transition:background .5s,transform .7s var(--ease)}.project-card-1 .project-cover{background:#f5f3ef}.project-cover:hover{background:#eeebf2;transform:translateY(-5px)}.cover-top,.cover-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:9px;color:#78737f;letter-spacing:.045em}.cover-center{display:flex;flex-direction:column;align-items:center;gap:12px}.cover-number{font-family:"Instrument Serif",serif;font-size:clamp(80px,9vw,132px);font-weight:400;letter-spacing:-.06em;color:#cec8d7;line-height:1}.project-card-1 .cover-number{color:#d4cfc7}.media-pending{font-size:10px;letter-spacing:.12em;color:#827b8b}.cover-action{display:flex;gap:10px;align-items:center;color:#494250}.cover-action svg{transition:transform .4s var(--ease)}.project-cover:hover .cover-action svg{transform:translate(3px,-3px)}.project-caption{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding-top:22px}.project-caption h3{font-size:18px;font-weight:400;letter-spacing:-.035em}.project-caption button{background:none;padding:0;text-align:left}.project-caption>span{font-size:10px;color:var(--muted)}.more-projects{margin-top:86px;border-top:1px solid var(--line)}.project-row{display:grid;grid-template-columns:65px 1fr 210px 30px;align-items:center;width:100%;gap:20px;padding:32px 0;text-align:left;border-bottom:1px solid var(--line);background:none;transition:padding .5s var(--ease),color .3s}.project-row:hover{padding-left:12px;padding-right:12px;color:#6f43b0}.row-id{font-family:"Instrument Serif",serif;font-size:24px;color:#a09ba7}.project-row h3{font-size:18px;font-weight:400}.row-category{font-size:11px;color:var(--muted)}.resume{padding-top:110px;padding-bottom:140px;display:grid;grid-template-columns:1fr 1.2fr;gap:9%;border-top:1px solid var(--line)}.resume-intro h2{font-weight:350;font-size:clamp(33px,3.4vw,48px);line-height:1.5;letter-spacing:-.035em;margin-bottom:29px}.resume-intro>p:not(.eyebrow){font-size:12px;line-height:2.05;color:var(--muted)}.resume-footnote{display:block;font-size:10px;margin-top:45px;color:#8b8791}.experience-list{padding-top:7px}.experience-entry{border-top:1px solid var(--line)}.experience-toggle{width:100%;display:grid;grid-template-columns:90px 1fr 18px;align-items:start;gap:15px;background:none;text-align:left;padding:26px 0}.experience-toggle time{font-size:10px;line-height:1.9;color:var(--muted)}.experience-company h3{font-size:15px;font-weight:450;margin-bottom:10px;line-height:1.6}.experience-company>span{font-size:11px;color:#77717c}.experience-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s var(--ease)}.experience-body>div{overflow:hidden}.experience-body p{padding:0 25px 26px 105px;font-size:12px;color:#77717c;line-height:1.9}.is-expanded .experience-body{grid-template-rows:1fr}.education{border-top:1px solid var(--line);padding-top:30px;margin-top:30px;display:grid;grid-template-columns:90px 1fr;gap:15px;font-size:12px;line-height:1.8}.education>span{font-size:10px;color:var(--muted)}.education small{font-size:10px;color:var(--muted)}.contact{padding-top:110px;padding-bottom:0;border-top:1px solid var(--line)}.contact h2{font-size:clamp(40px,5.5vw,78px);line-height:1.35;font-weight:300;letter-spacing:-.045em}.contact-details{display:flex;gap:100px;margin-top:52px;font-size:14px}.contact-details span{display:block;font-size:11px;color:var(--muted);margin-top:12px}.contact footer{border-top:1px solid var(--line);margin-top:100px;padding:28px 0;display:flex;align-items:center;justify-content:space-between;font-size:10px;color:var(--muted)}.contact footer a{display:flex;gap:10px;align-items:center}.footer-note{font-size:10px}.menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#f8f7fa;z-index:100;padding:30px 7%;display:flex;flex-direction:column;overflow-y:auto}.menu-top{display:flex;justify-content:space-between;align-items:center;font-size:17px}.menu-top button,.modal-close{display:grid;place-items:center;background:transparent;width:44px;height:44px}.menu-overlay nav{margin:auto 0;padding:55px 0;max-width:1000px;width:100%;align-self:center}.menu-overlay nav a{display:grid;grid-template-columns:50px 1fr 200px 40px;align-items:center;gap:20px;padding:24px 0;border-bottom:1px solid #dfdce3;font-size:clamp(28px,4vw,52px);font-weight:300;transition:color .3s}.menu-overlay nav a:hover{color:#7852ab}.menu-index{font-size:10px;color:#8f8597}.menu-overlay nav em{font-family:"Instrument Serif",serif;font-style:normal;font-size:34px;color:#9a8fa5}.menu-overlay nav svg{font-size:34px}.menu-bottom{display:flex;justify-content:space-between;font-size:11px;padding-bottom:14px;color:#7a7380}.project-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150}.modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#211a2e46;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);width:100%;height:100%}.modal-panel{position:absolute;right:0;top:0;bottom:0;width:min(690px,100%);background:#fff;padding:84px 64px 40px;overflow-y:auto;overscroll-behavior:contain}.modal-close{position:absolute;right:24px;top:20px}.modal-panel h2{font-family:var(--serif);font-size:38px;font-weight:400;line-height:1.4;letter-spacing:-.04em}.modal-panel>.eyebrow{color:var(--muted);margin-bottom:35px}.modal-role{font-size:12px;color:var(--muted);margin-top:18px}.modal-description{font-size:14px;color:#65616a;line-height:2.1;margin-top:38px}.modal-subtitle{font-size:12px;font-weight:500;margin-top:35px}.modal-panel ul{list-style:none;padding:0;margin:14px 0 35px;font-size:13px;line-height:2.2;color:#77717c}.modal-panel li{border-bottom:1px solid var(--line);padding:8px 0}.modal-media{padding:50px 20px;background:#f5f3f7;text-align:center;font-size:12px;color:#8a8095}.modal-media p{font-size:11px;line-height:1.9;margin-top:12px}.text-button{display:inline-flex;align-items:center;gap:15px;background:none;padding:0;margin-top:32px;font-size:12px}@media (min-width:1500px){.hero-content{top:44%}.spectral-fold{width:min(1200px,87vw)}}@media (max-width:900px){.section-wrap{padding-left:6%;padding-right:6%}.hero h1{font-size:6vw}.hero-copy{font-size:12px}.section-heading{align-items:flex-start}.section-note{max-width:230px}.project-caption{flex-direction:column;gap:10px}.project-row{grid-template-columns:40px 1fr 160px 25px}.resume{gap:6%;grid-template-columns:.85fr 1.15fr}.experience-toggle{grid-template-columns:75px 1fr 18px;gap:10px}.experience-body p{padding-left:85px}.education{grid-template-columns:75px 1fr;gap:10px}.cover-bottom{font-size:8px}.cover-action{gap:4px}}@media (max-width:600px){html{scroll-padding-top:40px}.site-header{padding:20px 22px}.identity{font-size:16px;gap:0}.identity span{display:none}.hero{min-height:660px;max-height:950px}.hero-content{top:39%;left:15px;right:15px}.hero-eyebrow{font-size:9px;margin-bottom:25px}.hero h1{font-size:clamp(29px,8.1vw,47px);letter-spacing:-.06em}.hero-copy{font-size:11px;margin-top:22px;line-height:1.95;letter-spacing:0}.spectral-fold{width:660px;max-width:none;aspect-ratio:1.5;transform:translate(-4%) rotate(-12deg);flex:none}.hero-footer{left:24px;right:24px;bottom:27px;font-size:9px}.hero-footer nav{gap:16px}.hero-footer .scroll-link{left:49%}.section-wrap{padding-left:24px;padding-right:24px}.works{padding-top:88px;padding-bottom:80px}.section-heading{display:block;margin-bottom:35px}.section-heading .eyebrow{margin-bottom:20px}.section-heading h2{font-size:32px}.section-note{margin-top:22px;font-size:11px}.featured-projects{grid-template-columns:1fr;gap:38px}.project-card-1{padding-top:0}.project-cover{padding:19px;aspect-ratio:1.15}.cover-top,.cover-bottom{font-size:9px}.cover-number{font-size:108px}.project-caption{flex-direction:row;gap:12px;padding-top:17px}.project-caption h3{font-size:16px}.project-caption>span{font-size:9px}.more-projects{margin-top:45px}.project-row{grid-template-columns:28px 1fr 20px;gap:12px;padding:25px 0}.project-row h3{font-size:15px}.row-category{display:none}.row-id{font-size:20px}.resume{display:block;padding-top:73px;padding-bottom:78px}.resume-intro h2{font-size:35px;margin-bottom:20px}.resume-intro>p:not(.eyebrow){font-size:12px}.resume-footnote{margin-top:26px}.experience-list{margin-top:45px}.experience-toggle{grid-template-columns:73px 1fr 17px;padding:24px 0;gap:9px}.experience-company h3{font-size:14px}.experience-body p{padding-left:82px;padding-right:10px;font-size:11px}.contact{padding-top:74px}.contact h2{font-size:40px}.contact-details{gap:55px;margin-top:36px;font-size:13px}.contact footer{margin-top:70px;padding:25px 0;font-size:9px}.footer-note{display:none}.menu-overlay{padding:20px 24px}.menu-overlay nav a{grid-template-columns:25px 1fr 100px 24px;font-size:29px;gap:10px;padding:23px 0}.menu-overlay nav em{font-size:23px}.menu-overlay nav svg{font-size:24px}.menu-bottom{font-size:10px}.modal-panel{padding:82px 27px 32px}.modal-panel h2{font-size:32px}.modal-description{font-size:13px}.modal-panel>.eyebrow{font-size:9px}}.experience-toggle:focus-visible{outline-offset:-3px}@media (min-width:601px){.hero-content{top:37.5%}.hero h1{font-size:clamp(48px,6.7vw,102px)}.hero h1 .serif{font-weight:300}.spectral-fold{width:min(1240px,100vw)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition-duration:0s!important}.spectral-fold canvas{display:none}}.modal-gallery{display:grid;grid-template-columns:1fr;gap:18px;margin-top:12px}.modal-gallery--mobile{grid-template-columns:repeat(2,minmax(0,1fr))}.modal-gallery figure{margin:0;overflow:hidden;border:1px solid #e8e4ed;border-radius:10px;background:#f5f3f7;box-shadow:0 18px 45px -38px #2c173f}.modal-gallery img{width:100%;height:auto;display:block}.modal-gallery figcaption{padding:10px 12px;font:9px/1.4 Inter,PingFang SC,sans-serif;letter-spacing:.1em;color:#8b8292;background:#fff}@media (max-width:600px){.modal-gallery--mobile{grid-template-columns:1fr}.modal-gallery{gap:14px}.modal-gallery figcaption{padding:9px 10px}}.jack-site{--ink: #0c0c0c;--paper: #f1f1ed;--muted: #9b9ba0;--line: rgba(255, 255, 255, .18);--silver: linear-gradient(180deg, #f2f4f7 2%, #aab3bd 44%, #666c75 88%);min-width:320px;overflow:clip;background:var(--ink);color:#fff;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;letter-spacing:-.02em}.jack-site *,.jack-site *:before,.jack-site *:after{box-sizing:border-box}.jack-site a{color:inherit;text-decoration:none}.jack-site button{font:inherit}.jack-skip{position:fixed;left:1rem;top:-5rem;z-index:999;padding:.8rem 1rem;border-radius:999px;background:#fff;color:#111!important}.jack-skip:focus{top:1rem}.jack-hero{position:relative;min-height:100svh;overflow:hidden;padding:1.5rem 2rem 2rem;isolation:isolate}.jack-hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;pointer-events:none;background:radial-gradient(circle at 52% 44%,rgba(64,67,77,.38),transparent 30%),radial-gradient(circle at 73% 80%,rgba(255,67,143,.08),transparent 24%)}.jack-nav{display:flex;align-items:flex-start;justify-content:space-between;position:relative;z-index:5;font-size:.67rem;letter-spacing:.11em;text-transform:uppercase}.jack-identity{display:grid;gap:.2rem}.jack-identity strong{font-size:.82rem;letter-spacing:.05em}.jack-identity span{color:#8f8f94}.jack-nav nav{display:flex;gap:clamp(1rem,3vw,3rem)}.jack-nav nav a{position:relative;padding-bottom:.4rem}.jack-nav nav a:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:#fff;transition:right .3s ease}.jack-nav nav a:hover:after,.jack-nav nav a:focus-visible:after{right:0}.jack-display{position:absolute;inset:50% 0 auto;z-index:-1;width:100%;margin:0;transform:translateY(-54%);text-align:center;font-family:Arial Black,Helvetica Neue,sans-serif;font-size:clamp(5rem,13.7vw,13.2rem);line-height:.72;letter-spacing:-.09em;text-transform:uppercase;white-space:nowrap;color:#bac1c8;background:var(--silver);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 14px 36px rgba(0,0,0,.65))}.jack-display span{display:block}.jack-portrait-stage{position:absolute;top:13%;right:0;bottom:0;left:0;z-index:2;display:grid;place-items:center;pointer-events:none}.jack-portrait-wrap{position:relative;width:min(45vw,600px);aspect-ratio:1;display:grid;place-items:center;pointer-events:auto;transform-style:preserve-3d;perspective:1000px;cursor:crosshair}.jack-portrait-disc{position:absolute;top:0;right:0;bottom:0;left:0;overflow:visible;background:transparent;transform:translateZ(34px)}.jack-portrait-disc img{width:100%;height:100%;display:block;object-fit:contain;filter:drop-shadow(0 38px 34px rgba(0,0,0,.72))}.jack-hero-intro{position:absolute;left:2rem;bottom:2rem;z-index:5;margin:0;max-width:24rem;font-size:clamp(.72rem,1.15vw,.9rem);line-height:1.6;letter-spacing:.02em;text-transform:uppercase}.jack-hero-cta{position:absolute;right:2rem;bottom:2rem;z-index:5}.jack-contact-button{display:inline-flex;align-items:center;justify-content:center;gap:.7rem;min-width:8.8rem;padding:.9rem 1.25rem;border:1px solid rgba(255,255,255,.15);border-radius:999px;background:linear-gradient(115deg,#ff3c91 2%,#ff7450 94%);color:#fff;font-size:.78rem;font-weight:700;letter-spacing:.03em;box-shadow:0 12px 35px #ff448133;transition:transform .3s ease,box-shadow .3s ease}.jack-contact-button:hover,.jack-contact-button:focus-visible{transform:translateY(-3px);box-shadow:0 18px 42px #ff448157}.jack-scroll{position:absolute;left:50%;bottom:2.35rem;z-index:5;display:grid;place-items:center;width:2.5rem;height:2.5rem;margin-left:-1.25rem;border:1px solid var(--line);border-radius:50%}.jack-marquee{padding:7rem 0 9rem;background:#090909}.jack-marquee-row{display:flex;width:max-content;gap:1rem;will-change:transform}.jack-marquee-tile{position:relative;width:clamp(250px,27vw,430px);aspect-ratio:1.55;margin:0;overflow:hidden;border-radius:.55rem;background:#1d1d1f}.jack-marquee-tile img{width:100%;height:100%;display:block;object-fit:cover;object-position:center top;filter:saturate(.78) contrast(1.04) brightness(.83);transition:transform .6s ease,filter .5s ease}.jack-marquee-tile:hover img{transform:scale(1.035);filter:saturate(1) contrast(1.02) brightness(.96)}.jack-marquee-tile figcaption{position:absolute;inset:auto .7rem .65rem;display:flex;justify-content:space-between;padding:.55rem .65rem;border-radius:.3rem;background:#090909ab;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:.58rem;letter-spacing:.13em;text-transform:uppercase}.jack-marquee-tile figcaption em{font-style:normal;color:#aaa}.jack-about{position:relative;min-height:110vh;padding:8rem 5vw 10rem;display:flex;flex-direction:column;justify-content:center}.jack-kicker{margin:0 0 2.5rem;font-size:.68rem;letter-spacing:.16em;color:#8d8d92}.jack-about h2,.jack-section-head h2,.jack-projects-head h2,.jack-footer h2{margin:0;font-family:Arial Black,Helvetica Neue,sans-serif;font-size:clamp(5rem,15vw,14rem);line-height:.78;letter-spacing:-.09em;background:var(--silver);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.jack-about-copy{max-width:1220px;margin:5rem auto 4rem;font-size:clamp(2rem,4.3vw,4.4rem);line-height:1.26;letter-spacing:-.055em}.jack-about-copy span{display:inline}.jack-about-meta{display:grid;grid-template-columns:1fr 1fr auto;gap:2rem;align-items:end;border-top:1px solid var(--line);padding-top:1.35rem;color:#b1b1b5;font-size:.73rem;letter-spacing:.06em;text-transform:uppercase}.jack-services{position:relative;z-index:2;margin-top:-1px;padding:8rem 4vw 10rem;border-radius:4.5rem 4.5rem 0 0;background:var(--paper);color:#111}.jack-section-head{display:grid;grid-template-columns:7rem 1fr minmax(18rem,27rem);align-items:end;gap:2rem;padding-bottom:5rem}.jack-section-head>span,.jack-projects-head>span,.jack-experience-title>span{align-self:start;font-size:.65rem;letter-spacing:.15em;color:#747479}.jack-section-head h2{font-size:clamp(4.2rem,13vw,12rem);background:linear-gradient(180deg,#1d1e20,#777c80);-webkit-background-clip:text;background-clip:text}.jack-section-head>p{margin:0;max-width:26rem;font-size:1rem;line-height:1.6;color:#59595d}.jack-service-list{border-top:1px solid #c9c9c4}.jack-service-list article{display:grid;grid-template-columns:7rem minmax(15rem,1fr) minmax(18rem,36rem) auto;gap:2rem;align-items:center;min-height:9rem;border-bottom:1px solid #c9c9c4}.jack-service-list article>span{font-size:.73rem;color:#8a8a8d}.jack-service-list h3{margin:0;font-size:clamp(1.8rem,3vw,3.3rem);letter-spacing:-.06em;font-weight:520}.jack-service-list p{margin:0;max-width:32rem;color:#66666a;line-height:1.65}.jack-projects{position:relative;z-index:3;margin-top:-4.5rem;padding:9rem 4vw 12rem;border-radius:4.5rem 4.5rem 0 0;background:#0c0c0c}.jack-projects-head{display:grid;grid-template-columns:8rem 1fr;gap:1rem 2rem;margin-bottom:7rem}.jack-projects-head h2{font-size:clamp(4.5rem,14vw,13rem)}.jack-projects-head>p{grid-column:2;max-width:38rem;margin:1.5rem 0 0;color:#9c9ca2;line-height:1.65}.jack-project-stack{max-width:1380px;margin:0 auto}.jack-project-card{position:sticky;min-height:76vh;margin-bottom:12vh;padding:clamp(1.5rem,3vw,3rem);display:grid;grid-template-columns:minmax(16rem,.72fr) minmax(24rem,1.28fr);gap:clamp(2rem,5vw,5.5rem);overflow:hidden;border-radius:2rem;color:#131315;transform-origin:top center;box-shadow:0 35px 75px #0000006b}.jack-project-card.tone-1{background:#dcd9f8}.jack-project-card.tone-2{background:#efefea}.jack-project-card.tone-3{background:#ddd5ce}.jack-project-copy{display:flex;flex-direction:column;min-height:100%}.jack-project-copy>p{display:flex;gap:1.1rem;margin:0;color:#5f5f65;font-size:.7rem;letter-spacing:.09em;text-transform:uppercase}.jack-project-copy>p span{color:#151519;font-weight:700}.jack-project-copy h3{max-width:9em;margin:auto 0 2.2rem;font-size:clamp(2.7rem,5.4vw,6.2rem);line-height:.95;letter-spacing:-.075em;font-weight:560}.jack-project-meta{display:flex;flex-wrap:wrap;gap:1rem 2rem;padding:1.1rem 0;border-top:1px solid rgba(0,0,0,.18);font-size:.72rem;color:#5d5d63}.jack-project-copy button{display:inline-flex;width:fit-content;align-items:center;gap:.6rem;margin-top:1rem;padding:.75rem 1rem;border:1px solid rgba(0,0,0,.42);border-radius:999px;background:transparent;cursor:pointer;transition:background .25s ease,color .25s ease}.jack-project-copy button:hover,.jack-project-copy button:focus-visible{background:#111;color:#fff}.jack-project-collage{position:relative;min-height:62vh}.jack-project-collage figure{position:absolute;margin:0;overflow:hidden;border-radius:1rem;box-shadow:0 18px 45px #19191f30}.jack-project-collage .media-1{top:0;right:10%;bottom:20%;left:0}.jack-project-collage .media-2{width:45%;height:44%;right:0;bottom:0;transform:rotate(3deg)}.jack-project-collage .media-3{width:34%;height:31%;right:1%;top:2%;transform:rotate(-3deg)}.jack-project-collage img{width:100%;height:100%;display:block;object-fit:cover}.jack-project-collage figcaption{position:absolute;left:.75rem;bottom:.7rem;padding:.5rem .65rem;border-radius:.3rem;background:#0a0a0ab3;color:#fff;font-size:.58rem;letter-spacing:.12em}.jack-project-card.is-mobile .jack-project-collage figure{background:#ffffffd1}.jack-project-card.is-mobile .jack-project-collage .media-1{top:0;right:51%;bottom:0;left:1%}.jack-project-card.is-mobile .jack-project-collage .media-2{width:39%;height:80%;right:14%;bottom:0;transform:rotate(3deg)}.jack-project-card.is-mobile .jack-project-collage .media-3{width:32%;height:64%;right:0;top:2%;transform:rotate(-3deg)}.jack-project-card.is-mobile .jack-project-collage img{object-fit:contain;object-position:center top}.jack-more-works{max-width:1380px;margin:12rem auto 0}.jack-more-head{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--line)}.jack-more-head span{font-size:.68rem;letter-spacing:.16em;color:#a3a3a9}.jack-more-head p{margin:0;color:#77777d;font-size:.75rem}.jack-more-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.jack-more-grid article{min-width:0}.jack-more-grid button{position:relative;width:100%;aspect-ratio:1.35;display:block;overflow:hidden;padding:0;border:0;border-radius:1.4rem;background:#19191c;color:#fff;text-align:left;cursor:pointer}.jack-more-grid button>img{width:100%;height:100%;display:block;object-fit:cover;object-position:center top;transition:transform .65s ease,filter .5s ease}.jack-more-grid article.is-mobile button>img{padding:2rem 15%;object-fit:contain;background:#1b1b1e}.jack-more-grid button:hover>img,.jack-more-grid button:focus-visible>img{transform:scale(1.035);filter:brightness(.8)}.jack-more-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(1.2rem,3vw,2.2rem);background:linear-gradient(180deg,transparent 32%,rgba(8,8,10,.86) 100%)}.jack-more-overlay em{margin-bottom:auto;font-style:normal;font-size:.61rem;letter-spacing:.12em;text-transform:uppercase;color:#ffffffbd}.jack-more-overlay strong{max-width:11em;font-size:clamp(1.8rem,3.5vw,3.6rem);line-height:.96;letter-spacing:-.065em;font-weight:540}.jack-more-overlay>span{display:flex;align-items:center;gap:.55rem;margin-top:1.25rem;font-size:.72rem}.jack-experience{padding:10rem 4vw;display:grid;grid-template-columns:minmax(15rem,.65fr) minmax(34rem,1.35fr);gap:4rem;border-top:1px solid var(--line)}.jack-experience-title{position:sticky;top:5rem;align-self:start}.jack-experience-title h2{margin:1.4rem 0 0;font-size:clamp(3rem,6vw,6.5rem);letter-spacing:-.07em;font-weight:520}.jack-experience-list{border-top:1px solid var(--line)}.jack-experience-list article{display:grid;grid-template-columns:8rem 1.2fr .7fr;gap:1rem 2rem;padding:2rem 0;border-bottom:1px solid var(--line)}.jack-experience-list time,.jack-experience-list strong{font-size:.72rem;font-weight:500;color:#9999a0}.jack-experience-list h3{margin:0;font-size:1.25rem;font-weight:520}.jack-experience-list p{grid-column:2 / -1;margin:.5rem 0 0;max-width:42rem;color:#9e9ea3;line-height:1.65}.jack-education{grid-column:2;display:grid;grid-template-columns:8rem 1fr 1fr;gap:2rem;padding-top:2rem}.jack-education span{color:#77777d;font-size:.66rem;letter-spacing:.15em}.jack-education p{margin:0;color:#9a9aa0}.jack-footer{padding:10rem 4vw 2rem;background:#e9e9e4;color:#111;border-radius:4.5rem 4.5rem 0 0}.jack-footer>p{margin:0 0 2.5rem;font-size:.67rem;letter-spacing:.15em;color:#727277}.jack-footer h2{font-size:clamp(6rem,19vw,18rem);background:linear-gradient(180deg,#161719,#8b9196 94%);-webkit-background-clip:text;background-clip:text}.jack-footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:2rem;margin-top:6rem;border-top:1px solid #bdbdb9;padding-top:1.5rem}.jack-footer-grid>div{display:grid;align-content:start;gap:.8rem}.jack-footer-grid>div>span:first-child{font-size:.62rem;letter-spacing:.15em;color:#76767a}.jack-footer-grid a,.jack-footer-grid p{display:flex;align-items:center;gap:.5rem;margin:0;font-size:1rem}.jack-unconfirmed{font-size:.67rem;color:#8f8f92}.jack-footer-bottom{display:flex;justify-content:space-between;margin-top:8rem;padding-top:1.2rem;border-top:1px solid #bdbdb9;font-size:.66rem;letter-spacing:.1em}.jack-drawer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:flex;justify-content:flex-end}.jack-drawer-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:0;background:#000000ad;cursor:pointer;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.jack-drawer>article{position:relative;z-index:1;width:min(720px,90vw);height:100%;overflow:auto;padding:clamp(2rem,5vw,5rem);background:#efefea;color:#111;box-shadow:-25px 0 70px #00000059}.jack-drawer-close{position:absolute;right:2rem;top:2rem;display:grid;place-items:center;width:2.8rem;height:2.8rem;border:1px solid #aaa;border-radius:50%;background:transparent;cursor:pointer}.jack-drawer>article>p:first-of-type{margin:0 0 4rem;font-size:.66rem;letter-spacing:.14em;color:#78787c}.jack-drawer h2{max-width:8em;margin:0 0 1rem;font-size:clamp(3rem,7vw,6.5rem);line-height:.92;letter-spacing:-.075em;font-weight:520}.jack-drawer>article>strong{color:#67676d;font-size:.82rem}.jack-drawer-description{margin:4rem 0;font-size:1.25rem;line-height:1.75}.jack-drawer h3{margin:0 0 1rem;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}.jack-drawer ul{padding:0;margin:0;list-style:none;border-top:1px solid #bbb}.jack-drawer li{padding:1rem 0;border-bottom:1px solid #bbb}.jack-drawer-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:4rem}.jack-drawer-gallery.is-desktop,.jack-drawer-gallery.is-dashboard{grid-template-columns:1fr}.jack-drawer-gallery figure{margin:0;overflow:hidden;border-radius:.9rem;background:#dadad5;box-shadow:0 14px 28px #0000001a}.jack-drawer-gallery img{width:100%;height:auto;display:block}.jack-drawer-gallery figcaption{padding:.8rem;border-top:1px solid rgba(0,0,0,.1);color:#727278;font-size:.58rem;letter-spacing:.08em;text-transform:uppercase}@media (max-width: 900px){.jack-hero{min-height:760px;padding:1.15rem}.jack-nav{align-items:center}.jack-identity span{display:none}.jack-nav nav{gap:.8rem;font-size:.55rem}.jack-display{inset:45% 0 auto;font-size:17.7vw;line-height:.76}.jack-portrait-stage{top:13%;right:0;bottom:5%;left:0}.jack-portrait-wrap{width:min(82vw,440px)}.jack-hero-intro{left:1.15rem;bottom:1.2rem;max-width:14rem;font-size:.62rem}.jack-hero-cta{right:1.15rem;bottom:1.1rem}.jack-contact-button{min-width:7.2rem;padding:.78rem 1rem}.jack-scroll{display:none}.jack-marquee{padding:5rem 0 6rem}.jack-marquee-tile{width:240px}.jack-about{min-height:auto;padding:7rem 1.25rem}.jack-about h2{font-size:20vw}.jack-about-copy{margin:4rem 0;font-size:clamp(1.8rem,7.7vw,3rem)}.jack-about-meta{grid-template-columns:1fr 1fr}.jack-about-meta .jack-contact-button{grid-column:1 / -1;margin-top:1rem}.jack-services,.jack-projects,.jack-footer{border-radius:2.5rem 2.5rem 0 0}.jack-services{padding:6rem 1.25rem 8rem}.jack-section-head{display:block;padding-bottom:3.5rem}.jack-section-head h2{margin:1.5rem 0 2rem;font-size:18.5vw}.jack-service-list article{grid-template-columns:3rem 1fr auto;gap:1rem;padding:1.5rem 0}.jack-service-list article>p{grid-column:2 / -1}.jack-service-list h3{font-size:1.75rem}.jack-projects{padding:7rem 1.1rem 8rem}.jack-projects-head{display:block;margin-bottom:4rem}.jack-projects-head h2{margin:1.3rem 0 2rem;font-size:19vw}.jack-projects-head>p{margin:0}.jack-project-card{position:relative;top:auto!important;min-height:auto;margin-bottom:2rem;padding:1.25rem;display:flex;flex-direction:column;gap:2rem;border-radius:1.4rem}.jack-project-copy{min-height:24rem}.jack-project-copy h3{margin:auto 0 1.5rem;font-size:2.8rem}.jack-project-collage{min-height:26rem}.jack-more-works{margin-top:7rem}.jack-more-grid{grid-template-columns:1fr}.jack-more-grid button{aspect-ratio:1.18}.jack-experience{padding:7rem 1.25rem;display:block}.jack-experience-title{position:relative;top:auto;margin-bottom:4rem}.jack-experience-list article{grid-template-columns:1fr 1fr}.jack-experience-list h3{grid-column:1 / -1;grid-row:2}.jack-experience-list p{grid-column:1 / -1}.jack-education{display:grid;grid-template-columns:1fr;gap:.65rem;margin-top:2rem}.jack-footer{padding:7rem 1.25rem 1.5rem}.jack-footer h2{font-size:24vw}.jack-footer-grid{grid-template-columns:1fr;margin-top:4rem}.jack-footer-grid>div{padding-bottom:1.5rem;border-bottom:1px solid #c9c9c5}.jack-footer-bottom{margin-top:5rem}}@media (max-width: 520px){.jack-nav nav{gap:.58rem}.jack-nav nav a:nth-child(2){display:none}.jack-display{top:42%}.jack-portrait-wrap{width:86vw}.jack-hero-intro{width:13rem}.jack-hero-cta .jack-contact-button{width:3rem;min-width:3rem;height:3rem;padding:0;font-size:0}.jack-hero-cta .jack-contact-button svg{width:17px}.jack-about-meta{grid-template-columns:1fr}.jack-about-meta .jack-contact-button{grid-column:auto}.jack-project-collage{min-height:21rem}.jack-project-card.is-mobile .jack-project-collage .media-1{top:0;right:49%;bottom:0;left:0}.jack-project-card.is-mobile .jack-project-collage .media-2{right:9%}.jack-project-card.is-mobile .jack-project-collage .media-3{right:-2%}.jack-more-head{display:block}.jack-more-head p{margin-top:.7rem}.jack-more-grid article.is-mobile button>img{padding:1.4rem 13%}.jack-more-overlay strong{font-size:2rem}.jack-drawer-gallery{grid-template-columns:1fr}.jack-drawer>article{width:100%;padding:2rem 1.25rem}.jack-drawer-close{right:1.2rem;top:1.2rem}.jack-footer-bottom{align-items:flex-end;gap:1rem}}@media (prefers-reduced-motion: reduce){.jack-site *,.jack-site *:before,.jack-site *:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
