:root{--bg: #f3f2f2;--card: #eae9e9;--text: #201f1d;--accent: #b68235;--divider: color-mix(in srgb, #201f1d 16%, transparent);--muted: color-mix(in srgb, #201f1d 55%, transparent);--caption: color-mix(in srgb, #201f1d 55%, transparent);--icon: #201f1d;--border: color-mix(in srgb, #201f1d 16%, transparent);--space-1: 4.6px;--space-2: 9.2px;--space-3: 13.8px;--space-4: 18.4px;--space-6: 27.6px;--space-8: 36.8px}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);color:var(--text);font-family:Roboto,system-ui,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}.header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);background:var(--bg);border-bottom:1px solid var(--divider)}.logo{font-size:22px;font-weight:700;letter-spacing:.01em}.nav{display:flex;align-items:center;gap:var(--space-6)}.nav-link{font-size:14px;font-weight:400;color:var(--text);transition:color .2s ease}.nav-link:hover{color:var(--accent)}.social-group{display:flex;align-items:center;gap:2px}.social{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;color:var(--text);border-radius:4px;transition:color .2s ease}.social:hover{color:var(--accent)}.social-text{font-size:13px;font-weight:700;letter-spacing:.02em}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-8);padding:var(--space-6) var(--space-4)}.card{opacity:0;transform:translateY(14px);animation:card-in .7s cubic-bezier(.22,1,.36,1) forwards}@keyframes card-in{to{opacity:1;transform:translateY(0)}}.card-thumb{position:relative;display:block;aspect-ratio:16 / 9;overflow:hidden;background:#d9d9d5;border:1px solid var(--border)}.card-thumb.is-clickable{cursor:pointer}.card-poster{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s cubic-bezier(.22,1,.36,1)}.card-play{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:50%;background:#1414148c;color:#fff;padding-left:3px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:background .25s ease,transform .25s ease}.card-thumb.has-poster:hover .card-poster{transform:scale(1.04)}.card-thumb.has-poster:hover .card-play{background:#141414cc;transform:scale(1.08)}.card-thumb.is-clickable:focus-visible{outline:2px solid #6b6b66;outline-offset:2px}.card-title{margin-top:var(--space-2);font-size:16px;font-weight:600}.card-tags{margin-top:2px;font-size:12px;color:var(--muted);letter-spacing:.04em}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:24px;background:#0c0c0ce6;animation:lightbox-in .2s ease forwards}@keyframes lightbox-in{0%{opacity:0}to{opacity:1}}.lightbox-stage{width:min(90vw,1100px)}.lightbox-frame{position:relative;width:100%;aspect-ratio:16 / 9;background:#000}.lightbox-frame iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.lightbox-close{position:absolute;top:18px;right:26px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:transparent;border:0;color:#f2f2f0;font-size:34px;line-height:1;cursor:pointer;opacity:.8;transition:opacity .2s ease}.lightbox-close:hover{opacity:1}.card-title-link{transition:color .2s ease}.card-title-link:hover{color:var(--accent)}.about{max-width:760px;margin:0 auto;padding:calc(5cm + var(--space-8)) var(--space-4) var(--space-8)}.about-kicker{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#7d5411;margin-bottom:var(--space-4)}.about-p{text-align:justify;font-size:17px;line-height:1.7;margin-bottom:var(--space-4)}.about-p:last-child{margin-bottom:0}.hr{height:1px;border:0;margin:0;background:var(--divider)}.footer{text-align:center;padding:64px var(--space-4) 56px}.footer-wordmark{font-family:Roboto,sans-serif;font-weight:700;font-size:20px;letter-spacing:.02em}.project{padding:40px 24px 120px}.project-inner{max-width:1200px;margin:0 auto}.back-link{display:inline-block;margin-bottom:34px;font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);transition:color .2s ease}.back-link:hover{color:var(--accent)}.project-head{margin-bottom:44px}.project-title{font-size:34px;font-weight:700;letter-spacing:.01em}.film{margin-bottom:56px}.film-frame{position:relative;width:100%;aspect-ratio:16 / 9;background:#000}.film-frame-square{aspect-ratio:1 / 1}.film-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6);margin-bottom:56px}.film-row .film{margin-bottom:0}@media (max-width: 720px){.film-row{grid-template-columns:1fr}}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6);margin-bottom:56px}.gallery-img{width:100%;aspect-ratio:16 / 9;object-fit:cover}.gallery-img-natural{aspect-ratio:auto;height:auto;object-fit:contain}.gallery-item{margin:0}.gallery-caption{margin-top:var(--space-2);font-size:16px;color:var(--text);text-align:center}.gallery-caption p{margin-bottom:var(--space-2)}.gallery-caption p:last-child{margin-bottom:0}.gallery-single{grid-template-columns:1fr}@media (max-width: 720px){.gallery{grid-template-columns:1fr}}.film-frame iframe,.film-frame video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0;object-fit:contain;background:#000}.film-frame-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--card);border:1px dashed var(--border);color:var(--caption);font-size:14px}.project-desc{display:flex;justify-content:center}.desc-meta{display:flex;flex-direction:column;align-items:center;gap:20px}.desc-meta-item{display:flex;flex-direction:column;align-items:center;gap:5px}.desc-meta-label{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.desc-meta-value{font-size:14px;color:var(--text)}.desc-meta-value-list{display:flex;flex-direction:column;align-items:center;gap:4px}.back-to-top{display:block;width:fit-content;margin:calc(48px + 2cm) auto 48px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);transition:color .2s ease}.back-to-top:hover{color:var(--accent)}.project-missing{color:var(--muted);font-size:15px;margin-bottom:24px}@media (max-width: 720px){.desc-meta{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:24px}}
