:root{--bg:#0a0a0a;--bg-2:#0f0e0d;--surface:#141311;--line:#ece6d91f;--line-strong:#ece6d938;--text:#ece6d9;--muted:#9a948a;--dim:#6b665e;--gold:#c9aa71;--gold-soft:#c9aa7129;--serif:"Cormorant Garamond", "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;--mincho:"Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;--sans:"Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;--pad:clamp(1.25rem, 5vw, 5rem);--ease:cubic-bezier(.2, .7, .1, 1)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--sans);letter-spacing:.04em;-webkit-font-smoothing:antialiased;margin:0;font-size:1rem;font-weight:300;line-height:2;overflow-x:hidden}h1,h2,h3,p,ul{margin:0;padding:0}ul{list-style:none}a{color:inherit;text-decoration:none}img,svg,canvas{max-width:100%;display:block}em{color:var(--gold);font-style:italic}[hidden]{display:none!important}::selection{background:var(--gold);color:#0a0a0a}:focus-visible{outline:1px solid var(--gold);outline-offset:4px}.skip{z-index:100;background:var(--gold);color:#0a0a0a;padding:.5rem 1rem;position:fixed;top:-4rem;left:1rem}.skip:focus{top:1rem}.grain{z-index:50;pointer-events:none;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}.progress{z-index:60;height:1px;position:fixed;top:0;left:0;right:0}.progress span{background:var(--gold);transform-origin:0;width:100%;height:100%;display:block;transform:scaleX(0)}.eyebrow{font-family:var(--serif);letter-spacing:.28em;text-transform:uppercase;color:var(--gold);align-items:center;gap:1rem;font-size:.95rem;font-weight:400;line-height:1;display:flex}.eyebrow .line{background:var(--gold);opacity:.7;width:3rem;height:1px}.section{padding:clamp(6rem, 14vw, 11rem) var(--pad);position:relative}.section__head{margin-bottom:clamp(3.5rem,8vw,7rem)}.section__title{font-family:var(--mincho);letter-spacing:.08em;margin-top:1.75rem;font-size:clamp(2rem,5vw,3.75rem);font-weight:400;line-height:1.4}.section__note{color:var(--muted);margin-top:1.25rem;font-size:.95rem}.js .reveal{opacity:0;transition:opacity 1.2s var(--ease), transform 1.2s var(--ease);transform:translateY(2.5rem)}.js .reveal.in{opacity:1;transform:none}.link{letter-spacing:.14em;background:linear-gradient(var(--gold), var(--gold)) left bottom / 100% 1px no-repeat, linear-gradient(var(--line-strong), var(--line-strong)) left bottom / 100% 1px no-repeat;transition:color .4s, background-size .6s var(--ease);align-items:center;gap:.9rem;padding-bottom:.5rem;font-size:.9rem;display:inline-flex}a.link{background-size:0 1px,100% 1px}a.link:hover{color:var(--gold);background-size:100% 1px,100% 1px}.link__arrow{font-family:var(--serif);transition:transform .5s var(--ease);font-size:1.15em;display:inline-block}a:hover .link__arrow{transform:translate(.25rem,-.25rem)}.link--muted{color:var(--dim);background:0 0;padding:0}.nav{z-index:40;padding:1.5rem var(--pad);transition:padding .5s var(--ease), background-color .5s, border-color .5s;border-bottom:1px solid #0000;justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.nav.is-scrolled{backdrop-filter:blur(14px)saturate(140%);border-color:var(--line);background:#0a0a0ab8;padding-block:.9rem}.nav__logo{align-items:center;gap:.9rem;display:flex}.nav__mark{border:1px solid var(--gold);width:2.4rem;height:2.4rem;font-family:var(--serif);color:var(--gold);border-radius:50%;place-items:center;font-size:1.25rem;line-height:1;display:grid}.nav__name{font-family:var(--serif);letter-spacing:.22em;text-transform:uppercase;font-size:1.15rem}.nav__links{gap:clamp(1.25rem,3vw,3rem);display:flex}.nav__links a{font-family:var(--serif);letter-spacing:.16em;text-transform:uppercase;align-items:baseline;gap:.5rem;padding:.25rem 0;font-size:1.05rem;transition:color .4s;display:inline-flex;position:relative}.nav__links a span{color:var(--gold);letter-spacing:.1em;font-size:.7rem}.nav__links a:after{content:"";background:var(--gold);transform-origin:100%;height:1px;transition:transform .5s var(--ease);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.nav__links a:hover,.nav__links a[aria-current]{color:var(--gold)}.nav__links a:hover:after{transform-origin:0;transform:scaleX(1)}.hero{min-height:100svh;padding:8rem var(--pad) 3rem;isolation:isolate;flex-direction:column;justify-content:center;display:flex;position:relative;overflow:hidden}.hero__dust{z-index:-1;width:100%;height:100%;position:absolute;inset:0}.hero__bg{z-index:-2;background:var(--bg);position:absolute;inset:0;overflow:hidden}.hero__bg img{object-fit:cover;object-position:70% center;width:100%;height:100%;animation:2.4s forwards bg-in,28s ease-in-out infinite alternate bg-zoom}.hero__bg:after{content:"";background:linear-gradient(90deg, #0a0a0ae0 0%, #0a0a0a73 45%, #0a0a0a00 75%), linear-gradient(180deg, #0a0a0a8c 0%, #0a0a0a00 22%, #0a0a0a00 68%, var(--bg) 100%);position:absolute;inset:0}.js .hero__bg img{opacity:0}@keyframes bg-in{to{opacity:1}}@keyframes bg-zoom{0%{transform:scale(1)}to{transform:scale(1.08)}}.hero__inner{margin-block:auto;padding-top:2rem}.hero__title{font-family:var(--serif);letter-spacing:-.02em;margin-top:2.5rem;font-size:clamp(4.25rem,17vw,16rem);font-weight:300;line-height:.95}.hero__role{font-family:var(--serif);letter-spacing:.04em;color:var(--muted);margin-top:1rem;font-size:clamp(1.4rem,3.6vw,3rem);font-weight:300;line-height:1.3}.hero__lead{max-width:40rem;color:var(--muted);margin-top:clamp(2rem,4vw,3.5rem);font-size:clamp(.92rem,1.2vw,1.05rem)}.mask{margin-bottom:-.14em;padding-bottom:.26em;display:block;overflow:hidden}.mask>span{display:block}.js .mask>span{animation:rise 1.5s var(--ease) .15s forwards;transform:translateY(110%)}.js .hero__role .mask>span{animation-delay:.4s}.js .hero__eyebrow,.js .hero__lead,.js .hero__foot{opacity:0;animation:1.4s .9s forwards fade}@keyframes rise{to{transform:none}}@keyframes fade{to{opacity:1}}.hero__foot{justify-content:space-between;align-items:flex-end;gap:2rem;padding-top:3rem;display:flex}.scroll{font-family:var(--serif);letter-spacing:.3em;text-transform:uppercase;color:var(--muted);align-items:center;gap:1rem;font-size:.85rem;display:inline-flex}.scroll__line{background:var(--line-strong);width:4.5rem;height:1px;position:relative;overflow:hidden}.scroll__line:after{content:"";background:var(--gold);animation:sweep 2.6s var(--ease) infinite;position:absolute;inset:0}@keyframes sweep{0%{transform:translate(-100%)}60%,to{transform:translate(100%)}}.hero__meta{text-align:right;font-family:var(--serif);letter-spacing:.18em;color:var(--dim);text-transform:uppercase;font-size:.9rem;line-height:1.8}.marquee{border-block:1px solid var(--line);background:var(--bg-2);padding:1.4rem 0;overflow:hidden}.marquee__track{align-items:center;width:max-content;animation:48s linear infinite marquee;display:flex}.marquee span{font-family:var(--serif);letter-spacing:.06em;color:var(--muted);white-space:nowrap;font-size:clamp(1.3rem,2.4vw,2rem);font-style:italic;font-weight:300}.marquee i{background:var(--gold);flex:none;width:5px;height:5px;margin:0 clamp(1.5rem,3vw,3rem);transform:rotate(45deg)}@keyframes marquee{to{transform:translate(-50%)}}.work{border-top:1px solid var(--line);grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:center;gap:clamp(2rem,6vw,6rem);padding-block:clamp(3rem,7vw,6rem);display:grid}.work:last-of-type{border-bottom:1px solid var(--line)}.work--flip .work__visual{order:2}.work--flip{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}.work__visual{position:relative}.frame,.art{border:1px solid var(--line-strong);background:var(--surface);transition:border-color .8s, transform 1s var(--ease);border-radius:10px;position:relative;overflow:hidden;box-shadow:0 40px 80px -40px #000000e6,0 0 0 1px #0009}.work:hover .frame,.work:hover .art{border-color:#c9aa718c;transform:translateY(-6px)}.frame__bar{border-bottom:1px solid var(--line);background:#100f0e;align-items:center;gap:.4rem;padding:.7rem 1rem;display:flex}.frame__bar i{background:var(--line-strong);border-radius:50%;width:7px;height:7px}.frame__bar span{letter-spacing:.08em;color:var(--dim);text-overflow:ellipsis;white-space:nowrap;margin-left:.8rem;font-size:.68rem;line-height:1;overflow:hidden}.frame img{aspect-ratio:16/10.5;object-fit:cover;object-position:top center;filter:brightness(.78)saturate(.85)contrast(1.02);width:100%;height:auto;transition:filter 1s, transform 1.6s var(--ease)}.work:hover .frame img{filter:none;transform:scale(1.02)}.art{aspect-ratio:16/10;color:var(--gold);background:radial-gradient(60% 70% at var(--mx,50%) var(--my,40%), #c9aa7121, transparent 70%), linear-gradient(160deg, #15130f, #0b0b0a 70%)}.art svg{width:100%;height:100%}.art__em{opacity:.85}.art__float{transform-origin:50%;animation:7s ease-in-out infinite float}@keyframes float{50%{transform:translateY(-8px)}}.work__no{font-family:var(--serif);color:#0000;-webkit-text-stroke:1px #c9aa718c;font-size:clamp(3.5rem,7vw,6rem);font-weight:300;line-height:1}.work__kind{font-family:var(--serif);letter-spacing:.26em;text-transform:uppercase;color:var(--gold);margin-top:1.5rem;font-size:.9rem;line-height:1.4}.work__title{font-family:var(--mincho);letter-spacing:.08em;margin-top:.75rem;font-size:clamp(1.7rem,3.2vw,2.6rem);font-weight:500;line-height:1.4}.work__title small{font-family:var(--serif);letter-spacing:.1em;color:var(--muted);margin-top:.25rem;font-size:.5em;font-style:italic;font-weight:300;display:block}.work__text{color:#bdb7ab;margin-top:1.75rem;font-size:.95rem}.work__caution{color:var(--dim);margin-top:.75rem;font-size:.78rem}.tags{flex-wrap:wrap;gap:.5rem;margin:1.75rem 0 2.25rem;display:flex}.tags li{border:1px solid var(--line-strong);letter-spacing:.1em;color:var(--muted);border-radius:99px;padding:.3rem .9rem;font-size:.72rem;line-height:1.6}.about{background:linear-gradient(var(--bg), var(--bg-2) 30%, var(--bg))}.about__grid{grid-template-columns:minmax(0,6fr) minmax(0,5fr);align-items:start;gap:clamp(2rem,6vw,6rem);display:grid}.about__lead{font-family:var(--mincho);letter-spacing:.1em;font-size:clamp(1.6rem,3.6vw,3rem);line-height:1.7}.about__lead em{font-style:normal}.about__text{color:#bdb7ab}.about__text p+p{margin-top:1.5rem}.caps{border-top:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));margin-top:clamp(4rem,9vw,8rem);display:grid}.cap{border-left:1px solid var(--line);padding:3rem clamp(1.25rem,3vw,3rem) 1rem;transition-delay:calc(var(--i,0) * .12s)!important}.cap:first-child{border-left:0;padding-left:0}.cap:nth-child(2){--i:1}.cap:nth-child(3){--i:2}.cap__no{font-family:var(--serif);color:var(--gold);font-size:1.2rem;font-style:italic;line-height:1}.cap__title{font-family:var(--serif);letter-spacing:.02em;margin-top:1.5rem;font-size:clamp(2rem,3.4vw,2.9rem);font-weight:300;line-height:1.1}.cap__title small{font-family:var(--sans);letter-spacing:.3em;color:var(--muted);margin-top:.6rem;font-size:.78rem;display:block}.cap__text{color:var(--muted);margin-top:1.75rem;font-size:.88rem}.contact{text-align:center;isolation:isolate;border-top:1px solid var(--line);overflow:hidden}.contact .eyebrow{justify-content:center}.contact__glow{z-index:-1;aspect-ratio:1;filter:blur(30px);background:radial-gradient(closest-side,#c9aa7133,#0000 70%);width:min(1100px,120vw);position:absolute;bottom:-55%;left:50%;transform:translate(-50%)}.contact__title{font-family:var(--serif);letter-spacing:-.01em;margin-top:2.5rem;font-size:clamp(2.6rem,8.5vw,7.5rem);font-weight:300;line-height:1.08}.contact__text{color:var(--muted);margin-top:2.5rem}.contact__mail{border:1px solid var(--gold);font-family:var(--serif);letter-spacing:.08em;color:var(--gold);background:linear-gradient(var(--gold), var(--gold)) center / 0 100% no-repeat;transition:color .5s, background-size .6s var(--ease), transform 1.2s var(--ease), opacity 1.2s var(--ease);border-radius:99px;align-items:center;gap:1.25rem;margin-top:3rem;padding:1.15rem 2.75rem;font-size:clamp(1.1rem,2vw,1.5rem);display:inline-flex}.contact__mail:hover{color:#0a0a0a;background-size:100% 100%}.footer{padding:2rem var(--pad);border-top:1px solid var(--line);font-family:var(--serif);letter-spacing:.18em;text-transform:uppercase;color:var(--dim);justify-content:space-between;align-items:center;gap:1rem;font-size:.9rem;display:flex}.footer a{transition:color .4s}.footer a:hover{color:var(--gold)}@media (width<=860px){.pc{display:none}.work,.work--flip,.about__grid{grid-template-columns:minmax(0,1fr)}.work--flip .work__visual{order:0}.caps{grid-template-columns:minmax(0,1fr)}.cap,.cap:first-child{border-left:0;border-bottom:1px solid var(--line);padding:2.5rem 0}.hero__meta{display:none}.hero__bg img{object-position:76% center}.hero__bg:after{background:linear-gradient(90deg, #0a0a0ae0 0%, #0a0a0aad 55%, #0a0a0a4d 100%), linear-gradient(180deg, #0a0a0ab3 0%, #0a0a0a4d 30%, #0a0a0a33 70%, var(--bg) 100%)}.hero__lead{color:#c4beb2}}@media (width<=560px){body{line-height:1.9}.nav__name{display:none}.nav__links{gap:1.1rem}.nav__links a{letter-spacing:.1em;font-size:.9rem}.nav__links a span{display:none}.contact__mail{padding:1rem 1.75rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.js .reveal,.js .mask>span,.js .hero__eyebrow,.js .hero__lead,.js .hero__foot,.js .hero__bg img{opacity:1;transform:none}}
