:root{--bg:#101013;--surface:#18181d;--text:#f6f5f8;--muted:#a1a0aa;--accent:#b597ff;--line:#303036;--shell:1280px;color-scheme:dark;font-family:Arial,Helvetica,sans-serif;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--text);font-size:16px;line-height:1.5}body.modal-open{overflow:hidden}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer}button:disabled{opacity:.4;cursor:not-allowed}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:5px}img{display:block;max-width:100%}button svg{width:19px;height:19px;fill:currentColor}p,h1,h2,h3{margin:0}::selection{background:var(--accent);color:var(--bg)}.section-shell{width:min(var(--shell),calc(100% - 112px));margin-inline:auto}.muted{color:var(--muted)}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.skip-link{position:fixed;left:12px;top:-80px;z-index:100;background:var(--accent);color:#101013;padding:12px}.skip-link:focus{top:12px}.site-header{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 56px;background:rgba(16,16,19,.93);position:sticky;top:0;z-index:20;backdrop-filter:blur(18px);border-bottom:1px solid #ffffff0b}.wordmark{font-size:24px;font-weight:800;letter-spacing:-1.2px}.wordmark span{color:var(--accent)}.site-header nav{display:flex;gap:34px;align-items:center;font-size:14px}.site-header nav a{transition:color .2s}.site-header nav a:hover{color:var(--accent)}.nav-contact{display:flex;align-items:center;gap:13px}.small-dot{height:6px;width:6px;border-radius:50%;background:var(--accent)}.hero{position:relative;height:min(670px,calc(100svh - 82px));min-height:440px;overflow:hidden;background:#202936}.hero-image{width:100%;height:115%;object-fit:cover;object-position:50% 48%;position:absolute;top:-7%;opacity:.83;animation:image-enter 1.4s ease-out both;will-change:transform}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,10,18,.1) 20%,rgba(7,8,15,.25) 48%,rgba(7,8,15,.88) 100%)}.hero-topline{position:absolute;top:32px;left:56px;right:56px;display:flex;justify-content:space-between;font-size:11px;letter-spacing:.16em;color:#fff}.hero-bottom{position:absolute;bottom:49px;left:56px;right:56px;animation:rise-in .9s .1s both}.hero h1{font-size:clamp(64px,12.4vw,182px);font-weight:750;line-height:1.08;letter-spacing:-.075em;margin:10px 0 20px}.hero h1 span{color:var(--accent)}.hero-foot{display:flex;align-items:center;justify-content:space-between;font-size:14px}.hero-foot p{color:#d6d6e0}.hero-foot a{display:flex;align-items:center;gap:20px}.scroll-line{height:32px;width:1px;background:#aaa;position:relative}.scroll-line:after{content:'';position:absolute;height:9px;width:9px;border-right:1px solid white;border-bottom:1px solid white;transform:rotate(45deg);bottom:0;left:-4px}.hero-index{position:absolute;right:56px;top:45%;font-size:11px;letter-spacing:.16em;writing-mode:vertical-rl;color:#d0d2dd}.profile{display:flex;justify-content:space-between;gap:48px;padding-top:54px;padding-bottom:38px}.profile-main{display:flex;align-items:center;gap:24px}.avatar-ring{padding:5px;border:1px solid var(--accent);border-radius:50%;flex:none}.avatar-ring img{border-radius:50%;object-fit:cover;object-position:center 70%;width:88px;height:88px}.profile-handle{font-size:14px;margin-bottom:4px;color:#dcdbe2;display:flex;align-items:center;gap:13px}.profile-label{color:var(--accent);font-size:10px;letter-spacing:.09em}.profile h2{font-size:23px;letter-spacing:-.7px;margin-bottom:3px}.profile-main p{font-size:14px}.profile-intro{max-width:345px;align-self:center}.profile-intro>p{color:var(--muted);font-size:15px;line-height:1.7}.text-link{display:inline-flex;align-items:center;gap:36px;border-bottom:1px solid #6a5d87;padding:8px 0;font-size:14px;margin-top:16px}.text-link span{color:var(--accent);font-size:20px;transition:transform .3s}.text-link:hover span{transform:rotate(90deg)}.collections{display:flex;gap:27px;padding:4px 0 40px;overflow-x:auto;scrollbar-width:none}.collection{border:0;background:none;padding:0;display:flex;flex-direction:column;align-items:center;gap:10px;min-width:77px;font-size:12px;white-space:nowrap}.collection-portrait{display:flex;align-items:center;justify-content:center;padding:4px;width:72px;height:72px;border:1px solid #44414e;border-radius:50%;transition:border-color .2s,transform .25s}.collection-portrait img{width:62px;height:62px;border-radius:50%;object-fit:cover}.collection.active .collection-portrait{border:2px solid var(--accent);padding:3px}.collection.active{color:var(--accent)}.collection:hover .collection-portrait{transform:translateY(-3px);border-color:var(--accent)}.collection-all{background:var(--surface);font-size:31px;font-weight:300;letter-spacing:-4px;padding-right:4px}.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);height:81px}.gallery-heading{display:flex;align-items:center;gap:12px}.gallery-heading h2{font-size:15px;font-weight:500}.gallery-heading .muted{font-size:12px}.grid-mark{color:var(--accent);font-size:22px}.view-switch{display:flex;gap:5px}.view-switch button{border:0;background:transparent;color:#73727e;padding:10px;display:grid;place-items:center;border-radius:5px}.view-switch button.active{color:var(--accent);background:#b597ff10}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.photo-card{position:relative;aspect-ratio:4/5;overflow:hidden;background:#1d1d24;animation:rise-in .45s both;border:0;padding:0;display:block;width:100%;text-align:left}.photo-card img{width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.7,.3,1),filter .4s}.photo-card:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#07070bbd);opacity:0;transition:opacity .3s}.photo-card:hover img{transform:scale(1.035)}.photo-card:hover:after,.photo-card:focus-visible:after{opacity:1}.photo-meta{position:absolute;bottom:24px;left:24px;right:24px;z-index:1;opacity:0;transform:translateY(7px);transition:opacity .3s,transform .3s;display:flex;justify-content:space-between;align-items:flex-end}.photo-card:hover .photo-meta,.photo-card:focus-visible .photo-meta{opacity:1;transform:none}.photo-meta small{font-size:10px;letter-spacing:.12em;text-transform:uppercase;display:block;color:#d3bfff;margin-bottom:4px}.photo-meta strong{font-size:17px;font-weight:500}.photo-plus{font-size:27px;font-weight:300}.photo-grid.feed{display:flex;flex-direction:column;align-items:center;gap:32px}.feed .photo-card{max-width:680px;aspect-ratio:auto;overflow:visible}.feed .photo-card img{height:auto;max-height:85svh;object-fit:contain;background:#09090b}.feed .photo-card:hover img{transform:none}.feed .photo-meta{position:static;opacity:1;transform:none;padding:17px 20px 20px}.feed .photo-card:after{display:none}.gallery-status{text-align:center;color:var(--muted);padding:24px}.gallery-status:empty{display:none}.gallery-end{display:flex;gap:24px;align-items:center;padding:52px 0 100px;color:#84818f}.gallery-end span{height:1px;background:var(--line);flex:1}.gallery-end p{font-size:10px;letter-spacing:.13em}.about{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center;padding-bottom:100px}.about-photo{position:relative}.about-photo img{height:590px;width:100%;object-fit:cover;object-position:50% 50%}.photo-stamp{position:absolute;bottom:22px;left:22px;letter-spacing:.12em;font-size:10px;background:#101013c9;padding:9px 12px}.about-copy .eyebrow,.contact .eyebrow{color:var(--accent)}.about-copy h2{font-size:clamp(32px,3.5vw,52px);font-weight:500;letter-spacing:-2px;line-height:1.13;margin:25px 0}.about-copy>p:not(.eyebrow){color:var(--muted);line-height:1.85;white-space:pre-line}.contact{border-top:1px solid var(--line);padding-top:72px;padding-bottom:72px}.contact h2{max-width:950px;font-size:clamp(38px,5.7vw,80px);font-weight:500;line-height:1.12;letter-spacing:-.05em;margin:24px 0 35px}.contact-bottom{display:flex;justify-content:space-between;gap:40px}.contact-bottom>p{max-width:510px;color:var(--muted)}.contact-links{display:flex;align-items:flex-start;gap:24px}.contact-links a{border-bottom:1px solid var(--accent);padding-bottom:5px;font-size:14px}.contact-links .placeholder{color:var(--accent);font-size:14px}.site-footer{padding-top:26px;padding-bottom:30px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.site-footer p,.admin-link{font-size:12px;color:var(--muted)}.site-footer .wordmark{font-size:20px}.lightbox{background:#0a0a0e;color:var(--text);border:0;width:100vw;height:100svh;max-height:100svh;max-width:100vw;margin:0;padding:0}.lightbox::backdrop{background:#0a0a0e}.lightbox[open]{display:flex;flex-direction:column;animation:fade-in .2s}.lightbox-top{height:74px;display:flex;align-items:center;justify-content:space-between;padding:0 32px;flex:none}.lightbox-top>span:nth-child(2){font-size:12px;color:var(--muted)}.icon-button{border:1px solid #ffffff26;border-radius:50%;width:44px;height:44px;display:grid;place-items:center;background:#101013bd;line-height:1;font-size:27px;transition:background .2s}.icon-button:hover{background:#393144}.lightbox-stage{min-height:0;flex:1;display:flex;align-items:center;justify-content:center;position:relative;padding:0 78px}.lightbox-stage img{height:100%;width:100%;object-fit:contain;min-height:0}.lightbox-prev,.lightbox-next{position:absolute;top:50%;transform:translateY(-50%)}.lightbox-prev{left:25px}.lightbox-next{right:25px}.lightbox-caption{display:flex;justify-content:space-between;gap:20px;max-height:25svh;overflow:auto;padding:24px 80px 30px;flex:none}.lightbox-caption .eyebrow{font-size:10px;color:var(--accent)}.lightbox-caption h2{font-size:19px;margin:4px 0;font-weight:500}.lightbox-caption>p,.lightbox-caption div>p:last-child{font-size:13px;color:var(--muted);white-space:pre-line}.reveal{opacity:0;transform:translateY(22px);transition:opacity .65s,transform .65s}.reveal.visible{opacity:1;transform:none}@keyframes rise-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes image-enter{from{opacity:.4;scale:1.04}to{opacity:.83;scale:1}}@keyframes fade-in{from{opacity:0}to{opacity:1}}
@media(min-width:1600px){.hero-bottom,.hero-topline{left:calc((100vw - 1488px)/2);right:calc((100vw - 1488px)/2)}}
@media(max-width:900px){.section-shell{width:calc(100% - 56px)}.site-header{padding-inline:28px}.hero-topline,.hero-bottom{left:28px;right:28px}.hero-index{right:28px}.hero h1{font-size:13vw}.profile{gap:25px}.profile-intro{max-width:260px}.about{gap:7%}.about-photo img{height:470px}.contact-bottom{flex-direction:column}.photo-meta{bottom:16px;left:16px;right:16px}.profile-label{display:none}}
@media(max-width:600px){html{scroll-padding-top:78px}.site-header{height:68px;padding-inline:20px}.wordmark{font-size:21px}.site-header nav{gap:21px;font-size:13px}.site-header nav a:nth-child(2){display:none}.nav-contact .small-dot{display:none}.section-shell{width:calc(100% - 36px)}.hero{height:560px;min-height:410px;max-height:calc(88svh - 68px)}.hero-topline{top:24px;left:20px;right:20px;font-size:9px}.hero-topline span:last-child{display:none}.hero-index{right:20px;font-size:9px;top:30%}.hero-bottom{left:20px;right:20px;bottom:31px}.hero .eyebrow{font-size:9px;letter-spacing:.14em}.hero h1{font-size:16vw;letter-spacing:-.07em;margin:11px 0 20px}.hero-foot{align-items:flex-start;gap:20px;flex-direction:column;font-size:12px}.hero-foot a{gap:14px}.scroll-line{height:20px}.profile{padding-top:32px;padding-bottom:29px;display:block}.profile-main{gap:17px}.avatar-ring img{width:69px;height:69px}.profile h2{font-size:21px}.profile-handle{font-size:12px}.profile-main p{font-size:12px}.profile-intro{max-width:none;margin-top:23px}.profile-intro>p{font-size:14px}.profile-intro .text-link{font-size:12px;margin-top:10px;padding:3px 0}.collections{gap:17px;padding-bottom:28px}.collection{min-width:63px;font-size:11px}.collection-portrait{width:63px;height:63px}.collection-portrait img{width:53px;height:53px}.gallery-toolbar{height:70px}.gallery-heading{gap:8px}.gallery-heading h2{font-size:13px}.gallery-heading .muted{font-size:11px}.photo-grid{gap:5px;grid-template-columns:repeat(2,minmax(0,1fr))}.photo-meta{display:none}.feed .photo-meta{display:flex}.gallery-end{padding:35px 0 62px;gap:14px}.gallery-end p{font-size:8px;letter-spacing:.05em}.about{grid-template-columns:1fr;gap:30px;padding-bottom:62px}.about-photo img{height:470px;max-height:75svh}.about-copy h2{letter-spacing:-1px;font-size:36px}.contact{padding-top:46px;padding-bottom:48px}.contact h2{font-size:41px}.contact-bottom{gap:27px}.site-footer{flex-wrap:wrap;gap:24px}.site-footer p{order:3;width:100%;font-size:11px}.lightbox-top{height:65px;padding:0 17px}.lightbox-top .wordmark{font-size:20px}.lightbox-stage{padding:0 10px}.lightbox-prev,.lightbox-next{width:38px;height:38px;font-size:23px;top:auto;bottom:13px;transform:none}.lightbox-prev{left:19px}.lightbox-next{right:19px}.lightbox-caption{padding:19px 20px 24px;max-height:26svh}.lightbox-caption>p{max-width:90px}.photo-grid.feed{gap:23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.hero-image{will-change:auto}.reveal{opacity:1;transform:none}}

/* Shared photography and illustration gallery. */
[hidden]{display:none!important}
.discipline-tabs{display:flex;align-items:center;gap:32px;border-bottom:1px solid var(--line);margin-bottom:30px}
.discipline-tabs button{display:flex;gap:10px;align-items:center;background:none;border:0;border-bottom:2px solid transparent;padding:17px 0;color:var(--muted);font-size:15px;transition:color .2s,border-color .2s}
.discipline-tabs button span{font-size:11px;opacity:.7;font-variant-numeric:tabular-nums}
.discipline-tabs button.active{border-bottom-color:var(--accent);color:var(--text)}
.discipline-tabs button.active span,.discipline-tabs button:hover{color:var(--accent)}
.discipline-tabs:has(+.collections[hidden]){margin-bottom:0}
.collections[hidden]+.gallery-toolbar{border-top:0}
.photo-card.illustration{background:#09090c}
.photo-card.illustration img{object-fit:cover}
.photo-card.illustration:hover img{transform:scale(1.015)}
@media(max-width:600px){.discipline-tabs{gap:24px;margin-bottom:24px}.discipline-tabs button{font-size:13px;gap:6px;padding:15px 0}.discipline-tabs button span{font-size:10px}.profile-intro{margin-bottom:6px}}
@media(max-width:360px){.discipline-tabs{gap:18px}.discipline-tabs button{font-size:12px}}
