:root{--black:#0a0a0a;--white:#fff;--soft:#f4f4f2;--muted:#777;--line:#d8d8d5;--pad:clamp(22px,5vw,76px)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--white);color:var(--black);font:16px/1.8 Manrope,"Noto Sans JP",sans-serif}img{display:block;width:100%}a{color:inherit;text-decoration:none}button{font:inherit}
.site-header{position:fixed;z-index:20;top:0;width:100%;height:72px;padding:0 var(--pad);display:flex;align-items:center;color:#fff;transition:.3s}.site-header.scrolled{color:#111;background:rgba(255,255,255,.96);border-bottom:1px solid #ddd}.site-header nav{width:100%;display:flex;align-items:center;justify-content:flex-end;gap:clamp(24px,3vw,48px)}.nav-pages,.nav-social{display:flex;align-items:center}.nav-pages{gap:clamp(18px,2.4vw,36px)}.nav-social{gap:18px}.nav-pages a{font-size:.72rem;letter-spacing:.15em}.site-header nav a:hover{opacity:.55}.nav-icon{display:grid;place-items:center}.nav-icon svg,.contact-link svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7}.nav-icon .fill-dot,.contact-link .fill-dot{fill:currentColor;stroke:none}.menu-toggle{display:none;color:inherit;background:none;border:0;font-size:.7rem;letter-spacing:.14em}
.hero{position:relative;height:100svh;min-height:580px;background:#000;overflow:hidden}.hero-slides,.hero-slide{position:absolute;inset:0;width:100%;height:100%}.hero-slide{object-fit:contain;background:#000;opacity:0;transition:opacity 1.4s ease}.hero-slide.hero-elephant{inset:6%;width:88%;height:88%;object-fit:contain;object-position:center}.hero-slide.hero-mono{filter:grayscale(1)}.hero-slide.active{opacity:1}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.28),transparent 45%)}.hero-copy{position:absolute;left:var(--pad);top:clamp(120px,18vh,190px);color:#fff}.hero-copy h1{margin:0}.hero-copy h1 img{width:clamp(250px,31vw,470px);height:auto}.hero-copy p{margin:18px 0 0;font-size:.67rem;letter-spacing:.22em}.hero-progress{position:absolute;right:var(--pad);bottom:34px;display:flex;gap:8px}.hero-progress span{display:block;width:28px;height:1px;background:rgba(255,255,255,.42);transition:background .5s}.hero-progress span.active{background:#fff}
.gallery-section,.awards-section,.about-section,.contact-section{padding:clamp(90px,12vw,165px) var(--pad);content-visibility:auto;contain-intrinsic-size:1px 1000px}.section-heading{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:clamp(45px,7vw,90px);gap:30px}.section-heading h2{margin:0;font-size:clamp(2.3rem,5vw,5.3rem);font-weight:300;line-height:1}.section-heading p{margin:0;font-family:"Noto Sans JP",sans-serif;font-weight:300;color:var(--muted)}
.gallery-section{padding-left:0;padding-right:0;background:#050505;color:#fff}.gallery-section>.section-heading,.collection>h3{margin-left:var(--pad);margin-right:var(--pad)}.collection+.collection{margin-top:clamp(90px,12vw,160px)}.collection>h3{margin-bottom:26px;font-size:clamp(1.5rem,3vw,2.7rem);font-weight:300;letter-spacing:.08em}.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:dense;gap:5px}.image-button{padding:0;border:0;background:#111;cursor:zoom-in;overflow:hidden}.image-button img{height:100%;object-fit:cover;transition:transform .7s ease,opacity .5s}.image-button:hover img{transform:scale(1.015);opacity:.88}.image-button.wide{grid-column:span 2;aspect-ratio:3/2}.image-button.portrait{grid-column:span 1;aspect-ratio:2/3}
.awards-section{background:var(--soft)}.award-heading{justify-content:center;text-align:center}.award-heading h2{padding:22px 34px;border:1px solid #777;font-size:clamp(2rem,4vw,4.2rem)}.award-list{border-top:1px solid var(--line)}.award-list article{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(330px,.88fr);grid-template-rows:auto auto auto 1fr;column-gap:clamp(42px,6vw,96px);padding:clamp(90px,11vw,150px) 0;border-bottom:1px solid var(--line);align-items:start}.award-image{grid-column:1;grid-row:1/6;justify-self:center;width:100%;height:clamp(520px,68vh,760px);object-fit:contain;background:transparent}.award-list p,.award-list h3,.award-list em{margin:0}.award-list .year{grid-column:2;font-size:1.15rem;letter-spacing:.14em;color:#555}.award-list article>div:not(.links){grid-column:2;margin-top:18px}.award-list h3{font-size:clamp(1.65rem,2.5vw,2.5rem);font-weight:500;line-height:1.35}.award-list article div>p{margin-top:14px;font-size:clamp(1.05rem,1.35vw,1.3rem);line-height:1.6;color:#444;letter-spacing:.04em}.award-list em{display:block;margin-top:12px;font-size:clamp(1.15rem,1.6vw,1.5rem);font-style:normal}.award-caption{grid-column:2;max-width:760px;margin-top:30px!important;font-size:clamp(1rem,1.25vw,1.18rem)!important;line-height:1.95!important;color:#555!important}.links{grid-column:2;display:flex;flex-wrap:wrap;gap:24px;margin-top:30px}.links a{padding:9px 0;font-size:1rem;letter-spacing:.13em;border-bottom:1px solid #777}.links a:hover{opacity:.5}.mono-display img{filter:grayscale(1)}
.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw}.about-grid h3{margin:0;font-size:clamp(3.8rem,10vw,9rem);font-weight:300;letter-spacing:.08em;line-height:1}.about-grid>div{max-width:650px}.about-grid p{font-family:"Noto Sans JP",sans-serif;font-weight:300;line-height:2.1}.about-grid .based{font-family:Manrope,sans-serif;font-size:1.1rem;letter-spacing:.04em;margin-top:0}.about-grid .location{margin:24px 0 0;font-family:Manrope,sans-serif;font-size:.68rem;letter-spacing:.17em;color:var(--muted)}.about-copy p+p{margin-top:28px}.contact-section{background:#fff;border-top:1px solid var(--line)}.contact-intro{margin:-45px 0 55px}.contact-intro p{margin:0}.contact-intro p:last-child{font-family:"Noto Sans JP",sans-serif;color:var(--muted);font-size:.88rem}.contact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 45px;max-width:980px}.contact-form label{display:grid;gap:10px;font-size:.72rem;letter-spacing:.12em}.contact-form label:last-of-type{grid-column:1/-1}.contact-form input,.contact-form textarea{width:100%;padding:12px 0;border:0;border-bottom:1px solid #999;border-radius:0;background:transparent;color:var(--black);font:16px/1.6 Manrope,"Noto Sans JP",sans-serif;outline:none}.contact-form textarea{resize:vertical}.contact-form input:focus,.contact-form textarea:focus{border-color:#111}.contact-form button{justify-self:start;padding:13px 0;border:0;border-bottom:1px solid #111;background:none;font-size:.72rem;letter-spacing:.14em;cursor:pointer}
footer{padding:75px var(--pad) 28px;background:var(--black);color:#fff}.contact-links{display:flex;align-items:center;gap:24px}.contact-link{display:grid;place-items:center}.contact-link svg{width:24px;height:24px}.contact-link:hover{opacity:.6}.footer-bottom{display:flex;justify-content:space-between;margin-top:70px;padding-top:20px;border-top:1px solid #333;font-size:.67rem;letter-spacing:.13em;color:#999}
.lightbox{position:fixed;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:58px clamp(48px,7vw,110px) 22px;background:rgba(0,0,0,.97);border:0;color:#fff}.lightbox::backdrop{background:#000}.lightbox img{height:100%;object-fit:contain}.lightbox img.monochrome{filter:grayscale(1)}.lightbox-close{position:absolute;z-index:2;right:20px;top:18px;background:none;border:0;color:#fff;font-size:.68rem;letter-spacing:.13em;cursor:pointer}.lightbox-nav{position:absolute;z-index:2;top:50%;width:48px;height:64px;transform:translateY(-50%);border:0;background:rgba(0,0,0,.32);color:#fff;font:300 3rem/1 Georgia,serif;cursor:pointer}.lightbox-prev{left:8px}.lightbox-next{right:8px}.lightbox-nav:hover{background:rgba(255,255,255,.15)}
@media(max-width:1050px){.award-list article{grid-template-columns:minmax(0,1fr) minmax(290px,.9fr);column-gap:38px}.award-image{height:clamp(440px,60vh,650px)}}
@media(max-width:760px){.site-header{height:62px;justify-content:flex-end}.menu-toggle{display:block}.site-header nav{display:none;position:absolute;top:62px;left:0;width:100%;padding:24px var(--pad) 28px;background:#fff;color:#111;flex-direction:column;align-items:flex-start;gap:24px}.site-header nav.open{display:flex}.nav-pages{flex-direction:column;align-items:flex-start;gap:17px}.nav-social{gap:20px}.hero{min-height:540px}.hero-slide{object-position:57% center}.hero-slide.hero-elephant{inset:4%;width:92%;height:92%;object-position:center}.hero-copy{top:105px}.hero-copy h1{font-size:3.5rem}.hero-progress{bottom:22px}.gallery-section,.awards-section,.about-section,.contact-section{padding-top:80px;padding-bottom:80px}.section-heading{display:block;margin-bottom:42px}.section-heading p{margin-top:18px}.award-heading h2{padding:16px 10px;font-size:clamp(1rem,5vw,1.75rem);white-space:nowrap}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:3px}.award-list article{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);grid-template-rows:auto auto auto 1fr;gap:8px 16px;padding:58px 0;align-items:start}.award-list .award-image{grid-column:1;grid-row:1/6;width:100%;height:clamp(250px,52vh,470px);max-height:none;margin:0;object-fit:contain}.award-list article>div:not(.links),.award-list .award-caption,.award-list .links{grid-column:2;position:relative;z-index:2}.award-list h3{font-size:clamp(1rem,4vw,1.35rem)}.award-caption{margin-top:14px!important;font-size:.88rem!important;line-height:1.7!important}.links{margin-top:16px}.links a{display:inline-flex;align-items:center;min-height:44px;font-size:.85rem;touch-action:manipulation}.about-grid{grid-template-columns:1fr;gap:48px}.about-grid h3{font-size:4.8rem}.contact-intro{margin:0 0 42px}.contact-form{grid-template-columns:1fr;gap:28px}.contact-form label:last-of-type{grid-column:1}.contact-link{font-size:.72rem}footer{padding-top:60px}.lightbox{padding:54px 38px 16px}.lightbox-nav{width:36px;height:56px;font-size:2.4rem}.lightbox-prev{left:0}.lightbox-next{right:0}}
.award-image-button{grid-column:1;grid-row:1/6;justify-self:center;width:100%;height:clamp(520px,68vh,760px);padding:0;border:0;background:transparent;cursor:zoom-in}.award-image-button .award-image{width:100%;height:100%;object-fit:contain}
@media(max-width:1050px) and (min-width:761px){.award-image-button{height:clamp(440px,60vh,650px)}}
@media(max-width:760px){.award-list article{display:block;padding:58px 0}.award-list .award-image-button{display:block;width:100%;height:auto;margin:0 0 34px}.award-list .award-image-button .award-image{width:100%;height:auto;max-height:72svh;margin:auto;object-fit:contain}.award-list article>div:not(.links),.award-list .award-caption,.award-list .links{position:relative;z-index:auto}.award-list h3{font-size:clamp(1.35rem,5.4vw,1.75rem)}.award-list article div>p{font-size:1rem}.award-list em{font-size:1.12rem}.award-caption{margin-top:22px!important;font-size:1rem!important;line-height:1.85!important}.links{position:relative;z-index:3;margin-top:22px}.links a{min-height:48px;font-size:.9rem}.contact-links{justify-content:center}}
@media(max-width:760px){.lightbox{padding-top:96px}.lightbox-close{position:fixed;top:68px;right:14px;min-width:92px;min-height:44px;padding:10px 12px;border:1px solid rgba(255,255,255,.6);background:rgba(0,0,0,.78);font-size:.75rem}}
.links a,.contact-link,.nav-icon{position:relative;z-index:6;pointer-events:auto}.contact-link,.nav-icon{min-width:44px;min-height:44px}
.gold-title{display:inline-block;color:#b88a2f;font-weight:500;letter-spacing:.075em;text-shadow:0 1px 0 rgba(255,255,255,.65)}
.about-section{position:relative;isolation:isolate;overflow:hidden;background:#080808;color:#fff}
.about-section::before{content:"";position:absolute;z-index:-2;inset:0;background:url("./assets/full/circle.webp") center/cover no-repeat;filter:grayscale(1);opacity:.28;transform:scale(1.025)}
.about-section::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.8) 48%,rgba(0,0,0,.9) 100%)}
.about-inner{max-width:1380px;margin:0 auto}
.about-heading{justify-content:flex-start;gap:30px;margin-bottom:clamp(48px,7vw,82px)}
.about-heading h2{font:500 clamp(2rem,4.2vw,4.2rem)/1 Manrope,sans-serif;letter-spacing:.16em}
.about-heading span{display:block;width:clamp(70px,10vw,150px);height:1px;background:rgba(255,255,255,.68)}
.about-grid{grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr);gap:clamp(55px,9vw,130px);align-items:start}
.about-grid>div{max-width:none}
.about-identity{display:grid;grid-template-columns:minmax(180px,330px) auto 1fr;align-items:center;gap:22px;font-family:"Bodoni Moda","Noto Sans JP",serif}
.about-identity img{width:100%;height:auto}
.about-identity span{font-size:2rem;font-weight:300;color:rgba(255,255,255,.58)}
.about-identity strong{font-family:"Noto Sans JP",serif;font-size:clamp(1rem,1.5vw,1.35rem);font-weight:300;letter-spacing:.15em;white-space:nowrap}
.about-copy{max-width:760px}
.about-copy p{margin:0;font-family:"Noto Sans JP",serif;font-size:clamp(1rem,1.2vw,1.12rem);font-weight:300;line-height:2.15;letter-spacing:.035em}
.about-copy p+p{margin-top:28px}
.about-en{margin-top:52px;padding-top:42px;border-top:1px solid rgba(255,255,255,.32)}
.about-en p{font-family:"Bodoni Moda",Georgia,serif;font-size:clamp(1.02rem,1.35vw,1.2rem);line-height:1.95;letter-spacing:.01em}
.about-en em{color:#d4ad58;font-style:normal}
.lightbox-nav:disabled{visibility:hidden;pointer-events:none}
@media(max-width:760px){.about-heading{display:flex;align-items:center;gap:18px}.about-heading h2{font-size:clamp(1.7rem,8vw,2.45rem);letter-spacing:.11em}.about-heading span{width:70px}.about-grid{grid-template-columns:1fr;gap:48px}.about-identity{grid-template-columns:minmax(150px,230px) auto 1fr;gap:13px}.about-identity strong{font-size:.95rem;letter-spacing:.09em}.about-identity span{font-size:1.55rem}.about-section::before{background-position:58% center;opacity:.22}.about-copy p{font-size:1rem;line-height:2}.about-en{margin-top:42px;padding-top:34px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.image-button img{transition:none}}
