.visitor-page { --vf-violet:#b89aff; --vf-cyan:#9fe8e1; --vf-muted:#c3bccf; background:#08070d; }
.vf-wrap { width:min(1240px,calc(100% - 64px)); margin-inline:auto; }
.vf-eyebrow { color:var(--vf-violet); font-size:.74rem; font-weight:750; letter-spacing:.13em; text-transform:uppercase; }
.vf-hero { padding:80px 0 46px; max-width:980px; }
.vf-hero h1 { font-size:clamp(3rem,6.4vw,5.6rem); line-height:1.04; letter-spacing:-.06em; margin:16px 0 22px; max-width:950px; }
.vf-hero h1 em { font-style:normal; color:var(--vf-violet); }
.vf-lede { font-size:1.12rem; max-width:640px; color:var(--vf-muted); line-height:1.7; margin:0 0 24px; }
.vf-section-nav { display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; }
.vf-section-nav a { display:inline-flex; padding:10px 16px; border:1px solid #35303f; border-radius:999px; color:#eee8f9; font-size:.84rem; text-decoration:none; }
.vf-section-nav a:hover { border-color:var(--vf-violet); background:#21172f; }
.vf-feature { display:grid; grid-template-columns:.85fr 1.15fr; border:1px solid #433353; border-radius:24px; overflow:hidden; background:linear-gradient(125deg,#21152e,#100d18); margin:6px 0 56px; }
.vf-feature-copy { padding:48px 42px; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.vf-feature h2 { font-size:clamp(2rem,3.2vw,3.1rem); line-height:1.15; letter-spacing:-.045em; margin:16px 0; }
.vf-feature-copy>p { color:#d1c6df; font-size:1.03rem; line-height:1.75; margin:0 0 22px; }
.vf-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.vf-btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:13px 19px; border-radius:9px; border:1px solid #564967; color:#f4effa; text-decoration:none; font-size:.9rem; font-weight:750; min-height:48px; }
.vf-btn-primary { background:#b89aff; border-color:#b89aff; color:#1b102a; }
.vf-btn:hover { border-color:#dccbff; transform:translateY(-1px); }
.vf-btn-primary:hover { background:#ccb5ff; }
.vf-note { font-size:.8rem!important; color:#b9aec6!important; margin:18px 0 0!important; }
.vf-feature-art { display:flex; align-items:center; justify-content:center; padding:38px; background:radial-gradient(ellipse at 30% 30%,#604280 0,#30223f 45%,#181121 85%); position:relative; min-width:0; }
.vf-feature-art img { display:block; max-width:100%; height:auto; border:1px solid #675475; border-radius:14px; box-shadow:0 24px 60px #0008; }
.vf-feature-art figure { margin:0; width:100%; }
.vf-feature-art figcaption { color:#d8cbe2; margin-top:14px; font-size:.75rem; }
.vf-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:28px; margin:0 0 24px; }
.vf-heading h2 { margin:0; font-size:clamp(1.85rem,3vw,2.7rem); letter-spacing:-.04em; }
.vf-heading p { max-width:440px; color:var(--vf-muted); margin:0; line-height:1.7; font-size:.94rem; }
.vf-section { padding:12px 0 66px; scroll-margin-top:110px; }
.vf-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.vf-grid-two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.vf-card { min-width:0; display:flex; flex-direction:column; background:#121017; border:1px solid #302938; border-radius:18px; overflow:hidden; }
.vf-card-art { display:block; aspect-ratio:16/9; overflow:hidden; background:#201b2b; position:relative; text-decoration:none; }
.vf-card-art img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.vf-card-art:hover img { transform:scale(1.025); }
.vf-ui-art img { object-fit:contain; padding:16px; }
.vf-card-copy { padding:25px; display:flex; flex-direction:column; flex:1; align-items:flex-start; }
.vf-card h3 { margin:9px 0 12px; font-size:1.5rem; line-height:1.25; letter-spacing:-.025em; }
.vf-card-copy>p { color:var(--vf-muted); font-size:.94rem; line-height:1.7; margin:0 0 20px; }
.vf-card-copy .vf-actions { margin-top:auto; }
.vf-label { color:var(--vf-cyan); font-weight:700; font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; }
.vf-label-preview { color:#efce93; }
.vf-price { color:#efebf7; font-weight:800; font-size:.9rem; margin-bottom:18px; }
.vf-play { position:absolute; left:20px; bottom:18px; padding:9px 14px; border:1px solid #fff4; border-radius:999px; background:#110c1be6; color:white; font-size:.8rem; font-weight:750; }
.vf-details { margin:0 0 20px; color:#b8aec5; font-size:.8rem; line-height:1.65; width:100%; }
.vf-details summary { cursor:pointer; color:#cfc0e1; }
.vf-details p { margin:10px 0 0; font-size:.8rem; color:#b8aec5; }
.vf-prototype { border-top:3px solid #a88966; }
.vf-prototype .vf-card-art { aspect-ratio:16/10; }
.vf-prototype-icon { min-height:190px; display:flex; align-items:center; justify-content:center; font-size:3rem; color:#ccb78f; background:radial-gradient(ellipse at 70% 20%,#342d23,#181619); }
.vf-more { border-top:1px solid #302938; padding:26px 0 55px; }
.vf-more>summary { cursor:pointer; font-size:1.05rem; color:#d2c7e0; }
.vf-more-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; padding-top:28px; }
.vf-more-grid article { padding:20px; border:1px solid #302938; border-radius:12px; background:#121017; }
.vf-more-grid h3 { margin:0 0 10px; font-size:1.1rem; }
.vf-more-grid p { font-size:.86rem; color:var(--vf-muted); line-height:1.7; }
.vf-creator { display:flex; align-items:center; gap:16px; padding:26px 0 48px; border-top:1px solid #302938; }
.vf-creator img { width:54px; height:54px; border-radius:50%; object-fit:cover; }
.vf-creator p { margin:0; color:#c2b7ce; font-size:.9rem; }
.vf-creator a { color:#d7c3ff; }
.vf-media { width:100%; display:block; aspect-ratio:16/9; height:auto; background:#08070d; }
.vf-caption-media { aspect-ratio:45/34; }
.vf-native-media { background:#08070d; }
.vf-media-note { color:#ada1be!important; font-size:.78rem!important; margin:8px 0 20px!important; }
.vf-feature-film { grid-template-columns:1.2fr .8fr; background:#141117; }
.vf-feature-film .vf-feature-art { padding:0; background:#181219; }
.vf-feature-film .vf-feature-art img { border:0; border-radius:0; box-shadow:none; width:100%; height:100%; object-fit:cover; }
.vf-feature-film .vf-feature-art a { width:100%; height:100%; display:block; }
.vf-archive { color:#c3b8cf; font-size:.9rem; line-height:1.8; }
.vf-archive article { padding:16px 0; border-bottom:1px solid #302938; }
.vf-archive h3 { font-size:1.12rem; margin:0 0 8px; }
.visitor-page a:focus-visible,.visitor-page summary:focus-visible { outline:2px solid #c5aaff; outline-offset:5px; }
@media(max-width:1000px) {
 .vf-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .vf-feature { grid-template-columns:1fr 1fr; }
 .vf-feature-copy { padding:32px; }
 .vf-feature-art { padding:24px; }
 .vf-more-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:700px) {
 .vf-wrap { width:calc(100% - 36px); }
 .vf-hero { padding:46px 0 32px; }
 .vf-hero h1 { font-size:clamp(2.9rem,11vw,4rem); }
 .vf-lede { font-size:1rem; }
 .vf-feature,.vf-feature-film { grid-template-columns:1fr; border-radius:18px; }
 .vf-feature-copy { padding:28px 24px; }
 .vf-feature-art { padding:24px; }
 .vf-feature-film .vf-feature-art { min-height:0; aspect-ratio:16/9; }
 .vf-grid,.vf-grid-two,.vf-more-grid { grid-template-columns:1fr; }
 .vf-heading { align-items:flex-start; flex-direction:column; gap:12px; }
 .vf-section { padding-bottom:42px; }
 .vf-card-copy { padding:24px; }
 .vf-feature h2 { font-size:2.25rem; }
 .vf-actions { gap:10px; }
 .vf-btn { padding:12px 16px; }
 .vf-creator { align-items:flex-start; }
}
@media(prefers-reduced-motion:reduce) { .visitor-page *, .visitor-page *::before { transition:none!important; scroll-behavior:auto!important; } }
