:root{--bg: #ffffff;--text: #111111;--muted: rgba(0, 0, 0, .6);--line: rgba(0, 0, 0, .08)}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%}body{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5;letter-spacing:.01em}a{color:inherit;text-decoration:none}main{padding:0 40px}.container{max-width:1400px;margin:0 auto}h1,h2,h3{font-weight:500;letter-spacing:.02em}p{font-size:15px}html,body{height:100%;margin:0}.site-frame{min-height:100vh;display:flex;flex-direction:column}.site-main{flex:1}header{display:flex;justify-content:space-between;align-items:baseline;padding:40px}.site-title{font-size:28px;font-weight:700;letter-spacing:.3em;text-transform:uppercase}nav{display:flex;gap:24px}nav a{font-size:14px;opacity:.6;position:relative;transition:opacity .2s ease}nav a:hover{opacity:1}nav a.active{opacity:1}nav a.active:after{content:"";position:absolute;left:50%;transform:translate(-50%);bottom:-6px;width:16px;height:1px;background:currentColor;opacity:.8}.site-footer{text-align:center;padding:32px 24px;font-size:12px;letter-spacing:.04em;opacity:.5}.site-footer p{margin:0}:root{--line: rgba(0, 0, 0, .1)}@media(max-width:900px){header{padding:14px 16px}header{flex-wrap:wrap;align-items:center}header .site-title{font-size:16px;letter-spacing:.03em}header nav{gap:12px;flex-wrap:wrap;justify-content:flex-end}header nav a{font-size:13px;padding:4px 0}}.works-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;max-width:1400px;margin:0 auto;padding:80px 24px}.work-item{display:block;position:relative;overflow:hidden}.image-frame{width:100%;aspect-ratio:4 / 5;background:#f4f4f4;display:flex;align-items:center;justify-content:center;overflow:hidden}.image-frame img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}.work-item:hover img{transform:scale(1.03)}.overlay{position:absolute;inset:0;display:flex;align-items:flex-end;padding:16px;background:linear-gradient(to top,rgba(0,0,0,.22),transparent 60%);opacity:0;transition:opacity .3s ease;color:#fff;font-size:13px;letter-spacing:.02em}.work-item:hover .overlay{opacity:1}.work-item.span-2{grid-column:span 2}.image-frame img{filter:blur(10px);transform:scale(1.02);transition:filter .4s ease,transform .4s ease}.image-frame img.loaded{filter:blur(0);transform:scale(1)}@media(max-width:900px){.works-grid{grid-template-columns:repeat(2,1fr);gap:24px}}@media(max-width:600px){.works-grid{grid-template-columns:1fr}}.detail{display:grid;grid-template-columns:2fr 1fr;gap:60px;max-width:1400px;margin:0 auto;padding:80px 24px;align-items:center}.detail-image img{width:100%;height:auto;display:block;cursor:zoom-in}.info{display:flex;flex-direction:column;gap:24px;position:sticky;top:50%;transform:translateY(-50%)}.info h1{font-size:18px;letter-spacing:.02em;margin:0}.meta{display:flex;flex-direction:column;gap:10px;border-top:1px solid rgba(0,0,0,.1);padding-top:16px;font-size:14px}.meta-row{display:flex;justify-content:space-between}.label{opacity:.5}.divider{height:1px;background:#0000001a;margin:8px 0}.description{font-size:15px;line-height:1.6;opacity:.85}.back{font-size:14px;opacity:.6;text-decoration:none}.back:hover{opacity:1}.detail-nav{display:flex;flex-direction:column;gap:12px;font-size:14px}.nav-label{font-size:12px;opacity:.5;text-transform:uppercase;letter-spacing:.08em}.nav-link{text-decoration:none;color:inherit;opacity:.75}.nav-link:hover{opacity:1}.lightbox{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:#ffffff14;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s ease}.lightbox.active{opacity:1;visibility:visible;pointer-events:auto}.lightbox img{will-change:transform}.lightbox img{display:block;max-width:92vw;max-height:92vh;object-fit:contain;transform-origin:center center;transition:transform .12s ease;cursor:zoom-in}@media(max-width:900px){.detail{grid-template-columns:1fr;gap:40px}.info{position:static;transform:none}}.cv-container{max-width:760px;margin:0 auto;padding:100px 24px}.cv-section{margin-bottom:4.5rem}.cv-section:last-child{margin-bottom:0}.cv-section h2{font-size:.85rem;margin-bottom:28px;text-transform:uppercase;letter-spacing:.1em;opacity:.75}.statement-section{margin-bottom:5rem}.artist-statement{max-width:640px;font-size:.95rem;line-height:1.9;opacity:.88}.cv-bio{display:flex;flex-direction:column;gap:6px;font-size:.92rem;line-height:1.7;opacity:.9}.cv-entry{display:flex;align-items:baseline;gap:20px;margin-bottom:14px;font-size:.92rem;line-height:1.7}.cv-entry .year{width:64px;flex-shrink:0;opacity:.55;letter-spacing:.02em}.cv-entry span:last-child{flex:1}.cv-entry em{font-style:italic}.cv-entry span{display:inline-block}@media(max-width:900px){.cv-container{padding:80px 20px}.cv-entry{gap:16px}.cv-entry .year{width:56px}}.contact-container{display:flex;justify-content:space-between;align-items:flex-start;gap:100px;max-width:1100px;margin:0 auto;padding:100px 24px}.contact-container{position:relative}.contact-container:before{content:"";position:absolute;left:50%;top:5%;bottom:5%;width:1px;background:#0000000f;transform:translate(-50%);pointer-events:none}.contact-left h2{margin-bottom:48px;font-size:20px;letter-spacing:.02em}.contact-details{display:flex;flex-direction:column;gap:22px}.contact-form{flex:1;display:flex;flex-direction:column;gap:26px;max-width:420px;margin-top:6px}.contact-form input,.contact-form textarea{width:100%;border:none;border-bottom:1px solid rgba(0,0,0,.25);padding:10px 0;font:inherit;font-size:15px;background:transparent;outline:none;letter-spacing:.01em}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#0006}.contact-form textarea{min-height:140px;resize:vertical}.contact-form button{align-self:flex-start;padding:10px 0;border:none;border-bottom:1px solid rgba(0,0,0,.6);background:transparent;font:inherit;cursor:pointer;letter-spacing:.02em;transition:opacity .2s ease}.contact-form button:hover{opacity:.5}.contact-intro{margin-bottom:40px;line-height:1.6;color:#000000bf;max-width:320px}.contact-block{margin-bottom:0;display:flex;flex-direction:column;gap:4px}.contact-block .label{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#00000073}.contact-block a{font-size:15px;color:#000000d9;text-decoration:none;border-bottom:1px solid transparent;width:fit-content;line-height:1.4}.contact-block a:hover{border-bottom:1px solid rgba(0,0,0,.5)}@media(max-width:900px){.contact-container{flex-direction:column;gap:56px;padding:64px 20px}.contact-container:before{display:none}.contact-left,.contact-form{width:100%;max-width:100%}.contact-left h2{margin-bottom:32px}.contact-intro{margin-bottom:32px;max-width:100%}.contact-form{margin-top:0;gap:22px}.contact-form input,.contact-form textarea{font-size:16px}}@media(max-width:500px){.contact-container{padding-top:48px}.contact-left h2{font-size:18px}.contact-block a{font-size:14px}}.success-page{max-width:600px;margin:0 auto;padding:120px 24px;text-align:left}.success-page h2{margin-bottom:20px}.success-page a{display:inline-block;margin-top:40px;border-bottom:1px solid black}.hero{max-width:1550px;margin:0 auto;padding:100px 24px 0}.hero-slider{position:relative;width:100%;aspect-ratio:16 / 7;overflow:hidden}.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.4s ease;display:block}.hero-slide.active{opacity:1;z-index:2}.hero-slide img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transform:scale(1.02);transition:transform 6s ease}.hero-slide.active img{transform:scale(1.06)}.hero-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.25),rgba(0,0,0,.05) 40%,transparent 65%);pointer-events:none}.hero-caption{position:absolute;bottom:28px;left:28px;z-index:3;color:#ffffffe6;font-size:12px;letter-spacing:.08em;text-transform:uppercase;line-height:1.4}@media(max-width:900px){.hero{padding:80px 16px 0}.hero-slider{aspect-ratio:16 / 10}.hero-caption{bottom:16px;left:16px;font-size:11px;letter-spacing:.06em;max-width:85%}}@media(max-width:500px){.hero{padding:72px 14px 0}.hero-slider{aspect-ratio:16 / 11}.hero-caption{font-size:10px}}
