/* Shared SOS archive cards: stable poster frames with a compositor-friendly reveal. */
html body[class][class].vb-profile-sos.sos-browse-route .sos-shell,
html body[class][class].vb-profile-sos.tax-venbug_studio .vb-sos-studio,
html body[class][class].vb-profile-sos.tax-venbug_person .vb-sos-person-archive{width:100%;max-width:1500px;margin-inline:auto;padding:26px clamp(16px,2vw,30px) 48px;box-sizing:border-box}

.sos-year-root .sos-year-grid,
.sos-rating-root .sos-rating-grid,
.vb-sos-studio__grid,
.vb-sos-person-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(10px,1.15vw,16px);width:100%;margin:18px 0 0;box-sizing:border-box}
.vb-layout--full-frame .sos-year-root .sos-year-grid,
.vb-layout--full-frame .sos-rating-root .sos-rating-grid,
.vb-layout--full-frame .vb-sos-studio__grid,
.vb-layout--full-frame .vb-sos-person-grid,
html body[class][class][class].vb-profile-sos.vb-layout-side-none:not(.home):not(.single) .sos-year-root .sos-year-grid,
html body[class][class][class].vb-profile-sos.vb-layout-side-none:not(.home):not(.single) .sos-rating-root .sos-rating-grid,
html body[class][class][class].vb-profile-sos.vb-layout-side-none:not(.home):not(.single) .vb-sos-studio__grid,
html body[class][class][class].vb-profile-sos.vb-layout-side-none:not(.home):not(.single) .vb-sos-person-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.sos-year-root .sos-year-grid>*,
.sos-rating-root .sos-rating-grid>*,
.vb-sos-studio__grid>*,
.vb-sos-person-grid>*{min-width:0}

.vb-sos-archive-card,html body[class][class].vb-profile-sos .vb-card.vb-sos-archive-card{--vb-sos-archive-radius:var(--vb-radius,16px);--vb-sos-poster-radius:var(--vb-radius-sm,11px);position:relative;min-width:0;overflow:hidden;border:1px solid rgba(255,255,255,.11);border-radius:var(--vb-sos-archive-radius);background:#171116;box-shadow:0 12px 30px rgba(0,0,0,.2);box-sizing:border-box}
.vb-sos-archive-card--year,.vb-sos-archive-card--rating{--vb-sos-archive-radius:12px;--vb-sos-poster-radius:12px}
/* Identity motion only on changed pages; year/rating keep base computed (no transition). */
.vb-sos-archive-card--studio,.vb-sos-archive-card--actor,.vb-sos-archive-card--genre,.vb-sos-archive-card--collection,.vb-sos-archive-card--search,.vb-sos-archive-card--tag,.vb-sos-archive-card--popular{transition:transform .24s ease,opacity .24s ease}
/* Studio/actor keyboard ring paints above poster/content via link ::after (outline would hide beneath); year/rating untouched. */
.vb-sos-archive-card--studio>.vb-sos-archive-card__link,.vb-sos-archive-card--actor>.vb-sos-archive-card__link{position:relative}
.vb-sos-archive-card--studio>.vb-sos-archive-card__link::after,.vb-sos-archive-card--actor>.vb-sos-archive-card__link::after{position:absolute;inset:0;z-index:5;border-radius:var(--vb-sos-archive-radius,20px);box-shadow:inset 0 0 0 3px transparent;content:"";pointer-events:none}
.vb-sos-archive-card--studio>.vb-sos-archive-card__link:focus,.vb-sos-archive-card--actor>.vb-sos-archive-card__link:focus{outline:none}
.vb-sos-archive-card--studio>.vb-sos-archive-card__link:focus-visible,.vb-sos-archive-card--actor>.vb-sos-archive-card__link:focus-visible{outline:none;border-radius:inherit}
.vb-sos-archive-card--studio>.vb-sos-archive-card__link:focus-visible::after,.vb-sos-archive-card--actor>.vb-sos-archive-card__link:focus-visible::after{box-shadow:inset 0 0 0 3px #ffb13d}
.vb-sos-archive-card__link{position:relative;display:block;height:100%;min-width:0;overflow:hidden;color:inherit;text-decoration:none;border-radius:inherit}
.vb-sos-archive-card__link:focus{outline:none}
.vb-sos-archive-card__link:focus-visible{outline:3px solid #ffb13d;outline-offset:-4px}
.vb-sos-archive-card__poster{position:relative;display:block;isolation:isolate;overflow:hidden;width:100%;aspect-ratio:2/3;border-radius:var(--vb-sos-poster-radius,inherit);background:linear-gradient(145deg,#421a2a,#19131b 64%,#32201b)}
.vb-sos-archive-card__image{position:absolute;inset:0;display:block;width:100%;height:100%;aspect-ratio:2/3;object-fit:cover;object-position:center;transform:scale(1);transition:transform .32s ease}
.vb-sos-archive-card__poster-fallback{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(circle at 70% 20%,rgba(255,177,61,.22),transparent 32%),linear-gradient(145deg,#3b1522,#0c0b10);color:#ffe2c5;font-size:clamp(42px,7vw,80px);font-weight:900}
.vb-sos-archive-card__badge{position:absolute;z-index:3;inset-block-start:10px;inset-inline-start:10px;display:inline-flex;align-items:center;max-width:calc(100% - 96px);padding:6px 10px;border:1px solid rgba(255,255,255,.22);border-radius:8px;background:rgba(9,8,11,.84);color:#fff;font-size:11px;font-weight:900;letter-spacing:.06em;line-height:1.2;box-sizing:border-box;backdrop-filter:blur(10px)}
.vb-sos-archive-card__badge--year{inset-block-start:12px;inset-inline-start:12px;max-width:none;padding:7px 12px;border:1px solid rgba(255,238,174,.82);border-radius:8px;background:linear-gradient(140deg,#fff0a7,#ffc64b);box-shadow:0 5px 18px rgba(0,0,0,.32);color:#24150a;font-size:clamp(18px,2vw,24px);font-variant-numeric:tabular-nums;letter-spacing:-.03em}
.vb-sos-archive-card__badge--rating{border-color:rgba(255,91,112,.62);background:linear-gradient(135deg,rgba(18,8,13,.96),rgba(111,13,36,.88));color:#ffe5d1;letter-spacing:.025em}
.vb-sos-archive-card__badge--studio{border-color:rgba(255,177,61,.56);background:rgba(19,12,12,.82);color:#ffca88;text-transform:uppercase}
.vb-sos-archive-card__content{position:absolute;z-index:2;inset:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:7px;padding:clamp(10px,1.2vw,16px);overflow:hidden;background:linear-gradient(180deg,rgba(7,5,9,.02) 25%,rgba(9,6,10,.18) 43%,rgba(12,7,12,.82) 68%,rgba(12,7,12,.97) 100%);color:#fff;opacity:0;transform:translateY(10px);transition:opacity .3s cubic-bezier(.2,.65,.3,1),transform .3s cubic-bezier(.2,.65,.3,1);box-sizing:border-box;text-shadow:0 1px 8px rgba(0,0,0,.75);pointer-events:none}
.vb-sos-archive-card__meta{display:flex;flex-wrap:wrap;gap:4px 9px;margin:0;color:#f4c69d;font-size:11px;font-weight:800;line-height:1.4;letter-spacing:.035em}
.vb-sos-archive-card__meta span+span:before{content:"·";margin-inline-end:9px;color:#ffb13d}
.vb-sos-archive-card__title--en{display:-webkit-box;max-width:100%;margin:0;overflow:hidden;color:#fffaf5;font-size:clamp(14px,1.15vw,17px);font-weight:900;line-height:1.35;letter-spacing:-.015em;overflow-wrap:anywhere;text-wrap:balance;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.vb-sos-archive-card__score{margin:0;color:#ffd27c;font-size:11.5px;font-weight:800;line-height:1.45}
.vb-sos-archive-card__genres{display:-webkit-box;margin:0;overflow:hidden;color:#f4e5df;font-size:11.5px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:1}
.vb-sos-archive-card__summary{display:-webkit-box;max-width:100%;margin:0;overflow:hidden;color:#e8dce0;font-size:12px;line-height:1.5;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.vb-sos-archive-card__cta{display:inline-flex;align-items:center;min-height:28px;margin-top:1px;padding:6px 11px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(255,48,77,.27);color:#fff1e4;font-size:11px;font-weight:900;line-height:1;white-space:nowrap}

/* Per-page identities for archive-card markup. Studio and actor pages load this file,
   so their signatures live here. Genre/collection/search/tag rules for .vb-card
   markup live in assets/css/sos-css-browse.css (that file loads on those pages);
   the rules below cover archive-card markup only. */
.vb-sos-archive-card--studio{--vb-sos-archive-radius:var(--vb-radius-lg,22px);--vb-sos-poster-radius:var(--vb-radius-sm,11px);border-color:rgba(255,177,61,.48);box-shadow:inset 0 0 0 1px rgba(255,177,61,.12),0 16px 34px -26px rgba(255,177,61,.65)}
.vb-sos-archive-card--studio::before{position:absolute;z-index:4;inset-block:0;inset-inline-start:0;width:4px;background:linear-gradient(180deg,#fff0a7,#ffb13d 55%,#ff754d);content:"";opacity:.85;transform:scaleY(.48);transform-origin:center;transition:opacity .24s ease,transform .24s ease;pointer-events:none}
.vb-sos-archive-card--actor{--vb-sos-archive-radius:var(--vb-radius-xl,28px);--vb-sos-poster-radius:var(--vb-radius,16px);border-color:rgba(35,213,255,.42);box-shadow:inset 0 0 0 1px rgba(35,213,255,.12),0 18px 36px -26px rgba(35,213,255,.68)}
.vb-sos-archive-card--actor::after{position:absolute;inset:0;z-index:3;content:"";background:radial-gradient(120% 90% at 50% 0%,rgba(35,213,255,.3),transparent 62%);opacity:0;transition:opacity .24s ease;pointer-events:none}
.vb-sos-archive-card--genre{--vb-sos-archive-radius:var(--vb-radius,16px);--vb-sos-poster-radius:var(--vb-radius-sm,11px);border-color:rgba(164,118,255,.52);box-shadow:inset 0 0 0 1px rgba(164,118,255,.12),0 14px 32px -24px rgba(164,118,255,.66)}
.vb-sos-archive-card--genre::after{position:absolute;z-index:4;inset-block-start:0;inset-inline:14%;height:3px;border-radius:0 0 var(--vb-pill,999px) var(--vb-pill,999px);background:linear-gradient(90deg,transparent,#dfb5ff 48%,transparent);content:"";opacity:.85;pointer-events:none}
.vb-sos-archive-card--collection{--vb-sos-archive-radius:var(--vb-radius-xl,28px);--vb-sos-poster-radius:var(--vb-radius-lg,22px);border-color:rgba(255,192,120,.34);box-shadow:0 3px 0 rgba(70,37,28,.82),0 7px 0 rgba(42,24,25,.92),0 20px 34px -26px rgba(0,0,0,.88)}
.vb-sos-archive-card--search{--vb-sos-archive-radius:var(--vb-radius-sm,11px);--vb-sos-poster-radius:var(--vb-radius-sm,11px);border-color:rgba(255,255,255,.13);box-shadow:0 8px 20px -18px rgba(255,255,255,.48)}
.vb-sos-archive-card--tag{--vb-sos-archive-radius:var(--vb-radius-lg,22px);--vb-sos-poster-radius:var(--vb-radius,16px);border-color:rgba(35,213,255,.38);box-shadow:0 0 0 3px rgba(35,213,255,.12),0 14px 30px -24px rgba(35,213,255,.6)}
.vb-sos-archive-card--tag .vb-sos-archive-card__badge{border-color:rgba(35,213,255,.58);background:linear-gradient(135deg,rgba(7,24,31,.94),rgba(10,77,91,.84));color:#d7fbff}
.vb-sos-archive-card--popular{--vb-sos-archive-radius:var(--vb-radius-lg,22px);--vb-sos-poster-radius:var(--vb-radius-sm,11px);border-color:rgba(255,48,77,.5);box-shadow:inset 0 0 0 1px rgba(255,48,77,.14),0 16px 34px -24px rgba(255,48,77,.6)}
.vb-sos-archive-card--popular::after{position:absolute;z-index:4;inset-block-end:0;inset-inline:0;height:4px;background:linear-gradient(90deg,#ff304d,#ffb13d);content:"";opacity:.9;pointer-events:none}

.sos-rating-root .sos-rating-card{display:block;padding:0;border:0;border-radius:12px;background:transparent;box-shadow:none}
.sos-rating-root .sos-rating-card>.vb-sos-archive-card__link{width:100%}
.sos-rating-root .sos-rating-ring{position:absolute;z-index:4;inset-block-start:10px;inset-inline-end:10px;width:clamp(60px,5.3vw,78px);height:auto;filter:drop-shadow(0 4px 14px rgba(0,0,0,.6)) drop-shadow(0 0 10px rgba(255,48,77,.2))}
.sos-rating-root .sos-rating-ring-num{font-size:28px;font-weight:900;letter-spacing:0;fill:#fff}
.sos-rating-root .sos-rating-ring-cap{display:none;font-size:9px;font-weight:800;fill:#ffd8c5}

@media(hover:hover){
	.vb-sos-archive-card:hover .vb-sos-archive-card__content,
	.vb-sos-archive-card:focus-within .vb-sos-archive-card__content{opacity:1;transform:translateY(0);will-change:opacity,transform}
	.vb-sos-archive-card:hover .vb-sos-archive-card__image{transform:scale(1.035)}
	.vb-sos-archive-card--studio:hover::before,.vb-sos-archive-card--studio:focus-within::before{opacity:1;transform:scaleY(1)}
	.vb-sos-archive-card--actor:hover,.vb-sos-archive-card--actor:focus-within{transform:translateY(-5px)}
	.vb-sos-archive-card--actor:hover::after,.vb-sos-archive-card--actor:focus-within::after{opacity:1}
}
@media(hover:none){.vb-sos-archive-card__content{opacity:1;transform:none}.vb-sos-archive-card__image{transition:none}}
@media(max-width:1199px){.sos-year-root .sos-year-grid,.sos-rating-root .sos-rating-grid,.vb-sos-studio__grid,.vb-sos-person-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:899px){.sos-year-root .sos-year-grid,.sos-rating-root .sos-rating-grid,.vb-sos-studio__grid,.vb-sos-person-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.vb-sos-archive-card__title--en{font-size:14px}}
@media(max-width:599px){
	.sos-year-root .sos-year-grid,.sos-rating-root .sos-rating-grid,.vb-sos-studio__grid,.vb-sos-person-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
	.vb-sos-archive-card--year,.vb-sos-archive-card--rating{--vb-sos-archive-radius:10px;--vb-sos-poster-radius:10px}
	.vb-sos-archive-card{border-radius:var(--vb-sos-archive-radius,10px)}
	.vb-sos-archive-card__content{opacity:1;transform:none;padding:11px 10px 10px;gap:5px}
	.vb-sos-archive-card__summary{-webkit-line-clamp:2;font-size:11px}
	.vb-sos-archive-card__meta,.vb-sos-archive-card__genres,.vb-sos-archive-card__score{font-size:10.5px}
	.vb-sos-archive-card__cta{display:none}
	.sos-rating-root .sos-rating-ring{width:58px}
}
@media(prefers-reduced-motion:reduce){.vb-sos-archive-card__content,.vb-sos-archive-card__image,.vb-sos-archive-card--studio::before,.vb-sos-archive-card--actor::after{transition:none!important;scroll-behavior:auto}.vb-sos-archive-card__content{transform:none}.vb-sos-archive-card--actor:hover,.vb-sos-archive-card--actor:focus-within{transform:none}}
