@font-face{font-family:Space;src:url('assets/space-grotesk.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Space;src:url('assets/space-grotesk-bold.ttf') format('truetype');font-weight:700;font-display:swap}
:root{--ink:#202326;--muted:#62676c;--line:#dce0e2;--blue:#205ce8;--paper:#fff;--surface:#f2f4f5}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Space,Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:hover{color:var(--blue)}:focus-visible{outline:3px solid var(--blue);outline-offset:5px}.wrap{width:min(1440px,calc(100% - 112px));margin:auto}.skip{position:absolute;top:-100px;left:16px;background:white;padding:15px;z-index:10}.skip:focus{top:16px}header{height:132px;display:flex;align-items:center;justify-content:space-between;gap:30px}.logo img{display:block;width:200px;height:auto}nav{display:flex;gap:34px;align-items:center;font-size:15px}nav .contact-link{border:1px solid var(--line);padding:13px 22px;border-radius:30px}.hero{padding:62px 0 72px}.hero h1{font-size:clamp(58px,7.9vw,122px);line-height:1.02;letter-spacing:-.067em;font-weight:400;margin:0 0 42px;max-width:1150px}.hero-line{display:block}.hero-bottom{display:flex;justify-content:space-between;align-items:end;gap:24px}.intro{margin:0;max-width:410px;font-size:19px;line-height:1.55;letter-spacing:-.02em}.availability{font-size:13px;display:flex;align-items:center;gap:9px;white-space:nowrap}.availability:before{content:'';width:7px;height:7px;background:#247d4e;border-radius:50%;box-shadow:0 0 0 5px #eaf5ee}.work-bar{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px;padding-top:27px;border-top:1px solid var(--line)}h2{font-size:23px;font-weight:400;letter-spacing:-.04em;margin:0}.filters{display:flex;gap:5px;flex-wrap:wrap}.filters button{background:transparent;border:0;border-radius:24px;padding:10px 17px;font-size:14px}.filters button[aria-pressed=true]{background:var(--ink);color:white}.filters button:hover{background:var(--blue);color:white}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px 24px}.project{min-width:0}.project[hidden]{display:none}.project img{display:block;width:100%;aspect-ratio:1.4;object-fit:contain;background:#f2f4f5}.project-meta{display:flex;align-items:baseline;justify-content:space-between;gap:15px;padding-top:15px}.project-meta h3{font-size:19px;font-weight:400;letter-spacing:-.03em;margin:0}.project-meta span{font-size:12px;color:var(--muted)}.about{margin:100px 0 0;padding:60px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 2fr;gap:35px}.about p{font-size:clamp(25px,3vw,43px);line-height:1.3;letter-spacing:-.04em;margin:0;max-width:800px}.about small{font-size:15px;color:var(--muted);line-height:1.6;display:block;margin-top:26px}footer{margin-top:30px;background:var(--surface);padding:65px 0 28px}.footer-heading{font-size:clamp(52px,8vw,108px);font-weight:400;line-height:1.05;letter-spacing:-.065em;margin:0 0 38px}.footer-contact{display:flex;align-items:start;justify-content:space-between;gap:25px}.email{font-size:clamp(20px,3vw,36px);letter-spacing:-.04em;border-bottom:1px solid var(--ink);padding-bottom:5px}.phone{display:block;font-size:15px;margin-top:17px;color:var(--muted)}.socials{display:flex;gap:24px;flex-wrap:wrap;font-size:14px}.footer-bottom{margin-top:70px;display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1600px){.hero h1{font-size:126px}}
@media(max-width:900px){.wrap{width:calc(100% - 56px)}header{height:110px}.logo img{width:170px}.hero{padding:45px 0 55px}.hero h1{font-size:8.6vw}.intro{font-size:17px;max-width:350px}.project img{aspect-ratio:1.25}.work-bar{align-items:start}.filters button{padding:9px 12px}.about{margin-top:70px}.footer-contact{flex-direction:column;gap:30px}}
@media(max-width:600px){.wrap{width:calc(100% - 36px)}header{height:92px;gap:14px}.logo img{width:138px}nav{gap:15px;font-size:12px}nav .contact-link{padding:10px 13px}nav .about-link{display:none}.hero{padding:40px 0 42px}.hero h1{font-size:clamp(42px,10.2vw,62px);margin-bottom:28px;letter-spacing:-.06em}.hero-bottom{align-items:start;flex-direction:column;gap:28px}.intro{font-size:16px;max-width:310px}.availability{font-size:12px}.work-bar{display:block;padding-top:22px;margin-bottom:20px}.work-bar h2{font-size:21px;margin-bottom:20px}.filters{gap:3px}.filters button{font-size:12px;padding:9px 12px}.project-grid{grid-template-columns:1fr;gap:30px}.project img{aspect-ratio:auto}.project-meta{padding-top:12px}.project-meta h3{font-size:18px}.project-meta span{font-size:11px}.about{grid-template-columns:1fr;padding:35px 0;gap:24px;margin-top:55px}.about p{font-size:29px}.about small{font-size:14px}footer{padding:42px 0 24px}.footer-heading{font-size:56px;margin-bottom:30px}.socials{gap:21px}.footer-bottom{margin-top:45px;gap:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Portfolio: image-led compositions, with original image proportions. */
.hero-mask{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.project-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:80px 28px;align-items:center}
.project{grid-column:span 6}
.project[data-position="0"]{grid-column:1 / span 7}
.project[data-position="1"]{grid-column:9 / span 4;margin-top:120px}
.project[data-position="2"]{grid-column:2 / span 4}
.project[data-position="3"]{grid-column:7 / span 6;margin-top:70px}
.project[data-position="4"]{grid-column:1 / span 7}
.project[data-position="5"]{grid-column:9 / span 4;margin-top:100px}
.project-visual{overflow:hidden;transform-origin:center;background:transparent}
.project img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;background:transparent}
.project-meta{display:block;padding-top:20px}
.project-meta h3{font-size:24px;margin-bottom:5px}
.project-meta span{font-size:13px}
.statement{margin:130px 0 0;overflow:hidden;padding:25px 0}
.statement-track{font-size:clamp(60px,8vw,130px);line-height:1.2;letter-spacing:-.065em;white-space:nowrap;width:max-content;will-change:transform}
.statement-track span{color:#70777c}
.statement{min-height:0;display:block;background:var(--paper);padding:62px 0 86px}
.about{margin-top:70px}
.cursor,.cursor-dot{position:fixed;left:0;top:0;pointer-events:none;z-index:9999;opacity:0;border-radius:50%;transform:translate(-100px,-100px)}
.cursor{width:38px;height:38px;margin:-19px 0 0 -19px;border:1px solid white;mix-blend-mode:difference;transition:width .25s,height .25s,margin .25s,background-color .25s,opacity .2s}
.cursor-dot{width:5px;height:5px;margin:-2.5px 0 0 -2.5px;background:white;mix-blend-mode:difference}
.cursor.visible,.cursor-dot.visible{opacity:1}.cursor.on-link{width:62px;height:62px;margin:-31px 0 0 -31px;background:white}.cursor.on-art{width:90px;height:90px;margin:-45px 0 0 -45px;border-width:2px}
@media(hover:hover) and (pointer:fine){body.custom-cursor,body.custom-cursor a,body.custom-cursor button{cursor:none}}
@media(max-width:900px){.project-grid{gap:50px 20px}.project[data-position="1"],.project[data-position="5"]{grid-column:9 / span 4;margin-top:75px}.project-meta h3{font-size:20px}.statement{margin-left:0;margin-right:0;margin-top:90px}}
@media(max-width:600px){.project-grid{display:flex;flex-direction:column;gap:40px;align-items:stretch}.project[data-position]{margin-top:0;width:100%}.project[data-position="1"],.project[data-position="2"],.project[data-position="5"]{width:86%}.project[data-position="1"],.project[data-position="5"]{align-self:flex-end}.project-meta{padding-top:13px}.project-meta h3{font-size:21px}.statement{margin:65px 0 0}.statement-track{font-size:62px}.about{margin-top:45px}}
@media(prefers-reduced-motion:reduce){.statement-track{will-change:auto}}
.footer-bottom{flex-wrap:wrap;gap:18px}
@media(max-width:360px){.logo img{width:112px}nav{gap:12px;font-size:11px}nav .contact-link{white-space:nowrap;padding:10px}.hero h1{font-size:34px}.filters button{font-size:11px;padding:9px 10px}}


/* Keep the full-width text strip outside the constrained content column. */
main > .wrap{margin-inline:auto}
html,body{overflow-x:clip}

/* Natural masonry: every project keeps the proportion of its source artwork. */
.gallery-hint{font-size:12px;color:var(--muted);margin:-8px 0 30px}
.project-grid{display:block;columns:2 460px;column-gap:clamp(36px,5vw,92px);overflow-anchor:none}
.project-grid > .project{display:inline-block;width:100%;break-inside:avoid;vertical-align:top;margin:0 0 clamp(72px,8vw,142px)!important;min-width:0}
.project-grid > .project[hidden]{display:none!important}
.project-toggle{display:block;width:100%;padding:0;border:0;background:transparent;text-align:left;position:relative;cursor:default}
.project-visual{display:block;position:relative;overflow:hidden;transform-origin:center;contain:layout paint;isolation:isolate;will-change:transform;--lens-x:50%;--lens-y:50%}.project-visual::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0;background:radial-gradient(circle at var(--lens-x) var(--lens-y),rgba(255,255,255,.32),rgba(255,255,255,.08) 20%,transparent 54%);mix-blend-mode:soft-light;transition:opacity .34s ease}.project.is-lensing .project-visual::after{opacity:1}
.project-visual img{display:block;will-change:transform;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;background:transparent}
.project-action{display:none}
.project-meta h3,.project-meta span{text-transform:capitalize}
.project-toggle:hover .project-action,.project-toggle:focus-visible .project-action{background:var(--blue);color:white}
@media(max-width:900px){.project-grid{columns:2 260px;column-gap:30px}.project-grid > .project{margin-bottom:70px!important}}
@media(max-width:600px){.project-grid{columns:1;column-gap:0}.project-grid > .project,.project[data-mosaic-position]{display:block;width:100%;margin:0 0 44px!important}.project-grid > .project:nth-child(even){margin-left:0!important}.gallery-hint{font-size:11px;line-height:1.5;max-width:270px;margin:0 0 25px}.project-action{width:32px;height:32px;bottom:10px;right:10px;font-size:20px}}

/* Keep the statement at its original, compact natural height. */
.statement{min-height:clamp(350px,48svh,520px);display:grid;align-items:center;margin:130px 0 0;padding:54px 0}
@media(max-width:900px){.statement{min-height:clamp(320px,46svh,440px);margin:90px 0 0;padding:44px 0}}
@media(max-width:600px){.statement{min-height:330px;margin:65px 0 0;padding:34px 0}.statement-track{font-size:clamp(52px,16vw,72px)}}


/* Lenis requires a natural document height while it manages the smooth inertia. */
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto}
.lenis.lenis-smooth iframe{pointer-events:none}

.project-meta{position:relative;z-index:3}
.project-meta h3{position:relative;display:table;--meta-line:0;--meta-origin:left}.project-meta h3::after{content:'';position:absolute;left:0;right:0;bottom:-5px;height:1px;background:currentColor;transform:scaleX(var(--meta-line));transform-origin:var(--meta-origin) center}
