#sajin-concepts{--paper:light-dark(#faf9f6,#191b19);--ink:light-dark(#20241f,#eceee7);--soft:light-dark(#687063,#bbc1b4);--line:light-dark(#d7dacf,#485044);--space:1;position:relative;background:var(--paper);color:var(--ink);font-family:Arial,'Apple SD Gothic Neo',sans-serif;min-width:0;overflow:clip}
#sajin-concepts *{box-sizing:border-box}
#sajin-concepts button{font:inherit;color:inherit;border:0;background:none;cursor:pointer;padding:8px 0;text-align:inherit}
#sajin-concepts button:focus-visible{outline:2px solid currentColor;outline-offset:5px}
#sajin-concepts [hidden]{display:none!important}
#sajin-concepts .ss-home{display:block;padding:0;flex-shrink:0}
#sajin-concepts .ss-logo{display:block;width:156px;aspect-ratio:2.55;background:var(--ink);mask-image:var(--logo);mask-position:center;mask-size:contain;mask-repeat:no-repeat;-webkit-mask-image:var(--logo);-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat}
#sajin-concepts .ss-nav{display:flex;gap:21px;flex-wrap:wrap;justify-content:flex-end;align-items:center;padding-top:6px}
#sajin-concepts .ss-nav button,#sajin-concepts .ss-filters button{font-size:13px;line-height:1.4;white-space:nowrap}
#sajin-concepts button[aria-pressed=true]{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
#sajin-concepts .ss-overview{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:calc(66px * var(--space)) 22px;align-items:start}
#sajin-concepts figure{margin:0;min-width:0}
#sajin-concepts .ss-tile{align-self:start}
#sajin-concepts .ss-media-button{display:block;position:relative;width:100%;padding:0;line-height:0;overflow:hidden}
#sajin-concepts .ss-tile img,#sajin-concepts .ss-photo-grid img{display:block;width:100%;height:auto}
#sajin-concepts .ss-media-button img{transition:opacity .18s ease}
#sajin-concepts .ss-media-button:hover img{opacity:.92}
#sajin-concepts .ss-category-button img{transition:transform .4s ease;transform:scale(1);opacity:1}
#sajin-concepts .ss-category-button::after{content:"";position:absolute;inset:0;background:#000;opacity:0;transition:opacity .3s ease;pointer-events:none}
#sajin-concepts .ss-category-title{position:absolute;inset:0;display:grid;place-items:center;z-index:1;color:#fff;font-size:clamp(16px,2.2vw,30px);font-weight:400;line-height:1.2;letter-spacing:.02em;text-shadow:0 1px 8px #0008;opacity:0;transition:opacity .3s ease;pointer-events:none}
#sajin-concepts .ss-category-button:hover img,#sajin-concepts .ss-category-button:focus-visible img{transform:scale(1.04);opacity:1}
#sajin-concepts .ss-category-button:hover::after,#sajin-concepts .ss-category-button:focus-visible::after{opacity:.3}
#sajin-concepts .ss-category-button:hover .ss-category-title,#sajin-concepts .ss-category-button:focus-visible .ss-category-title{opacity:1}
@media(hover:none),(pointer:coarse){#sajin-concepts .ss-category-button::after{opacity:.3}#sajin-concepts .ss-category-title{opacity:1}}
#sajin-concepts .ss-play{position:absolute;left:18px;bottom:16px;font-size:12px;line-height:1;padding:11px 15px;border-radius:30px;background:#f7f7f2;color:#171a16;letter-spacing:.08em}
#sajin-concepts .ss-filters{display:flex;flex-wrap:wrap;gap:12px 25px;padding:0 0 35px}
#sajin-concepts .ss-motion{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:55px 25px}
#sajin-concepts .ss-film video{display:block;width:100%;height:auto;object-fit:contain;background:#111}
#sajin-concepts .ss-film figcaption{display:flex;justify-content:space-between;gap:15px;padding-top:14px;font-size:13px;color:var(--soft)}
#sajin-concepts .ss-film figcaption span:first-child{color:var(--ink)}
#sajin-concepts .ss-information{padding:50px 0 120px;max-width:640px;margin:auto}
#sajin-concepts .ss-information h1{font:400 34px/1.1 Georgia,serif;margin:0 0 32px}
#sajin-concepts .ss-information p{line-height:1.8}
#sajin-concepts .ss-placeholder{color:var(--soft)}
#sajin-concepts .ss-about-photo{max-width:330px;margin-top:45px}
#sajin-concepts .ss-about-photo img{display:block;width:100%;height:auto}
#sajin-concepts .ss-detail .ss-back{margin-bottom:24px}
#sajin-concepts .ss-detail img,#sajin-concepts .ss-detail video{display:block;max-width:100%;max-height:760px;margin:auto;width:auto;height:auto}
#sajin-concepts .ss-detail video{width:100%;background:#111}
#sajin-concepts .ss-detail p{color:var(--soft);font-size:13px;text-align:center;padding-top:12px}
#sajin-concepts .ss-footer{display:flex;justify-content:space-between;gap:24px;margin-top:90px;padding-top:25px;color:var(--soft);font-size:11px;letter-spacing:.12em}
#sajin-concepts .ss-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
#sajin-concepts{scroll-margin-top:var(--review-bar-height,0px)}
#sajin-concepts.ss-intro-active{height:var(--intro-height,100svh);overflow:clip}
#sajin-concepts .ss-opening{height:var(--intro-height,100svh);position:absolute;inset:0;z-index:40;overflow:hidden;display:grid;place-items:center;background:var(--paper)}
#sajin-concepts .ss-opening-logo{width:188px;position:relative;z-index:1;background:#20241f;animation:ss-mark 1s ease both}
#sajin-concepts .ss-opening-art{position:absolute;inset:0;background:var(--opening-image) center/cover no-repeat;pointer-events:none}
#sajin-concepts .ss-intro-panel,#sajin-concepts .ss-intro-strip{position:absolute;inset:0;background:var(--opening-image) center/cover no-repeat;opacity:0;pointer-events:none}
#sajin-concepts .ss-intro-wash{position:absolute;inset:0;background:var(--paper);opacity:0;pointer-events:none}
#sajin-concepts[data-intro-phase=running] .ss-opening-art,#sajin-concepts[data-intro-phase=running] .ss-intro-panel,#sajin-concepts[data-intro-phase=running] .ss-intro-strip{will-change:transform,opacity}
#sajin-concepts .ss-enter{position:absolute;left:50%;bottom:28px;transform:translateX(-50%);width:64px;height:44px;display:grid;place-items:center;color:#faf9f6;padding:0;z-index:2}
#sajin-concepts .ss-scroll-chevron{position:relative;display:block;width:44px;height:14px;filter:drop-shadow(0 1px 2px #0005)}
#sajin-concepts .ss-scroll-chevron::before,#sajin-concepts .ss-scroll-chevron::after{content:"";position:absolute;top:0;width:25px;height:1.5px;background:currentColor}
#sajin-concepts .ss-scroll-chevron::before{left:0;transform:rotate(28deg);transform-origin:left center}
#sajin-concepts .ss-scroll-chevron::after{right:0;transform:rotate(-28deg);transform-origin:right center}
@keyframes ss-mark{0%{opacity:0;transform:translateY(8px)}35%,100%{opacity:1;transform:translateY(0)}}
/* Open Album: compact staggered galleries with comparable image areas. */
#sajin-concepts .ss-site{max-width:1440px;margin:0 auto;padding:0 38px 24px}
#sajin-concepts:not([data-preview=true]) .ss-site{min-height:100vh;min-height:100svh}
#sajin-concepts .ss-header{position:sticky;top:0;z-index:20;background:var(--paper);display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 -38px 22px;padding:40px 38px 36px}
#sajin-concepts[data-transition-review=true] .ss-header{top:var(--review-bar-height,0px)}
#sajin-concepts .ss-nav{padding:0;gap:23px}
#sajin-concepts .ss-nav button{min-height:40px}
#sajin-concepts a:focus-visible{outline:2px solid currentColor;outline-offset:5px}
#sajin-concepts .ss-overview,#sajin-concepts .ss-photo-grid{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:66px 24px;columns:auto}
#sajin-concepts .ss-arranged{display:block}
#sajin-concepts .ss-arranged>.ss-tile{position:absolute}
#sajin-concepts .ss-tile{scroll-margin-top:175px}
#sajin-concepts .ss-category-button{aspect-ratio:4/3}
#sajin-concepts .ss-category-button img{width:100%;height:100%;object-fit:cover}
#sajin-concepts .ss-category-button[data-category=portraits]{aspect-ratio:2/3}
#sajin-concepts .ss-category-button[data-category=portraits] img{height:auto;object-fit:contain}
#sajin-concepts .ss-filters{gap:4px 24px;padding:0 0 28px}
#sajin-concepts .ss-filters button{min-height:40px}
#sajin-concepts .ss-motion{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:75px 28px}
#sajin-concepts .ss-film:nth-child(2){margin-top:24px}
#sajin-concepts .ss-film:nth-child(3){margin-left:4%;width:96%}
#sajin-concepts .ss-information{padding:28px 0 65px;max-width:620px}
#sajin-concepts .ss-information p{font-size:15px;line-height:1.85}
#sajin-concepts .ss-about{max-width:940px;display:grid;grid-template-columns:1.1fr .8fr;align-items:center;gap:80px;padding:35px 0 70px}
#sajin-concepts .ss-about-copy{max-width:440px}
#sajin-concepts .ss-about-byline{margin-bottom:28px}
#sajin-concepts .ss-about-byline h2{font-size:18px;font-weight:400;line-height:1.4;margin:0 0 4px}
#sajin-concepts .ss-about-byline p{font-size:13px;line-height:1.5;color:var(--soft);margin:0}
#sajin-concepts .ss-about-photo{max-width:none;margin:0}
#sajin-concepts .ss-contact{max-width:520px;padding-top:12px}
#sajin-concepts .ss-contact h1{margin-bottom:26px}
#sajin-concepts .ss-contact-form{display:grid;gap:22px}
#sajin-concepts .ss-contact-form label{display:grid;gap:10px;font-size:13px;line-height:1.4}
#sajin-concepts .ss-contact-form input:not([type=hidden]),#sajin-concepts .ss-contact-form textarea{font:inherit;color:inherit;width:100%;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;padding:7px 1px 10px;font-size:16px;line-height:1.5}
#sajin-concepts .ss-contact-form textarea{resize:vertical;min-height:115px;max-height:500px}
#sajin-concepts .ss-contact-form input:focus-visible,#sajin-concepts .ss-contact-form textarea:focus-visible{outline:1px solid var(--ink);outline-offset:5px}
#sajin-concepts .ss-contact-form .ss-send{justify-self:start;display:flex;align-items:center;gap:30px;border-bottom:1px solid var(--ink);padding:10px 0;font-size:13px;min-height:44px}
#sajin-concepts .ss-contact-form .ss-contact-status{font-size:12px;line-height:1.5;margin:0}
#sajin-concepts .ss-contact-status:empty{display:none}
#sajin-concepts .ss-contact-links{margin-top:32px;color:#808080}
#sajin-concepts .ss-contact-email{font-size:12px;line-height:1.5;color:#808080;text-decoration:none;display:inline-block;padding:8px 0}
#sajin-concepts .ss-socials{display:flex;gap:7px;margin-left:-10px;margin-top:2px}
#sajin-concepts .ss-socials a{display:grid;place-items:center;width:40px;height:44px;color:#808080}
#sajin-concepts .ss-social-icon{width:18px;height:18px;display:block;background:#808080;mask:var(--social-icon) center/contain no-repeat;-webkit-mask:var(--social-icon) center/contain no-repeat}
#sajin-concepts .ss-instagram{--social-icon:var(--icon-instagram)}
#sajin-concepts .ss-tiktok{--social-icon:var(--icon-tiktok)}
#sajin-concepts .ss-threads{--social-icon:var(--icon-threads)}
#sajin-concepts .ss-footer{margin-top:48px;padding-top:20px}
@media(max-width:760px){
#sajin-concepts .ss-site{padding:0 24px 22px}
#sajin-concepts .ss-header{padding:32px 24px;margin:0 -24px 20px;gap:20px;flex-wrap:wrap}
#sajin-concepts .ss-logo{width:124px}
#sajin-concepts .ss-nav{gap:18px}
#sajin-concepts .ss-about{gap:35px}
}
@media(max-width:500px){
#sajin-concepts .ss-site{padding:0 16px 20px}
#sajin-concepts .ss-header{padding:28px 16px 26px;margin:0 -16px 18px;gap:12px 18px}
#sajin-concepts .ss-logo{width:116px}
#sajin-concepts .ss-nav{gap:0 14px;justify-content:flex-start}
#sajin-concepts .ss-nav button{font-size:12px;min-height:44px}
#sajin-concepts .ss-filters{gap:2px 17px;padding-bottom:22px}
#sajin-concepts .ss-filters button{min-height:44px;font-size:12px}
#sajin-concepts .ss-tile{scroll-margin-top:180px}
#sajin-concepts .ss-motion{display:block}
#sajin-concepts .ss-film:nth-child(n){margin:0 0 66px;width:96%}
#sajin-concepts .ss-film:nth-child(2){margin-left:4%}
#sajin-concepts .ss-film figcaption{font-size:12px}
#sajin-concepts .ss-information{padding:16px 0 38px}
#sajin-concepts .ss-information h1{font-size:30px}
#sajin-concepts .ss-about{display:flex;flex-direction:column;align-items:stretch;gap:26px}
#sajin-concepts .ss-about-photo{width:78%;align-self:flex-end}
#sajin-concepts .ss-contact-form{gap:20px}
#sajin-concepts .ss-footer{margin-top:34px;letter-spacing:.05em}
#sajin-concepts .ss-opening-logo{width:176px}
}
@media(prefers-reduced-motion:reduce){#sajin-concepts *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
#sajin-concepts .ss-motion.ss-arranged{position:relative;display:block}
#sajin-concepts .ss-motion.ss-arranged>.ss-film{position:absolute;margin:0}
#sajin-concepts .ss-film figcaption span:last-child{white-space:nowrap}
