:root{--bg: #0d0b10;--bg-soft: #16131a;--text: #e9e5df;--text-soft: #948f88;--accent: #e8853f;--accent-2: #8f6fc9;--border: rgba(255, 255, 255, .1);--card-bg: #101013;--radius: 2px;--gap: 22px;--max-width: 1200px;--font-serif: "Cormorant Garamond", "Noto Serif SC", "Songti SC", "SimSun", serif;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans SC", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);line-height:1.7}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}:focus-visible{outline:1px solid var(--accent);outline-offset:3px}::selection{background:#8f6fc966}img[style*=background-image]{opacity:0;transition:opacity .6s ease}img[style*=background-image].loaded{opacity:1}.container{max-width:var(--max-width);margin:0 auto;padding:0 20px}h1,h2,h3{font-family:var(--font-serif);font-weight:500}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:no-preference){.page-head,.hero-caption{animation:rise .7s ease both}}.site-header{position:sticky;top:0;z-index:50;background:#0b0b0dd1;backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.site-header .container{display:flex;align-items:center;justify-content:space-between;height:64px}.site-logo{font-family:var(--font-serif);font-weight:500;font-size:1.25rem;letter-spacing:.14em}.site-logo em{color:var(--accent);font-style:normal}.site-nav{display:flex;gap:26px;font-size:.85rem;letter-spacing:.22em}.site-nav a{color:var(--text-soft);padding:4px 0;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}.site-nav a:hover{color:var(--text)}.site-nav a.active{color:var(--accent);border-bottom-color:var(--accent)}.site-footer{margin-top:110px;padding:36px 0 44px;border-top:1px solid var(--border);color:var(--text-soft);font-size:.78rem;letter-spacing:.18em;text-align:center}.page-head{padding:72px 0 40px}.page-head h1{margin:0 0 10px;font-size:clamp(2.2rem,5vw,3.2rem);letter-spacing:.06em;line-height:1.2}.page-head p{margin:0;color:var(--text-soft);font-size:.9rem;letter-spacing:.14em}.hero{position:relative;margin:24px 0 56px;border-radius:var(--radius);overflow:hidden;background:var(--bg-soft)}.hero img{width:100%;height:min(82vh,760px);object-fit:cover;background-size:cover;background-position:center}.hero .hero-caption{position:absolute;left:0;right:0;bottom:0;padding:90px 36px 34px;color:#f3efe9;background:linear-gradient(transparent,#000000b8)}.hero .hero-caption h1{margin:0 0 6px;font-size:clamp(2rem,5vw,3.4rem);font-weight:500;letter-spacing:.08em;line-height:1.15}.hero .hero-caption p{margin:0;font-size:.85rem;letter-spacing:.22em;opacity:.75}.hero-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:min(50vh,420px);color:var(--text-soft);gap:8px}.hero-placeholder .icon{font-size:2.4rem}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:calc(var(--gap) * 1.4) var(--gap)}.card{display:block}.card .card-cover{aspect-ratio:4 / 3;overflow:hidden;border-radius:var(--radius);background:var(--bg-soft)}.card .card-cover img{width:100%;height:100%;object-fit:cover;background-size:cover;background-position:center;transition:opacity .6s ease,transform .7s cubic-bezier(.22,1,.36,1),filter .4s;filter:brightness(.92)}.card:hover .card-cover img{transform:scale(1.045);filter:brightness(1.02)}.card .card-body{padding:14px 2px 0}.card .card-body h3{margin:0 0 4px;font-size:1.2rem;letter-spacing:.05em;transition:color .2s}.card:hover .card-body h3{color:var(--accent)}.card .card-body .meta{margin:0;color:var(--text-soft);font-size:.78rem;letter-spacing:.16em}.masonry{column-gap:var(--gap);columns:1}.photo-item{margin:0 0 var(--gap);break-inside:avoid;border-radius:var(--radius);overflow:hidden;background:var(--bg-soft);cursor:zoom-in}.photo-item img{width:100%;height:auto;background-size:cover;background-position:center;transition:opacity .6s ease,transform .7s cubic-bezier(.22,1,.36,1),filter .4s;filter:brightness(.94)}.photo-item:hover img{transform:scale(1.03);filter:brightness(1.03)}@media(min-width:640px){.masonry{columns:2}}@media(min-width:1024px){.masonry{columns:3}}@media(min-width:1440px){.masonry{columns:4}}.filter-bar{margin:0 0 36px}.filter-bar .filter-group{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px}.filter-bar .filter-label{color:var(--text-soft);font-size:.78rem;letter-spacing:.2em;margin-right:6px}.chip{border:1px solid var(--border);background:transparent;color:var(--text-soft);border-radius:999px;padding:6px 18px;font-size:.82rem;letter-spacing:.1em;cursor:pointer;transition:background .2s,color .2s,border-color .2s}.chip:hover{border-color:var(--accent);color:var(--accent)}.chip.active{background:var(--accent);border-color:var(--accent);color:#141013}.empty-state{padding:90px 20px;text-align:center;color:var(--text-soft);letter-spacing:.12em}.empty-state .icon{font-size:2.4rem;margin-bottom:12px}.section-title{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:72px 0 26px;padding-bottom:14px;border-bottom:1px solid var(--border)}.section-title h2{margin:0;font-size:1.6rem;letter-spacing:.08em}.section-title h2:before{content:"—";color:var(--accent-2);margin-right:12px}.section-title a{color:var(--text-soft);font-size:.8rem;letter-spacing:.16em;transition:color .2s;white-space:nowrap}.section-title a:hover{color:var(--accent)}.session-meta{color:var(--text-soft);font-size:.85rem;letter-spacing:.18em;margin:0 0 10px}.session-desc{max-width:680px;margin:18px 0 0;color:var(--text-soft)}.page-head+.masonry{margin-top:8px}.lightbox{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;background:#050507f5}.lightbox.open{display:flex}.lightbox img{max-width:92vw;max-height:84vh;object-fit:contain;user-select:none}.lightbox .lb-info{position:absolute;left:0;right:0;bottom:0;padding:20px 24px;color:#f3efe9cc;font-size:.8rem;letter-spacing:.14em;text-align:center;background:linear-gradient(transparent,#0000008c)}.lightbox .lb-info .lb-caption{font-family:var(--font-serif);font-size:1.05rem;letter-spacing:.06em;margin-bottom:3px}.lightbox .lb-btn{position:absolute;top:50%;transform:translateY(-50%);border:1px solid transparent;background:transparent;color:#f3efe98c;width:52px;height:52px;border-radius:50%;font-size:1.5rem;font-family:var(--font-serif);cursor:pointer;transition:color .2s,border-color .2s}.lightbox .lb-btn:hover{color:#f3efe9;border-color:#ffffff59}.lightbox .lb-prev{left:18px}.lightbox .lb-next{right:18px}.lightbox .lb-close{position:absolute;top:16px;right:22px;border:0;background:none;color:#f3efe999;font-size:1.7rem;cursor:pointer;transition:color .2s}.lightbox .lb-close:hover{color:#f3efe9}.about-section{max-width:680px;margin-bottom:52px}.about-section h2{position:relative;font-size:1.35rem;letter-spacing:.1em;margin:0 0 20px;padding-bottom:12px}.about-section h2:after{content:"";position:absolute;left:0;bottom:0;width:36px;height:1px;background:var(--accent)}.about-section p{color:var(--text-soft)}.about-section ul{margin:0;padding-left:1.2em;color:var(--text-soft)}.about-section .sns-list{display:flex;flex-wrap:wrap;gap:12px;list-style:none;padding:0}.about-section .sns-list a{display:inline-block;border:1px solid var(--border);border-radius:999px;padding:8px 20px;font-size:.85rem;letter-spacing:.1em;color:var(--text);transition:border-color .2s,color .2s}.about-section .sns-list a:hover{border-color:var(--accent);color:var(--accent)}
