:root{--black:#0b0b0a;--ink:#131312;--paper:#f2f1ec;--acid:#d8ff32;--muted:#a3a39c;--line:rgba(242,241,236,.18);--sans:"DM Sans","Noto Sans JP",sans-serif;--serif:"Playfair Display",serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--paper);font-family:var(--sans);font-size:16px;line-height:1.65;overflow-x:hidden}a{color:inherit;text-decoration:none}.grain{position:fixed;inset:0;z-index:100;pointer-events:none;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.65'/%3E%3C/svg%3E")}.site-header{height:76px;padding:0 3.2vw;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--line);position:fixed;inset:0 0 auto;z-index:50;background:rgba(11,11,10,.82);backdrop-filter:blur(12px)}.brand{font-weight:500;font-size:1.15rem;letter-spacing:-.04em}.brand span{color:var(--acid)}nav{display:flex;gap:2.2rem}nav a,.ig-link{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}.ig-link{justify-self:end}.site-header a{transition:color .25s}.site-header a:hover{color:var(--acid)}main{padding-top:76px}.hero{height:calc(100svh - 76px);min-height:620px;position:relative;padding:3.2vw;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.hero-kicker{display:flex;justify-content:space-between;font-size:.74rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);padding-right:28vw}.hero h1{font-size:clamp(4.2rem,11.7vw,11.5rem);line-height:.78;letter-spacing:-.075em;font-weight:300;margin:3vh 0 0;position:relative;z-index:2}.hero h1 .serif,.hero h1 em{font-family:var(--serif);font-weight:500}.hero h1 em{color:var(--acid);font-size:.68em;margin-left:22vw}.hero-bottom{display:flex;justify-content:space-between;align-items:end;position:relative;z-index:2}.hero-bottom p{font-size:clamp(.9rem,1.2vw,1.15rem);line-height:1.85}.round-link{width:112px;height:112px;border:1px solid var(--paper);border-radius:50%;display:flex;align-items:center;justify-content:center;gap:.5rem;text-transform:uppercase;font-size:.68rem;letter-spacing:.12em;transition:.35s}.round-link b{font-size:1.3rem}.round-link:hover{background:var(--acid);color:var(--black);border-color:var(--acid);transform:rotate(-8deg)}.aperture{position:absolute;width:min(43vw,650px);aspect-ratio:1;right:-8vw;top:8%;border-radius:50%;border:1px solid rgba(216,255,50,.18);animation:spin 60s linear infinite}.aperture:before,.aperture:after{content:"";position:absolute;border-radius:50%;inset:12%;border:1px solid rgba(242,241,236,.15)}.aperture:after{inset:29%;background:var(--acid);border:0;box-shadow:0 0 90px rgba(216,255,50,.14)}.aperture i{position:absolute;left:50%;top:50%;width:50%;height:1px;background:rgba(242,241,236,.14);transform-origin:left center}.aperture i:nth-child(2){transform:rotate(60deg)}.aperture i:nth-child(3){transform:rotate(120deg)}.aperture i:nth-child(4){transform:rotate(180deg)}.aperture i:nth-child(5){transform:rotate(240deg)}.aperture i:nth-child(6){transform:rotate(300deg)}@keyframes spin{to{transform:rotate(360deg)}}.eyebrow{font-size:.72rem;letter-spacing:.17em;text-transform:uppercase;color:var(--muted);margin:0}.manifesto{padding:12vw 5vw 11vw;display:grid;grid-template-columns:1fr 3.4fr;gap:4vw;background:var(--paper);color:var(--black)}.statement{grid-column:2;font-size:clamp(2.1rem,5.2vw,5.6rem);line-height:1.35;letter-spacing:-.055em;margin:0}.statement span{font-family:var(--serif);font-style:italic;text-decoration:underline;text-decoration-color:var(--acid);text-decoration-thickness:.17em;text-underline-offset:-.06em;text-decoration-skip-ink:none}.manifesto-note{grid-column:2;width:min(580px,80%);margin:3vw 0 0 auto;font-size:1.02rem}.works{padding:9vw 3.2vw 12vw}.section-head{display:grid;grid-template-columns:1fr 2fr 1fr;gap:3vw;align-items:end;margin-bottom:6vw}.section-head h2,.about h2,.contact h2{font-size:clamp(3.4rem,8vw,8rem);line-height:.88;letter-spacing:-.065em;font-weight:300;margin:0}.section-head h2 em,.about h2 em,.contact h2 em{font-family:var(--serif);color:var(--acid);font-weight:500}.section-head>p:last-child{color:var(--muted);font-size:.92rem}.work-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:7vw 2vw}.work-card{display:block}.work-card:nth-child(1){grid-column:1/8}.work-card:nth-child(2){grid-column:9/13;margin-top:15vw}.work-card:nth-child(3){grid-column:2/6}.work-card:nth-child(4){grid-column:7/13;margin-top:6vw}.visual{position:relative;overflow:hidden;background:#20201f;min-height:500px;transition:filter .5s,transform .5s}.work-card:hover .visual{filter:contrast(1.1);transform:scale(.985)}.card-portrait .visual{aspect-ratio:4/3;background:radial-gradient(circle at 52% 31%,#d9d7cf 0 7%,transparent 8%),linear-gradient(135deg,#262625,#87847b 51%,#20201e)}.figure{position:absolute;width:34%;height:76%;left:35%;bottom:-11%;border-radius:50% 50% 12% 12%;background:linear-gradient(110deg,#171717,#8b8881);box-shadow:-30px 0 80px rgba(0,0,0,.5)}.focus{position:absolute;inset:12%;border:1px solid rgba(216,255,50,.75)}.focus:before,.focus:after{content:"";position:absolute;background:var(--acid)}.focus:before{width:40px;height:1px;left:-1px;top:-1px}.focus:after{width:1px;height:40px;left:-1px;top:-1px}.card-editorial .visual{aspect-ratio:3/4;background:linear-gradient(160deg,#d6ff35 0 36%,#20201f 36%)}.beam{position:absolute;width:54%;height:150%;background:rgba(255,255,255,.25);transform:rotate(28deg);left:20%;top:-25%}.silhouette{position:absolute;width:55%;height:65%;bottom:-4%;left:22%;border-radius:50% 50% 6px 6px;background:#080808}.card-family .visual{aspect-ratio:3/4;background:linear-gradient(#9ca7aa,#d3cdb7 56%,#393b35 57%)}.sun{position:absolute;width:120px;aspect-ratio:1;border-radius:50%;background:#f8e4ad;right:8%;top:10%;filter:blur(2px)}.pair{position:absolute;bottom:8%;background:#20211e;border-radius:50% 50% 10% 10%}.pair.one{height:44%;width:26%;left:28%}.pair.two{height:32%;width:20%;left:50%}.card-stage .visual{aspect-ratio:16/10;background:linear-gradient(#101014,#202025)}.stage-light{position:absolute;top:-30%;width:35%;height:130%;filter:blur(8px)}.l1{left:10%;background:linear-gradient(100deg,transparent,rgba(216,255,50,.72),transparent);transform:rotate(22deg)}.l2{right:8%;background:linear-gradient(80deg,transparent,rgba(122,109,255,.65),transparent);transform:rotate(-18deg)}.crowd{position:absolute;inset:auto 0 0;height:30%;background:radial-gradient(circle at 10% 50%,#030303 0 5%,transparent 5.4%),radial-gradient(circle at 24% 35%,#030303 0 6%,transparent 6.4%),radial-gradient(circle at 39% 57%,#030303 0 7%,transparent 7.4%),radial-gradient(circle at 55% 32%,#030303 0 7%,transparent 7.4%),radial-gradient(circle at 73% 49%,#030303 0 6%,transparent 6.4%),radial-gradient(circle at 89% 35%,#030303 0 7%,transparent 7.4%),linear-gradient(transparent 40%,#030303 41%)}.card-meta{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;gap:0 1rem;align-items:baseline;padding-top:1rem}.card-meta>span{grid-row:1/3;color:var(--acid);font-size:.72rem}.card-meta h3{font-family:var(--serif);font-size:clamp(1.7rem,3vw,3rem);font-weight:500;margin:0;line-height:1}.card-meta p{margin:.3rem 0 0;color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.1em}.card-meta b{grid-column:3;grid-row:1/3;font-size:.72rem;font-weight:400;text-transform:uppercase;letter-spacing:.12em}.archive-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;padding:1.1rem 0}.ticker{white-space:nowrap;display:flex;gap:2.4rem;align-items:center;width:max-content;animation:ticker 28s linear infinite;font-size:1.4rem;letter-spacing:.1em}.ticker i{color:var(--acid);font-style:normal}@keyframes ticker{to{transform:translateX(-50%)}}.about{padding:12vw 5vw;display:grid;grid-template-columns:1fr 1fr;gap:10vw;background:var(--paper);color:var(--black)}.about-title h2{margin-top:3rem}.about-title h2 em{color:#536300}.about-copy{padding-top:10vw}.about-copy h3{font-size:1.5rem;margin:0 0 2rem}.about-copy h3 small{display:block;color:#64645e;font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;font-weight:400;margin-top:.3rem}.about-copy p{font-size:1rem;line-height:2;margin:0 0 1.3rem}.services{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:2.4rem}.services span{border:1px solid rgba(11,11,10,.28);border-radius:100px;padding:.45rem 1rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em}.commercial{padding:7vw 5vw;display:grid;grid-template-columns:1fr 2fr 1fr;gap:4vw;align-items:start;border-bottom:1px solid var(--line)}.commercial h2{font-family:var(--serif);font-size:clamp(2.4rem,5vw,5rem);font-weight:500;line-height:1;margin:0 0 2rem}.commercial div p{color:var(--muted);max-width:520px}.commercial>a{justify-self:end;align-self:end;border-bottom:1px solid var(--paper);padding:.7rem 0;font-size:.8rem;letter-spacing:.13em}.commercial>a span{color:var(--acid);padding-left:2rem}.contact{min-height:88vh;padding:10vw 5vw;position:relative;display:flex;flex-direction:column;justify-content:center}.contact h2{margin:4vw 0 3vw}.contact>p:not(.eyebrow){color:var(--muted)}.contact-links{margin-top:3vw;display:flex;flex-direction:column;align-items:flex-start}.contact-links a{font-size:clamp(1rem,2.1vw,2rem);border-bottom:1px solid var(--line);padding:1rem 0;width:min(800px,100%);display:flex;justify-content:space-between;transition:.25s}.contact-links a:hover{color:var(--acid);padding-left:1rem}footer{border-top:1px solid var(--line);padding:1.5rem 3.2vw;display:flex;justify-content:space-between;font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.12em}.reveal{opacity:0;transform:translateY(35px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}.reveal.visible{opacity:1;transform:none}@media(max-width:800px){.site-header{grid-template-columns:1fr auto;height:64px}.site-header nav{display:none}.ig-link{font-size:.68rem}main{padding-top:64px}.hero{height:calc(100svh - 64px);min-height:560px;padding:6vw 5vw}.hero-kicker{padding:0;gap:1rem}.hero-kicker span:last-child{text-align:right}.hero h1{font-size:clamp(4rem,19vw,7rem);line-height:.83}.hero h1 em{margin-left:0;font-size:.58em}.hero-bottom p{font-size:.82rem}.round-link{width:88px;height:88px}.aperture{width:85vw;right:-36vw;top:20%}.manifesto{padding:22vw 5vw;display:block}.statement{margin-top:3rem;font-size:clamp(2rem,9.3vw,3.6rem)}.manifesto-note{width:100%;margin-top:3rem}.works{padding:20vw 5vw}.section-head{display:block}.section-head h2{margin:3rem 0}.work-grid{display:block}.work-card{margin:0 0 18vw!important}.visual{min-height:0}.card-meta{grid-template-columns:auto 1fr}.card-meta b{display:none}.about{padding:20vw 5vw;display:block}.about-title h2{font-size:17vw}.about-copy{padding-top:18vw}.commercial{padding:18vw 5vw;display:block}.commercial h2{margin-top:3rem}.commercial>a{display:inline-block;margin-top:3rem}.contact{padding:25vw 5vw;min-height:80vh}.contact h2{font-size:18vw;margin:12vw 0 8vw}.contact-links{margin-top:9vw}.contact-links a{font-size:.9rem;gap:1rem;overflow-wrap:anywhere}.ticker{font-size:1rem}footer{padding:1.3rem 5vw}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.aperture,.ticker{animation:none}.reveal{opacity:1;transform:none;transition:none}}

/* Abstract contact-sheet studies frame each portfolio category. */
.card-portrait .visual{background:conic-gradient(from 210deg at 50% 50%,#171716,#77746b,#2c2c2a,#a7a399,#171716)}
.card-portrait .figure{width:34%;height:auto;aspect-ratio:1;left:33%;top:28%;bottom:auto;border-radius:50%;border:1px solid rgba(242,241,236,.5);background:radial-gradient(circle at 55% 45%,#77746b,#090909 70%);box-shadow:0 0 0 10vw rgba(0,0,0,.16),inset 0 0 4vw rgba(0,0,0,.7)}
.card-editorial .silhouette{width:58%;height:auto;aspect-ratio:1;bottom:10%;left:21%;border-radius:50%;background:radial-gradient(circle at 55% 45%,#575752,#080808 68%);box-shadow:0 0 0 1px rgba(242,241,236,.3)}
.card-family .visual{background:linear-gradient(160deg,#9ca7aa,#d3cdb7 56%,#393b35 57%)}
.card-family .pair{bottom:8%;border:1px solid rgba(242,241,236,.5);border-radius:0;background:transparent;transform:rotate(45deg)}
.card-family .pair.one{height:34%;width:34%;left:18%}
.card-family .pair.two{height:26%;width:26%;left:51%;bottom:15%;background:rgba(216,255,50,.32)}
.card-stage .crowd{background:repeating-linear-gradient(90deg,#030303 0 8%,#171718 8% 12%);clip-path:polygon(0 55%,8% 30%,16% 66%,27% 18%,39% 58%,52% 24%,63% 69%,76% 12%,88% 53%,100% 28%,100% 100%,0 100%)}
