:root{--bg:#fff;--bg-alt:#f4f1ec;--ink:#1a1714;--ink-soft:#5a5249;--ink-faint:#8a7f72;--line:#e6dfd3;--accent:#1a1714;--accent-soft:#f4f1ec;--serif:"Playfair Display", Georgia, serif;--sans:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--mono:"JetBrains Mono", ui-monospace, monospace}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}body{min-height:100vh;transition:background-color .4s,color .4s}a{color:inherit}.root-wrap{max-width:1320px;margin:0 auto;padding:32px 48px 96px}.nav{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-bottom:28px;display:flex}.nav-mark{font-family:var(--serif);letter-spacing:-.01em;align-items:center;gap:10px;font-size:22px;font-weight:600;display:flex}.nav-mark .dot{background:var(--accent);border-radius:50%;width:8px;height:8px;display:inline-block}.nav-links{gap:4px;display:flex}.nav-link{font-family:var(--sans);letter-spacing:.02em;color:var(--ink-soft);cursor:pointer;border:1px solid #0000;border-radius:999px;padding:10px 18px;font-size:13px;font-weight:500;text-decoration:none;transition:all .2s}.nav-link:hover{color:var(--ink);background:var(--bg-alt)}.nav-link.active{background:var(--ink);color:var(--bg)}.nav-social{font-family:var(--mono);color:var(--ink-faint);letter-spacing:.04em;font-size:11px}.header{grid-template-columns:1fr 460px;align-items:center;gap:56px;padding:72px 0 56px;display:grid}.header-eyebrow{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint);align-items:center;gap:12px;margin-bottom:24px;font-size:11px;display:flex}.header-eyebrow .line{background:var(--ink-faint);flex:0 0 32px;height:1px;display:inline-block}.header-title{font-family:var(--serif);letter-spacing:-.025em;margin-bottom:28px;font-size:clamp(56px,8vw,104px);font-weight:700;line-height:.95}.header-title em{color:var(--ink);font-style:italic;font-weight:400}.header-desc{color:var(--ink-soft);max-width:540px;margin-bottom:32px;font-size:17px;line-height:1.6}.header-desc .heart{color:var(--ink)}.header-meta{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.pill-btn{appearance:none;background:var(--ink);color:var(--bg);font-family:var(--sans);letter-spacing:.02em;cursor:pointer;border:0;border-radius:999px;align-items:center;gap:10px;padding:14px 22px;font-size:13px;font-weight:500;transition:transform .2s,box-shadow .2s;display:inline-flex}.pill-btn:hover{transform:translateY(-1px);box-shadow:0 8px 24px #0000001f}.pill-btn.ghost{color:var(--ink);border:1px solid var(--line);background:0 0}.pill-btn.ghost:hover{border-color:var(--ink)}.pill-btn.accent{background:var(--accent);color:#fff}.wip-tag{font-family:var(--mono);letter-spacing:.15em;text-transform:uppercase;color:var(--ink-faint);border:1px solid var(--line);border-radius:4px;padding:6px 10px;font-size:10px}.header-video{aspect-ratio:1112/918;background:0 0;justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:visible}.header-video video{object-fit:contain;mix-blend-mode:multiply;background:0 0;width:100%;height:100%;display:block}.header-video video,.header-video img{object-fit:cover;width:100%;height:100%;display:block}.header-video .video-placeholder{color:var(--ink-faint);background:repeating-linear-gradient(45deg, var(--bg-alt) 0 12px, var(--bg) 12px 24px);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px;font-size:11px;display:flex;position:absolute;inset:0}.header-video .video-placeholder svg{opacity:.4;width:32px;height:32px}.header-video-caption{font-family:var(--mono);letter-spacing:.08em;color:var(--ink-soft);background:#ffffffeb;border-radius:3px;padding:4px 8px;font-size:10px;position:absolute;bottom:12px;left:12px}.filters-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;margin:32px 0 28px;display:flex}.filters-label{font-family:var(--mono);letter-spacing:.15em;text-transform:uppercase;color:var(--ink-faint);font-size:11px}.filters-chips{flex-wrap:wrap;gap:8px;display:flex}.chip{appearance:none;border:1px solid var(--line);font-family:var(--sans);letter-spacing:.01em;color:var(--ink-soft);cursor:pointer;background:0 0;border-radius:999px;padding:8px 14px;font-size:12px;font-weight:500;transition:all .15s}.chip:hover{border-color:var(--ink-soft);color:var(--ink)}.chip.active{background:var(--ink);color:var(--bg);border-color:var(--ink)}.chip .count{opacity:.5;font-variant-numeric:tabular-nums;margin-left:6px}.results-count{font-family:var(--mono);color:var(--ink-faint);letter-spacing:.04em;font-size:11px}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-gallery{grid-template-columns:repeat(4,1fr);gap:28px 24px;display:grid}.skeleton-card{flex-direction:column;gap:12px;display:flex}.skeleton-poster{aspect-ratio:2/3;background:linear-gradient(90deg, var(--bg-alt) 25%, var(--line) 50%, var(--bg-alt) 75%);background-size:200% 100%;border-radius:6px;animation:1.6s ease-in-out infinite shimmer}.skeleton-title{background:linear-gradient(90deg, var(--bg-alt) 25%, var(--line) 50%, var(--bg-alt) 75%);background-size:200% 100%;border-radius:4px;width:78%;height:18px;animation:1.6s ease-in-out 80ms infinite shimmer}.skeleton-meta{background:linear-gradient(90deg, var(--bg-alt) 25%, var(--line) 50%, var(--bg-alt) 75%);background-size:200% 100%;border-radius:4px;width:50%;height:11px;animation:1.6s ease-in-out .16s infinite shimmer}.skeleton-card:nth-child(2) .skeleton-poster{animation-delay:.12s}.skeleton-card:nth-child(3) .skeleton-poster{animation-delay:.24s}.skeleton-card:nth-child(4) .skeleton-poster{animation-delay:.36s}.skeleton-card:nth-child(5) .skeleton-poster{animation-delay:60ms}.skeleton-card:nth-child(6) .skeleton-poster{animation-delay:.18s}.skeleton-card:nth-child(7) .skeleton-poster{animation-delay:.3s}.skeleton-card:nth-child(8) .skeleton-poster{animation-delay:.42s}@media (max-width:900px){.skeleton-gallery{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.skeleton-gallery{grid-template-columns:1fr}}.gallery{grid-template-columns:repeat(4,1fr);gap:28px 24px;display:grid}.card{cursor:pointer;z-index:3;flex-direction:column;gap:12px;transition:transform .3s cubic-bezier(.2,.8,.2,1);display:flex;position:relative}.card-poster{aspect-ratio:2/3;background:var(--bg-alt);border-radius:6px;transition:box-shadow .3s,transform .3s cubic-bezier(.2,.8,.2,1);position:relative;overflow:hidden}.card-poster:before{content:"";pointer-events:none;background:repeating-linear-gradient(135deg,#00000006 0 8px,#0000 8px 16px);position:absolute;inset:0}.card-poster img{object-fit:cover;width:100%;height:100%;transition:transform .5s cubic-bezier(.2,.8,.2,1);display:block}.card:hover .card-poster{transform:translateY(-3px);box-shadow:0 18px 40px -12px #1a171452}.card:hover .card-poster img{transform:scale(1.04)}.card-poster-placeholder{color:var(--ink-faint);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:16px;font-size:10px;display:flex;position:absolute;inset:0}.card-poster-placeholder .frame{border:1px solid;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;display:flex}.card-genre-badge{color:var(--ink);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffeb;border-radius:3px;padding:4px 8px;font-size:9.5px;position:absolute;top:10px;left:10px}.card-title{font-family:var(--serif);letter-spacing:-.01em;color:var(--ink);font-size:19px;font-weight:600;line-height:1.2}.card-meta{font-family:var(--mono);color:var(--ink-faint);letter-spacing:.06em;align-items:center;gap:8px;font-size:10.5px;display:flex}.card-meta .sep{background:var(--ink-faint);border-radius:50%;width:3px;height:3px;display:inline-block}.modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;opacity:0;pointer-events:none;background:#14110e8c;justify-content:center;align-items:center;padding:32px;transition:opacity .25s;display:flex;position:fixed;inset:0}.modal-backdrop.open{opacity:1;pointer-events:auto}.modal{background:var(--bg);border-radius:14px;width:100%;max-width:1100px;max-height:calc(100vh - 64px);transition:transform .3s cubic-bezier(.2,.8,.2,1);overflow:auto;transform:translateY(12px)scale(.985);box-shadow:0 40px 80px -20px #0006}.modal-backdrop.open .modal{transform:translateY(0)scale(1)}.modal-toolbar{border-bottom:1px solid var(--line);background:var(--bg);z-index:2;justify-content:space-between;align-items:center;padding:20px 28px;display:flex;position:sticky;top:0}.modal-back{appearance:none;border:1px solid var(--line);font-family:var(--sans);letter-spacing:.02em;color:var(--ink);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:8px;padding:10px 18px;font-size:12px;font-weight:500;transition:all .2s;display:inline-flex}.modal-back:hover{border-color:var(--accent);color:var(--accent)}.modal-back-icon{font-size:18px;line-height:1;display:none}.surprise-label-short{display:none}.modal-actions{gap:10px;display:flex}.modal-body{flex:auto;grid-template:"poster head""poster info"1fr/1.1fr 1fr;column-gap:56px;min-height:0;padding:48px 48px 24px;display:grid;overflow:hidden}.modal-poster-col{flex-direction:column;grid-area:poster;align-self:start;align-items:stretch;display:flex;position:sticky;top:0}.modal-head{grid-area:head}.modal-info{scrollbar-width:thin;grid-area:info;min-height:0;padding-right:8px;overflow-y:auto}.modal-info::-webkit-scrollbar{width:6px}.modal-info::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px}.modal-poster{aspect-ratio:2/3;background:var(--bg-alt);border-radius:8px;width:min(100%,420px);max-height:calc(100vh - 240px);margin:0 auto;position:relative;overflow:hidden;box-shadow:0 24px 50px -16px #0000004d}.modal-poster img{object-fit:cover;object-position:center top;width:100%;height:100%;display:block}.modal-poster .card-poster-placeholder{font-size:12px}.modal-poster .card-poster-placeholder .frame{width:56px;height:56px;font-size:22px}.modal-genre{background:var(--ink);color:var(--bg);font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;border-radius:999px;margin-bottom:20px;padding:6px 12px;font-size:10px;display:inline-block}.modal-title{font-family:var(--serif);letter-spacing:-.02em;margin-bottom:24px;font-size:clamp(40px,5vw,64px);font-weight:700;line-height:1}.modal-facts{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(2,1fr);gap:16px 32px;margin-bottom:28px;padding:20px 0;display:grid}.fact-label{font-family:var(--mono);letter-spacing:.15em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:4px;font-size:9.5px}.fact-value{font-family:var(--sans);color:var(--ink);font-size:14px}.modal-summary{color:var(--ink-soft);margin-bottom:32px;font-size:15.5px;line-height:1.65}.quote-block{background:var(--bg-alt);border-radius:12px;margin-bottom:28px;padding:28px 32px;position:relative}.quote-block:before{content:"“";font-family:var(--serif);color:var(--accent);font-size:88px;font-weight:700;line-height:1;position:absolute;top:-8px;left:18px}.quote-text{font-family:var(--serif);color:var(--ink);padding-top:12px;font-size:19px;font-style:italic;line-height:1.5}.quote-attr{font-family:var(--mono);letter-spacing:.1em;color:var(--ink-faint);text-transform:uppercase;margin-top:14px;font-size:10.5px}.source-block{border-top:1px solid var(--line);padding-top:20px}.source-label{font-family:var(--mono);letter-spacing:.15em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:10px;font-size:10px}.source-link{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:4px;align-items:center;gap:8px;font-size:14px;text-decoration-thickness:1.5px;transition:color .2s;display:inline-flex}.source-link:hover{color:var(--accent)}.share-row{border-top:1px solid var(--line);align-items:center;gap:8px;margin-top:24px;padding-top:24px;display:flex}.share-row .label{font-family:var(--mono);letter-spacing:.15em;text-transform:uppercase;color:var(--ink-faint);margin-right:8px;font-size:10px}.share-btn{appearance:none;border:1px solid var(--line);cursor:pointer;width:36px;height:36px;color:var(--ink-soft);background:0 0;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:inline-flex}.share-btn:hover{border-color:var(--accent);color:var(--accent)}.share-btn svg{width:14px;height:14px}.filmography-intro{text-align:center;border-bottom:1px solid var(--line);margin-bottom:48px;padding:72px 0 56px}.filmography-intro .eyebrow{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:20px;font-size:11px}.filmography-intro h2{font-family:var(--serif);letter-spacing:-.025em;margin-bottom:20px;font-size:clamp(48px,6vw,80px);font-weight:700;line-height:1}.filmography-intro p{max-width:560px;color:var(--ink-soft);margin:0 auto;line-height:1.6}.filmography-list{flex-direction:column;max-width:980px;margin:0 auto;display:flex}.film-row{border-bottom:1px solid var(--line);cursor:pointer;grid-template-columns:80px 1fr auto auto;align-items:center;gap:32px;padding:22px 0;transition:padding .25s;display:grid}.film-row:hover{padding-left:16px}.film-row .year{font-family:var(--mono);color:var(--ink-faint);letter-spacing:.04em;font-size:12px}.film-row .title{font-family:var(--serif);letter-spacing:-.01em;font-size:26px;font-weight:600}.film-row .role{font-family:var(--sans);color:var(--ink-soft);font-size:12px;font-style:italic}.film-row .arrow{font-family:var(--mono);color:var(--ink-faint);font-size:16px;transition:transform .25s,color .25s}.film-row:hover .arrow{color:var(--accent);transform:translate(6px)}.foot{border-top:1px solid var(--line);font-family:var(--mono);color:var(--ink-faint);letter-spacing:.04em;flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:96px;padding-top:32px;font-size:11px;display:flex}body.dark{--bg:#14110e;--bg-alt:#1f1b16;--ink:#f5efe4;--ink-soft:#b5ab9c;--ink-faint:#7a7264;--line:#2a251f;--accent-soft:#2a2243}body.dark .header-video{background:var(--bg-alt)}body.dark .card-genre-badge{color:var(--ink);background:#14110eeb}body.dark .header-video-caption{color:var(--ink-soft);background:#14110eeb}@media (max-width:980px){.root-wrap{padding:24px 24px 64px}.header{grid-template-columns:1fr;gap:40px;padding:48px 0}.header-video{max-width:100%}.gallery{grid-template-columns:repeat(3,1fr);gap:22px 18px}.modal-body{flex-direction:column;gap:24px;padding:32px;display:flex;overflow-y:auto}.modal-poster-col{order:-1;position:static}.modal-info{min-height:unset;padding-right:0;overflow-y:visible}.filters-bar{flex-direction:column;align-items:flex-start}}@media (max-width:640px){.root-wrap{padding:20px 18px 56px}.nav{flex-wrap:wrap;gap:16px}.nav-mark,.nav-social{display:none}.gallery{grid-template-columns:repeat(2,1fr);gap:20px 14px}.header-title{font-size:52px}.modal-backdrop{padding:16px}.modal-body{gap:20px;padding:20px}.modal-poster-col{order:0}.modal-toolbar{padding:14px 20px}.modal-back-icon{display:inline}.modal-back-label{display:none}.modal-back{padding:8px 14px}.surprise-label-long{display:none}.surprise-label-short{display:inline}.film-row{grid-template-columns:60px 1fr auto;gap:16px}.film-row .role{display:none}}
