/* 客户作品索引：图片为主，完整保留界面与画面边界。 */
.catalog-section{--catalog-ground:#11171b;--catalog-surface:#202a30;--catalog-soft:#29363d;--catalog-ink:#f4f4f4;--catalog-muted:#bdc9cd;--catalog-accent:#b8cdd4;color:var(--catalog-ink);margin:clamp(105px,12vw,180px) var(--margin,30px);scroll-margin-top:28px}
.catalog-section *, .catalog-section *::before, .catalog-section *::after{box-sizing:border-box}
.catalog-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:end;margin-bottom:52px}
.catalog-heading h2{font-size:clamp(38px,4.5vw,66px);line-height:1.12;letter-spacing:-.04em;margin:0;font-weight:700}
.catalog-heading p{font-size:17px;line-height:1.6;color:var(--catalog-muted);margin:0;max-width:400px;justify-self:end}
.catalog-controls{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:25px}
.catalog-filters{display:flex;align-items:center;flex-wrap:wrap;gap:7px}
.catalog-filter,.catalog-empty button{font:inherit;font-size:15px;line-height:1.4;border:0;border-radius:0;background:var(--catalog-surface);color:var(--catalog-ink);padding:13px 16px;cursor:pointer;min-height:46px;transition:background .2s,color .2s}
.catalog-filter:hover,.catalog-empty button:hover{background:#39484e}
.catalog-filter[aria-pressed="true"]{background:var(--catalog-accent);color:#18282e}
.catalog-filter span{font-variant-numeric:tabular-nums;margin-left:5px}
.catalog-search{display:grid;gap:8px;font-size:15px;color:var(--catalog-ink)}
.catalog-search input{border:0;border-radius:0;background:var(--catalog-surface);color:var(--catalog-ink);font:inherit;font-size:16px;padding:13px 16px;width:260px;min-height:46px}
.catalog-search input::placeholder{color:#9baeb4;opacity:1}
.catalog-count{font-size:15px;color:var(--catalog-muted);margin:22px 0 28px}
.catalog-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:46px 18px;align-items:start}
.catalog-section .catalog-grid .project-card{grid-column:span 4;min-width:0;margin:0;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible}
.catalog-section .catalog-grid .project-card:nth-child(-n+2){grid-column:span 6}
.catalog-section .catalog-grid .project-card:nth-child(5n+3){grid-column:span 8}
.catalog-section .catalog-grid .project-card[hidden]{display:none!important}
.catalog-section .catalog-grid .project-card>a{display:block;min-width:0;height:100%;color:var(--catalog-ink);text-decoration:none}
.catalog-section .catalog-grid .cover{position:relative;width:100%;height:clamp(230px,22vw,340px);min-height:0;aspect-ratio:auto;background:var(--catalog-surface);overflow:hidden;border:0;border-radius:0;display:flex;align-items:center;justify-content:center}
.catalog-section .catalog-grid .project-card:nth-child(-n+2) .cover,.catalog-section .catalog-grid .project-card:nth-child(5n+3) .cover{height:clamp(280px,32vw,475px)}
.catalog-section .catalog-grid .cover img,.catalog-section .catalog-grid .cover.museum-vr>img{position:static;display:block;width:100%;height:100%;max-width:100%;max-height:100%;aspect-ratio:auto;object-fit:contain;transform:none!important;border:0;border-radius:0}
.catalog-section .catalog-grid .film-triptych{width:100%;height:100%;display:flex;align-items:center;gap:4px}
.catalog-section .catalog-grid .film-triptych img{width:calc((100% - 8px)/3);height:auto;max-height:100%;object-fit:contain}
.catalog-section .catalog-grid .card-info{position:relative;padding:17px 26px 0 0;min-height:0;border:0;background:none}
.catalog-section .catalog-grid .card-info h3{color:var(--catalog-ink);font-size:clamp(19px,1.55vw,24px);line-height:1.3;letter-spacing:-.02em;font-weight:650;margin:0 0 9px}
.catalog-section .catalog-grid .card-info>p{color:var(--catalog-muted);font-size:16px;line-height:1.55;margin:0;max-width:60ch}
.catalog-section .catalog-grid .card-info .card-top,.catalog-section .catalog-grid .card-info .card-role,.catalog-section .catalog-grid .card-info .card-maturity,.catalog-section .catalog-grid .card-info .tags{display:none}
.catalog-section .catalog-grid .card-arrow{position:absolute;right:0;top:17px;color:var(--catalog-accent);font-size:20px;line-height:1;border:0;border-radius:0;background:none;box-shadow:none;transform:none}
.catalog-section .catalog-grid .project-card>a:hover .card-info h3{color:var(--catalog-accent)}
.catalog-section .catalog-grid .project-card>a:focus-visible,.catalog-filter:focus-visible,.catalog-search input:focus-visible,.catalog-empty button:focus-visible{outline:3px solid var(--catalog-accent);outline-offset:4px}
.catalog-empty{padding:28px;background:var(--catalog-surface)}
.catalog-empty[hidden]{display:none}
.catalog-empty p{margin:0 0 14px;font-size:16px}
@media(max-width:1000px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 14px}.catalog-section .catalog-grid .project-card,.catalog-section .catalog-grid .project-card:nth-child(-n+2),.catalog-section .catalog-grid .project-card:nth-child(5n+3){grid-column:auto}.catalog-section .catalog-grid .cover,.catalog-section .catalog-grid .project-card:nth-child(-n+2) .cover,.catalog-section .catalog-grid .project-card:nth-child(5n+3) .cover{height:clamp(220px,30vw,350px)}.catalog-heading{gap:25px}}
@media(max-width:640px){.catalog-section{margin:96px var(--margin,16px)}.catalog-heading{grid-template-columns:1fr;gap:17px;margin-bottom:30px}.catalog-heading p{justify-self:start;font-size:16px}.catalog-controls,.catalog-search,.catalog-search input{width:100%}.catalog-filters{gap:6px}.catalog-filter{font-size:14px;padding:10px 12px}.catalog-grid{grid-template-columns:1fr;gap:30px}.catalog-section .catalog-grid .cover,.catalog-section .catalog-grid .project-card:nth-child(-n+2) .cover,.catalog-section .catalog-grid .project-card:nth-child(5n+3) .cover{height:clamp(220px,65vw,350px)}.catalog-section .catalog-grid .card-info h3{font-size:21px}.catalog-count{margin:17px 0 22px}}
@media(prefers-reduced-motion:reduce){.catalog-section *{transition:none!important}}
/* The reel fills the same uncropped stage as a still, with a reduced-motion still. */
.catalog-section .catalog-grid .cover video.catalog-film{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;border:0;border-radius:0;transform:none}
.catalog-section .catalog-grid .cover img.catalog-film-fallback{display:none}
@media(prefers-reduced-motion:reduce){.catalog-section .catalog-grid .cover video.catalog-film{display:none}.catalog-section .catalog-grid .cover img.catalog-film-fallback{display:block}}
