@font-face{font-family:Grotesk;src:local("Helvetica Neue");font-display:swap}
@font-face{font-family:BodoniName;src:url("assets/fonts/BodoniModa.ttf") format("truetype");font-style:normal;font-weight:400 900;font-display:swap}
@font-face{font-family:BodoniName;src:url("assets/fonts/BodoniModa-Italic.ttf") format("truetype");font-style:italic;font-weight:400 900;font-display:swap}
html,body{overflow-x:clip}
:root{--ink:#111214;--paper:#f5f6f8;--muted:#afb4bc;--rule:#363b42;--accent:#c8aa65;--surface:#1a1d21;--surface-light:#e4e7eb;--body:#bec3ca;--progress:0;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--ink);color:var(--paper);font-family:Grotesk,Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}img{display:block;max-width:100%;height:auto}figure,p{margin:0}.shell{width:calc(100% - 104px);max-width:1480px;margin-inline:auto}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;padding:12px;background:var(--paper);color:var(--ink)}.skip-link:focus{top:15px}.reading-progress{position:fixed;z-index:50;top:0;left:0;height:2px;width:100%;background:var(--accent);transform:scaleX(var(--progress));transform-origin:left;pointer-events:none}.masthead{position:relative;z-index:10;display:flex;align-items:center;padding:14px 44px;border-bottom:1px solid var(--rule);gap:35px;background:var(--ink)}.identity{display:flex;align-items:center;gap:13px}.identity img{width:48px;height:48px;object-fit:contain;background:transparent}.identity>span{font-family:BodoniName,Georgia,serif;font-size:12px;letter-spacing:.06em;line-height:1.35}.masthead nav{display:flex;align-items:center;gap:28px;margin-left:auto;font-size:12px}.masthead nav a{padding:10px 0}.masthead nav a:hover{color:var(--accent)}.nav-tools{display:flex;gap:7px}.nav-tools button{display:grid;place-items:center;width:34px;height:34px;background:transparent;border:1px solid var(--rule);border-radius:50%;color:var(--paper);font-size:11px;cursor:pointer}.nav-tools button:hover{border-color:var(--accent)}.hero{position:relative;display:grid;grid-template-columns:1.04fr 1fr;column-gap:2%;padding-top:75px;min-height:830px}.eyebrow{display:block;font:10px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.1em;color:var(--muted);text-transform:uppercase}.hero-copy{z-index:2;padding-top:25px;align-self:start}.hero h1{font-size:clamp(65px,8.9vw,143px);line-height:.88;letter-spacing:-.075em;font-weight:500;margin:31px 0 35px}.name-line{display:block;transform-origin:left bottom;animation:name-entry .7s cubic-bezier(.16,1,.3,1) both}.name-line:nth-child(2){animation-delay:.13s}.period{color:var(--accent)}.hero-statement{font:italic clamp(22px,2.4vw,36px)/1.3 Georgia,serif;letter-spacing:-.03em;max-width:500px}.hero-description{font-size:14px;line-height:1.7;color:var(--muted);max-width:340px;margin-top:20px}.text-link{display:flex;align-items:center;justify-content:space-between;gap:35px;border-bottom:1px solid var(--rule);width:max-content;min-width:220px;padding:16px 0;margin-top:24px;font-size:12px}.text-link>span:last-child{font-size:23px;color:var(--accent);transition:transform .25s ease}.text-link:hover>span:last-child{transform:translate(3px,3px)}.location{font:8px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em;color:var(--muted);margin-top:42px;max-width:340px}.hero-stage{position:relative;min-width:0;height:770px;perspective:1200px;--drift:0px}.hero-stage .work-card{position:absolute;transform-origin:50% 65%;will-change:transform}.hero-stage .work-01{width:69%;left:0;top:0;z-index:1;transform:translate3d(0,calc(var(--drift) * -.35),0) rotate(-6deg);animation:photo-one-entry 1.4s cubic-bezier(.16,1,.3,1) both}.hero-stage .work-02{width:48%;right:-1%;top:220px;z-index:2;transform:translate3d(0,var(--drift),0) rotate(6deg);animation:photo-two-entry 1.5s .15s cubic-bezier(.16,1,.3,1) both}.hero-stage .image-link{box-shadow:0 28px 70px #0008}.hero-stage figcaption{font-size:8px;line-height:1.5;display:block}.hero-stage figcaption span{display:block;text-align:left!important}.hero-stage .side-note{display:none}.hero-bottom{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0;border-top:1px solid var(--rule);font:9px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.04em;color:var(--muted)}.discipline-ribbon{overflow:hidden;border-block:1px solid var(--rule);padding:25px 0;color:var(--accent);white-space:nowrap;margin-top:25px}.discipline-ribbon div{font-size:clamp(28px,4vw,65px);letter-spacing:-.05em;width:max-content;animation:ribbon 32s linear infinite}.discipline-ribbon i{font-style:normal;display:inline-block;margin-inline:45px;font-size:.65em}.chapter{padding-top:125px}.section-head{display:grid;grid-template-columns:100px 1.4fr 1fr;gap:24px;align-items:start;padding-top:26px;border-top:1px solid var(--rule);margin-bottom:75px}.section-head>.eyebrow{padding-top:7px;font-size:9px}.section-head>p{color:var(--muted);max-width:250px;justify-self:end;font-size:13px;line-height:1.7;margin-top:8px}h2{font-size:clamp(40px,5vw,76px);line-height:1.04;font-weight:400;letter-spacing:-.055em;margin:0}h2 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.06em}figure{min-width:0}.image-link{display:block;position:relative;overflow:hidden;background:var(--surface);cursor:zoom-in}.image-link img{width:100%;transition:transform .7s cubic-bezier(.2,.65,.3,1)}.image-link:hover img{transform:scale(1.025)}.image-link::after{content:'↗';position:absolute;right:14px;bottom:14px;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#111214d9;border:1px solid #eeeeea40;color:var(--paper);font-size:17px;opacity:0;transform:translateY(8px);transition:opacity .25s,transform .25s}.image-link:hover::after,.image-link:focus-visible::after{opacity:1;transform:none}figcaption{display:flex;justify-content:space-between;gap:10px;margin-top:14px;font:9px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;text-transform:uppercase;color:var(--muted);letter-spacing:.025em}figcaption span:last-child{text-align:right}.colour-grid{display:grid;grid-template-columns:1.1fr .78fr;gap:90px 12%;align-items:start}.work-03{width:100%}.work-04{padding-top:35%}.work-05{width:84%;margin-left:10%;margin-top:-30px}.work-06{padding-top:25%;width:100%}.perspective-section{margin-top:140px;padding-top:65px;background:var(--surface);padding-bottom:120px}.perspective-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px;align-items:start}.work-08{padding-top:25%}.work-09{padding-top:50%}.perspective-grid figcaption{display:block}.perspective-grid figcaption span{display:block;text-align:left;margin-top:4px}.presence-section{background:var(--surface-light);color:var(--ink);--accent:#7a6028;--body:#414852;padding:85px 0 115px;--muted:#5e646e;--rule:#b5bcc6}.presence-section .work-10{max-width:1120px;margin-inline:auto}.presence-pair{display:grid;grid-template-columns:1fr .9fr;align-items:start;gap:15%;margin-top:95px;padding-inline:8%}.work-12{padding-top:37%}.about{display:grid;grid-template-columns:1fr 1.12fr;gap:10%;padding-top:125px;padding-bottom:110px}.about .section-head{display:block;border:0;margin:0;padding:0}.about .section-head .eyebrow{margin-bottom:35px}.about h2{font-size:clamp(42px,5vw,78px)}.about-body p{font-size:15px;line-height:1.85;color:var(--body);margin-bottom:24px;max-width:610px}.about-body .about-lead{font-size:clamp(21px,2.3vw,32px);line-height:1.4;letter-spacing:-.025em;color:var(--paper);margin-bottom:35px}.practice-list{border-top:1px solid var(--rule);margin:40px 0 20px}.practice-list>div{display:flex;align-items:center;gap:22px;padding:17px 0;border-bottom:1px solid var(--rule);font-size:13px}.practice-list>div>span:first-child{color:var(--accent);font:10px monospace}.cv-band{border-block:1px solid var(--rule);padding:45px 0 55px;display:grid;grid-template-columns:1.2fr 1fr;gap:15%}.cv-band .eyebrow{margin-bottom:25px}.cv-band h2{font-size:clamp(33px,3.8vw,56px)}.cv-band>div:last-child{align-self:end}.cv-band p{font-size:14px;line-height:1.7;color:var(--muted);max-width:400px}.pill-link{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:16px 22px;border:1px solid var(--rule);border-radius:50px;margin-top:25px;font-size:12px;max-width:320px}.pill-link:hover{border-color:var(--accent)}.pill-link>span:last-child{color:var(--accent);font-size:18px}.contact{padding-top:125px;padding-bottom:100px}.contact>.eyebrow{margin-bottom:35px}.contact h2{font-size:clamp(52px,8vw,120px);max-width:1200px}.contact-bottom{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-top:65px}.email{font-size:clamp(18px,2.4vw,35px);letter-spacing:-.04em;word-break:break-word}.email span{color:var(--accent);display:inline-block;padding-left:20px}.email:hover{color:var(--accent)}.social-links{display:flex;gap:28px;font-size:12px}.social-links a:hover{color:var(--accent)}.contact-location{margin-top:28px;font:10px/1.6 monospace;color:var(--muted)}footer{display:flex;align-items:center;justify-content:space-between;gap:35px;padding-block:25px;border-top:1px solid var(--rule);font:9px/1.5 monospace;color:var(--muted)}.footer-identity{display:flex;gap:15px;align-items:center;font-size:8px;letter-spacing:.05em}.footer-identity img{width:38px;height:38px;object-fit:contain}dialog{position:fixed;inset:0;margin:auto;border:0;background:var(--ink);color:var(--paper);padding:20px 30px;max-width:100vw;width:100vw;height:100dvh;max-height:100dvh}dialog[open]{display:flex;flex-direction:column}dialog::backdrop{background:#000e}dialog #viewer-image{height:calc(100dvh - 130px);width:100%;object-fit:contain;flex:1;min-height:0}.viewer-top,.viewer-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:45px;font-size:12px}.viewer-top p{margin:0;color:var(--muted)}dialog button{background:transparent;color:var(--paper);border:1px solid var(--rule);padding:10px 16px;cursor:pointer;font-size:11px}dialog button:hover{border-color:var(--paper)}#viewer-counter{font:10px monospace;color:var(--muted)}
@keyframes name-entry{from{opacity:.85;transform:translateY(18px) rotate(1deg)}to{opacity:1;transform:none}}@keyframes photo-one-entry{from{opacity:0;transform:translate3d(30px,70px,0) rotate(-13deg)}to{opacity:1;transform:translate3d(0,calc(var(--drift) * -.35),0) rotate(-6deg)}}@keyframes photo-two-entry{from{opacity:0;transform:translate3d(15px,100px,0) rotate(15deg)}to{opacity:1;transform:translate3d(0,var(--drift),0) rotate(6deg)}}@keyframes ribbon{to{transform:translateX(-50%)}}
body.motion-paused *,body.motion-paused *::before,body.motion-paused *::after{animation:none!important;transition:none!important}body.motion-paused .hero-stage{--drift:0px!important}
@media(min-width:1700px){.hero{min-height:960px}.hero-stage{height:860px}.hero-stage .work-02{top:260px}.hero-copy{padding-top:65px}}
@media(max-width:1050px){.shell{width:calc(100% - 64px)}.masthead{padding-inline:26px;gap:22px}.masthead nav{gap:20px}.hero{min-height:780px;padding-top:60px}.hero-stage{height:620px}.hero-stage .work-02{top:190px}.hero h1{font-size:8.6vw}.hero-description{max-width:290px}.section-head{grid-template-columns:70px 1.2fr 1fr;gap:20px}.colour-grid{gap:70px 10%}.about{gap:8%}.contact-bottom{align-items:start;flex-direction:column}}
@media(max-width:760px){.shell{width:calc(100% - 40px)}.masthead{padding:12px 16px;gap:12px}.identity img{width:36px;height:36px}.identity>span{font-size:9px}.identity{gap:8px}.masthead nav{gap:16px;font-size:10px}.masthead nav a[href="#about"]{display:none}.nav-tools{gap:5px}.nav-tools button{width:28px;height:28px;font-size:10px}.hero{grid-template-columns:1fr;padding-top:40px;min-height:0}.hero-copy{padding-top:0}.hero h1{font-size:16.8vw;max-width:650px;line-height:.85;margin:26px 0}.hero-statement{font-size:27px}.hero-description{max-width:350px;font-size:13px}.hero-copy .text-link{margin-top:14px}.location{margin-top:23px}.hero-stage{height:700px;margin-top:48px;max-width:650px;width:100%;margin-inline:auto}.hero-stage .work-01{width:61%;left:5%;top:0}.hero-stage .work-02{width:43%;right:3%;top:190px}.hero-bottom{font-size:8px;margin-top:10px}.hero-bottom>span:last-child{max-width:160px;text-align:right}.discipline-ribbon{padding:19px 0;margin-top:15px}.discipline-ribbon div{font-size:37px}.discipline-ribbon i{margin-inline:25px}.chapter{padding-top:80px}.section-head{grid-template-columns:45px 1fr;gap:15px;margin-bottom:45px;padding-top:20px}.section-head>.eyebrow{font-size:8px}.section-head>p{grid-column:2;justify-self:start;margin-top:3px;max-width:270px;font-size:12px}h2{font-size:48px}.colour-grid{gap:55px 9%}.work-05{width:100%;margin-left:0;margin-top:-15px}.work-06{padding-top:20%}.colour-grid figcaption{display:block;font-size:8px}.colour-grid figcaption span{display:block;text-align:left}.perspective-section{margin-top:90px;padding-top:35px;padding-bottom:65px}.perspective-grid{gap:16px}.perspective-grid figcaption{font-size:7px}.presence-section{padding:55px 0 70px}.presence-pair{padding:0;gap:10%;margin-top:55px}.presence-pair figcaption{display:block;font-size:8px}.presence-pair figcaption span{display:block;text-align:left}.about{grid-template-columns:1fr;gap:40px;padding-top:80px;padding-bottom:70px}.about .section-head .eyebrow{margin-bottom:22px}.about h2{font-size:52px}.about-body .about-lead{font-size:24px}.about-body p{font-size:14px}.cv-band{gap:25px}.cv-band h2{font-size:36px}.cv-band p{font-size:12px}.contact{padding-top:80px;padding-bottom:65px}.contact h2{font-size:64px}.contact-bottom{gap:30px;margin-top:40px}.email{font-size:25px}.social-links{font-size:12px}.footer-identity{font-size:7px;gap:8px}.footer-identity img{width:30px;height:30px}footer{gap:15px;font-size:8px}dialog{padding:10px 14px}.viewer-top{font-size:10px}dialog button{padding:9px 10px}}
@media(max-width:480px){.masthead nav{gap:13px}.identity>span{display:none}.hero h1{font-size:18.7vw}.hero-stage{height:510px}.hero-stage .work-02{top:145px}.hero-bottom{gap:18px}.hero-bottom>span:first-child{max-width:140px}.colour-grid{grid-template-columns:1fr;gap:45px}.work-03{width:90%}.work-04{width:73%;padding:0;margin-left:auto}.work-05{width:83%;margin:0}.work-06{width:77%;padding:0;margin-left:auto}.perspective-grid{grid-template-columns:1fr;gap:40px}.perspective-grid .work-card{width:84%;padding:0}.perspective-grid .work-08{margin-left:auto}.perspective-grid figcaption{display:flex;font-size:8px}.perspective-grid figcaption span{margin:0;max-width:60%}.perspective-grid figcaption span:last-child{text-align:right}.presence-pair{grid-template-columns:1fr;gap:40px}.presence-pair .work-11{width:82%}.presence-pair .work-12{width:82%;padding:0;margin-left:auto}.cv-band{grid-template-columns:1fr;gap:30px}.cv-band p{font-size:14px}.cv-band h2{font-size:43px}.contact h2{font-size:51px}.email{font-size:22px}.email span{padding-left:5px}footer{flex-wrap:wrap}.footer-identity{margin-right:auto}footer>span{display:none}.section-head{grid-template-columns:37px 1fr;gap:10px}h2{font-size:42px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.hero-stage{--drift:0px!important}}
.hero h1{font-family:BodoniName,Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(80px,11.2vw,170px);font-optical-sizing:auto;letter-spacing:-.06em;line-height:.92}
.hero h1 .name-line:nth-child(2){font-style:italic}
@media(max-width:1050px) and (min-width:761px){.hero h1{font-size:10.8vw}}
@media(max-width:760px){.hero h1{font-size:22vw;line-height:.9}.hero-description{display:none}}

