@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Noto+Serif+JP:wght@500;600&display=swap";
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#171714;background:#f1f0eb;font-family:DM Sans,Helvetica Neue,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background-color:#f1f0eb;background-image:linear-gradient(#17171408 1px,#0000 1px),linear-gradient(90deg,#17171408 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:48px 48px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;min-height:100%;margin:0}button,a{color:inherit;font:inherit}button{cursor:pointer}.site-header{border-bottom:1px solid #c8c6bd;justify-content:space-between;align-items:center;padding:28px clamp(24px,4vw,64px);display:flex}.wordmark{color:#171714;letter-spacing:.17em;font-size:15px;font-weight:600;text-decoration:none}.wordmark span{color:#f04b23}.site-header p,footer p{color:#77756d;letter-spacing:.2em;margin:0;font-size:10px}.intro{max-width:1440px;margin:0 auto;padding:clamp(72px,10vw,144px) clamp(24px,7vw,104px) clamp(64px,8vw,112px)}.eyebrow{color:#f04b23;letter-spacing:.24em;align-items:center;gap:12px;margin:0 0 24px;font-size:10px;font-weight:600;display:flex}.eyebrow:before{content:"";background:currentColor;width:32px;height:1px}h1{letter-spacing:-.075em;margin:0;font-family:Noto Serif JP,serif;font-size:clamp(54px,9.6vw,138px);font-weight:500;line-height:1.08}h1 em{color:#f04b23;font-style:normal}.intro-copy{color:#6d6a62;max-width:32rem;margin:42px 0 0 auto;font-family:Noto Serif JP,serif;font-size:clamp(13px,1.4vw,16px);line-height:2}.filters{scrollbar-width:none;border-top:1px solid #c8c6bd;border-bottom:1px solid #c8c6bd;gap:8px;padding:18px clamp(24px,4vw,64px);display:flex;overflow-x:auto}.filters button{color:#77756d;background:0 0;border:1px solid #0000;border-radius:99px;flex:none;padding:10px 15px;font-size:12px;transition:color .18s,border-color .18s,background .18s}.filters button:hover{color:#171714}.filters button.active{color:#f1f0eb;background:#171714;border-color:#171714}.filters button span{opacity:.6;vertical-align:top;margin-left:5px;font-size:9px}.gallery{min-height:45vh;padding:clamp(24px,4vw,64px)}.image-grid{columns:3 300px;column-gap:clamp(12px,2vw,28px)}.image-card{break-inside:avoid;width:100%;margin:0 0 clamp(12px,2vw,28px);display:inline-block}.image-frame{min-height:180px;position:relative;overflow:hidden}.image-frame img{object-fit:cover;width:100%;height:100%;transition:transform .7s cubic-bezier(.2,.7,0,1);display:block}.image-card:hover img{transform:scale(1.025)}.image-overlay{color:#fff;opacity:0;background:linear-gradient(#0000,#000000b3);padding:48px 20px 18px;transition:opacity .25s,transform .25s;position:absolute;bottom:0;left:0;right:0;transform:translateY(8px)}.image-card:hover .image-overlay,.image-card:focus-within .image-overlay{opacity:1;transform:none}.image-overlay h2{margin:0;font-family:Noto Serif JP,serif;font-size:17px;font-weight:500}.image-overlay p{letter-spacing:.12em;opacity:.72;margin:7px 0 0;font-size:10px}.loading-state,.empty-state{text-align:center;place-content:center;min-height:40vh;display:grid}.loading-state span{border:1px solid #c8c6bd;border-top-color:#f04b23;border-radius:50%;width:28px;height:28px;margin:0 auto 18px;animation:.8s linear infinite spin}.loading-state p,.empty-state>p:last-child{color:#77756d;letter-spacing:.08em;font-size:12px}.empty-mark{color:#f04b23;margin:0;font-family:serif;font-size:48px}.empty-state h2{margin:10px 0;font-family:Noto Serif JP,serif;font-size:22px;font-weight:500}.error-message{color:#81290f;background:#f8e8e2;border:1px solid #d9a494;align-items:center;gap:12px;width:fit-content;max-width:calc(100% - 48px);margin:0 auto 30px;padding:12px 18px;font-size:12px;display:flex}.error-message span{border:1px solid;border-radius:50%;place-items:center;width:20px;height:20px;display:grid}.error-message p{margin:0}.load-more{place-items:center;padding:16px 24px 72px;display:grid}.load-more button{letter-spacing:.12em;background:0 0;border:1px solid #171714;border-radius:0;min-width:180px;padding:15px 26px;font-size:11px;transition:background .18s,color .18s}.load-more button:hover:not(:disabled){color:#fff;background:#171714}.load-more button:disabled{cursor:wait;opacity:.5}footer{border-top:1px solid #c8c6bd;justify-content:space-between;padding:28px clamp(24px,4vw,64px);display:flex}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:640px){.site-header{padding-block:22px}.site-header>p{display:none}.intro{padding-top:64px}.intro-copy{margin-top:28px}.gallery{padding-inline:14px}.image-grid{columns:1}.image-overlay{opacity:1;transform:none}footer{flex-direction:column;gap:18px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
