:root{color-scheme:dark;--bg:#0b0e15;--text:#f2f0eb;--blue:#437dff;--muted:#b8bbc4;--line:#303e58}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit}button,a{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:2px solid var(--blue);outline-offset:6px}::selection{background:#2f59b9;color:white}.header{height:98px;position:absolute;z-index:3;top:0;left:5.5%;right:5.5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-size:34px;font-weight:750;letter-spacing:-1.8px}.brand span,h1 span,h2 span{color:var(--blue)}nav{display:flex;gap:42px;font-size:14px}nav a{color:#78a2ff}nav a:hover{color:#a8c3ff}.hero{position:relative;min-height:850px;overflow:hidden;border-bottom:1px solid var(--line)}.hero-art{position:absolute;right:0;top:0;width:60%;height:100%;mask-image:linear-gradient(to right,transparent 0%,black 35%)}.hero-art img{width:100%;height:100%;object-fit:cover;object-position:55% center}.hero-copy{position:relative;z-index:1;width:64%;padding:175px 0 55px 5.5%}.eyebrow{text-transform:uppercase;letter-spacing:4px;font-size:11px;line-height:1.9;margin:0 0 28px}.hero-copy>.eyebrow{max-width:400px;padding-bottom:20px}.blue{color:var(--blue)}h1{font-size:clamp(52px,5.8vw,90px);letter-spacing:-4px;line-height:1.02;margin:25px 0 27px;font-weight:750}p{line-height:1.65}.intro{max-width:470px;font-size:16px;color:#d1d2d7;margin:0 0 34px}.button{display:inline-flex;align-items:center;gap:35px;border:1px solid var(--blue);padding:16px 22px;font-size:16px;background:#0b0e1599;transition:background .2s}.button:hover{background:#214fb2}.button span{font-size:27px;line-height:20px}.disciplines{text-transform:uppercase;border-left:1px solid #b8c4df;padding-left:20px;font-size:10px;letter-spacing:5px;line-height:1.9;margin-top:48px}.section{padding:60px 5.5%;border-bottom:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:30px}.section-heading .eyebrow{margin-bottom:10px}h2{font-size:48px;line-height:1.1;letter-spacing:-1.9px;margin:0}.side-note{text-align:right;font-size:10px;margin-bottom:4px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 30px}.filters button{border:1px solid transparent;background:transparent;color:#9da7ba;padding:10px 16px;cursor:pointer;font-size:13px}.filters button:first-child{margin-left:-16px}.filters button.active{color:var(--text);border-bottom-color:var(--blue)}.filters button:hover{color:var(--text)}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 20px}.project{border:0;padding:0;background:none;color:inherit;text-align:left;cursor:pointer;min-width:0}.project .image-wrap{overflow:hidden;background:#171c27;aspect-ratio:4/5}.project img{width:100%;height:100%;object-fit:cover;transition:transform .4s,filter .4s}.project:hover img{transform:scale(1.035);filter:brightness(1.08)}.project.print img{object-fit:contain}.project .caption{padding:16px 2px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #252d3c}.caption strong{font-size:15px;font-weight:400}.caption small{display:block;color:#929bab;font-size:11px;margin-top:6px}.caption .arrow{font-size:22px;color:#b0bdd4}.work-note{font-size:11px;color:#8f98a7;margin:25px 0 0}.about{background:#11151e}.about-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:60px}.about h2{font-size:38px}.about p:not(.eyebrow){font-size:15px;color:#bfc5d0;margin:0 0 16px}.contact{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:center;padding-top:65px;padding-bottom:75px;background:#0d1321}.contact h2{font-size:58px}.contact-copy{max-width:420px}.contact-copy>p{color:#c8ccd5;font-size:15px}.instagram{display:block;border-top:1px solid var(--line);padding-top:24px;margin-top:25px}.instagram small{display:block;color:#d4d6df;font-size:12px;margin-bottom:8px}.instagram span{color:var(--blue);font-size:23px}.instagram b{float:right;font-weight:400}footer{padding:28px 5.5%;display:flex;align-items:center;justify-content:space-between;gap:25px}footer .brand{font-size:27px}footer p{font-size:9px;letter-spacing:3px;text-transform:uppercase;color:#9ea9be}footer>a:last-child{font-size:12px;color:#aab4c7}dialog{border:1px solid var(--line);background:#0d111a;color:var(--text);width:min(1100px,95vw);max-height:94dvh;padding:25px}dialog::backdrop{background:#02050de8;backdrop-filter:blur(10px)}.viewer-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.viewer-head h2{font-size:26px;letter-spacing:-.5px}.viewer-head .eyebrow{font-size:9px;margin:0 0 8px;letter-spacing:2px}dialog button{background:transparent;border:1px solid #3d4d69;color:var(--text);padding:10px 14px;cursor:pointer}dialog button:hover{background:#1a2c51}#viewer-images{display:grid;gap:18px}#viewer-images img{display:block;max-height:72vh;max-width:100%;width:auto;height:auto;margin:auto;object-fit:contain}.viewer-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:24px}#count{font-size:12px;color:var(--muted)}body.modal-open{overflow:hidden}[hidden]{display:none!important}@media(min-width:1600px){.hero{min-height:950px}.hero-copy{padding-top:210px}}@media(max-width:900px){h1{font-size:64px}.hero-copy{width:76%}.hero-art{width:72%;opacity:.65}.intro{max-width:410px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.about-grid,.contact{gap:30px}.contact h2{font-size:46px}.about h2{font-size:32px}}@media(max-width:600px){html{scroll-padding-top:25px}.header{height:78px}.brand{font-size:28px}nav{gap:18px;font-size:12px}nav a:last-child{font-size:0}nav a:last-child:after{content:'IG ';font-size:12px}.hero{min-height:0;padding-top:78px}.hero-art{position:relative;width:100%;height:390px;mask-image:linear-gradient(to bottom,black 65%,transparent);opacity:1}.hero-art img{object-position:center 30%}.hero-copy{width:100%;padding:0 6% 28px;margin-top:-38px}.hero-copy>.eyebrow{font-size:9px;margin:0;padding:0;max-width:270px}h1{font-size:51px;letter-spacing:-2.8px;margin:20px 0}.intro{font-size:14px;max-width:none}.disciplines{margin-top:30px;font-size:9px}.section{padding:40px 6%}h2{font-size:36px}.side-note{display:none}.filters{gap:2px;margin-bottom:22px}.filters button{font-size:11px;padding:10px}.filters button:first-child{margin-left:-10px}.gallery{gap:22px 12px}.caption strong{font-size:12px}.caption small{font-size:10px}.caption .arrow{font-size:17px}.project .image-wrap{aspect-ratio:3/4}.about-grid,.contact{grid-template-columns:1fr;gap:24px}.about h2{font-size:31px}.contact h2{font-size:43px}.instagram span{font-size:22px}footer{flex-wrap:wrap;padding:25px 6%}footer p{order:3;width:100%;font-size:8px;margin:0}dialog{padding:16px}.viewer-head h2{font-size:20px}.viewer-head button{font-size:12px}.viewer-bottom button{font-size:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

@font-face{font-family:ValOrbitron;src:url('assets/fonts/orbitron.ttf') format('truetype');font-weight:800;font-display:block}
.brand{display:inline-flex;align-items:baseline;letter-spacing:0;white-space:nowrap;line-height:1.2;flex-shrink:0}
.brand .logo-val{font-family:ValOrbitron,Arial,sans-serif;font-weight:800;color:var(--text)}
.brand .logo-arts{font-family:ValOrbitron,Arial,sans-serif;font-weight:800;color:var(--blue)}
.brand .logo-tail{display:inline-block;color:inherit;vertical-align:baseline}
.logo-intro .header .logo-val .logo-tail{width:0;opacity:0;overflow:hidden}
.logo-intro .header .logo-arts .logo-tail{opacity:0}
.logo-intro.logo-play .header .logo-val .logo-tail{animation:val-expand 1.5s cubic-bezier(.22,1,.36,1) .35s both}
.logo-intro.logo-play .header .logo-arts .logo-tail{animation:arts-reveal 1.1s ease .65s both}
@keyframes val-expand{0%{width:0;opacity:0}30%{opacity:0}100%{width:1.002em;opacity:1}}
@keyframes arts-reveal{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.logo-intro .header .logo-val .logo-tail{width:auto;opacity:1;overflow:visible}.logo-intro .header .logo-arts .logo-tail{opacity:1}.logo-intro.logo-play .header .logo-tail{animation:none}}

/* Keep animated and static letter groups on the same text baseline. */
.brand .logo-val,.brand .logo-arts{display:inline-flex;align-items:baseline}

/* Align the wordmark and every navigation label on a shared baseline. */
.header{align-items:baseline;padding-top:29px}
.header nav{align-items:baseline;line-height:1.2}
.header nav a{display:block;line-height:inherit}
@media(max-width:600px){.header{padding-top:22px}}

@font-face{font-family:Bellefair;src:url('assets/fonts/bellefair.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Calligraffitti;src:url('assets/fonts/calligraffitti.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:ValEditorial;src:url('assets/fonts/cormorant-garamond.ttf') format('truetype');font-weight:600;font-display:swap}
.hero h1,.section-heading h2,.about h2,.contact h2{font-family:ValEditorial,Georgia,serif;font-weight:600;letter-spacing:-.035em;line-height:1.02}
.hero h1{font-size:clamp(64px,7vw,108px)}
.section-heading h2{font-size:60px}
.about h2{font-size:48px}
.contact h2{font-size:68px}
.intro,.about p:not(.eyebrow),.contact-copy>p{font-family:Bellefair,Georgia,serif;font-size:21px;line-height:1.5}
.instagram span{font-family:Calligraffitti,cursive;font-size:27px;font-weight:400}
.instagram b{font-family:Arial,Helvetica,sans-serif}
@media(max-width:900px){.hero h1{font-size:76px}.about h2{font-size:42px}.contact h2{font-size:58px}}
@media(max-width:600px){.hero h1{font-size:58px}.section-heading h2{font-size:46px}.about h2{font-size:40px}.contact h2{font-size:52px}.intro,.about p:not(.eyebrow),.contact-copy>p{font-size:19px}.instagram span{font-size:25px}}

@font-face{font-family:ValUnicase;src:url('assets/fonts/cormorant-unicase.ttf') format('truetype');font-weight:600;font-display:swap}
.caption strong,#viewer-title{font-family:ValUnicase,Georgia,serif;font-weight:600;letter-spacing:.01em}
.caption strong{font-size:21px;line-height:1.15}
@media(max-width:600px){.caption strong{font-size:18px}}

/* Keep artwork and category baselines uniform even with longer titles. */
.project{display:flex;flex-direction:column;justify-content:flex-start}
.project .image-wrap{width:100%;flex-shrink:0}
.project .caption{width:100%;flex:1;align-items:center}
.caption>div{min-width:0;flex:1}
.caption strong{display:block;min-height:48px}
.long-title .caption strong{font-size:17px}
@font-face{font-family:ValJapanese;src:url('assets/fonts/noto-serif-jp-oishii.ttf') format('truetype');font-weight:600;font-display:swap}
.caption strong:lang(ja),#viewer-title:lang(ja){font-family:ValJapanese,'Noto Serif JP',serif;letter-spacing:.07em;font-weight:600}
@media(max-width:600px){.caption strong{min-height:42px}.long-title .caption strong{font-size:15px}}
