/* Versys Apps visual refinement: public pages only, no private workspace styles. */
:root { --vm-ink:#080b10;--vm-surface:#111720;--vm-line:#313743;--vm-muted:#b7c1cf;--vm-accent:#e30b31; }
body.versys-dark-page { font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; }
body.versys-dark-page :is(h1,h2,h3,.dark-eyebrow,.eyebrow,.vm-discovery-label) { font-family:"Montserrat",system-ui,sans-serif; }
body.versys-dark-page :is(.section-copy,.category-card p,.product-card p,.directory-intro,.platform-hero-copy>p:not(.dark-eyebrow)) { color:#b8bfcb; }
body.versys-dark-page :is(a,button,input,select,textarea):focus-visible { outline:2px solid #ff8fa1; outline-offset:3px; }
/* Navigation ribbon: real anchors stay keyboard accessible; inert duplicate is decorative. */
.vm-product-ribbon { display:block; width:100%; max-width:100%; box-sizing:border-box; min-height:47px; background:#11161d; border-block:1px solid #2b323b; color:#e6e9ee; overflow:hidden; }
.vm-ribbon-window { overflow:hidden; min-width:0; flex:1; }
.vm-ribbon-track { display:flex; width:max-content; }
.vm-ribbon-track.is-ready { animation:vm-ribbon-slide var(--vm-ribbon-duration, 30s) linear infinite; will-change:transform; }
.vm-product-ribbon:hover .vm-ribbon-track,.vm-product-ribbon:focus-within .vm-ribbon-track { animation-play-state:paused; }
.vm-ribbon-set { display:flex; flex:0 0 auto; white-space:nowrap; align-items:center; }
.vm-ribbon-set > a { display:inline-flex; align-items:center; padding:13px 27px; border-right:1px solid #303641; text-decoration:none; color:#ced5df; font-size:12px; line-height:1.5; font-weight:650; }
.vm-ribbon-set a:hover,.vm-ribbon-set a:focus-visible { color:#fff; background:#232b35; }
.vm-ribbon-set[aria-hidden="true"] a:focus { outline:none; }
@keyframes vm-ribbon-slide { from { transform:translate3d(0,0,0); } to { transform:translate3d(calc(-1 * var(--vm-ribbon-distance, 800px)),0,0); } }
/* Real product links take the place of an oversized generic brand graphic. */
.vm-showcase { min-width:0; border:1px solid #39424e; background:#111720; border-radius:14px; overflow:hidden; box-shadow:0 20px 58px rgba(0,0,0,.20); }
.vm-showcase-top { height:44px; display:flex; align-items:center; gap:10px; padding:0 19px; background:#171e27; border-bottom:1px solid #323b46; }
.vm-showcase-top strong { font-size:11px; letter-spacing:.09em; color:#fff; }
.vm-showcase-top>span:last-child { margin-left:auto; color:#8f9aaa; font-size:11px; }
.vm-showcase-main { padding:15px 18px 17px; }
.vm-showcase-heading { display:flex; align-items:center; justify-content:space-between; gap:9px; padding:0 4px 11px; }
.vm-showcase-heading>span { color:#929eae; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.09em; }
.vm-showcase-heading a { font-size:11px; font-weight:700; color:#e30b31; text-decoration:none; }
.vm-showcase-heading a:hover { text-decoration:underline; }
.vm-showcase-row { min-width:0; display:grid; grid-template-columns:30px minmax(0,1fr) 20px; align-items:center; gap:11px; padding:13px 12px; margin-top:6px; background:#151c25; border:1px solid #2b3541; border-radius:8px; color:#e9edf2; text-decoration:none; transition:background-color .18s,border-color .18s,transform .18s; }
.vm-showcase-row:hover { background:#212936; border-color:#bf536a; transform:translateX(3px); }
.vm-showcase-row-lead { border-color:#9f4457; background:#211922; }
.vm-showcase-number { font:700 11px/1.3 "Montserrat",sans-serif; color:#f07187; }
.vm-showcase-row-text { min-width:0; }
.vm-showcase-row-text strong { display:block; font-size:13px; font-weight:750; letter-spacing:-.01em; }
.vm-showcase-row-text small { display:block; color:#aeb9c8; font-size:11px; line-height:1.5; margin-top:3px; }
.vm-showcase-right { color:#fb8599; font-size:17px; text-align:right; }
.vm-showcase-bottom { display:flex; justify-content:space-between; gap:12px; border-top:1px solid #323b46; background:#131923; padding:13px 19px; color:#a8b3c1; font-size:10px; letter-spacing:.015em; }
.vm-showcase-bottom>span:last-child { color:#f08a9c; font-weight:700; }
/* An editorial identity panel for About and a useful Pal Atlas preview for Games. */
.vm-purpose-panel { min-height:300px; display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; border:1px solid #38414d; border-radius:14px; padding:27px; background:linear-gradient(155deg,#1b222d,#10151c 70%); }
.vm-purpose-kicker { font:800 10px/1.5 "Montserrat",sans-serif; letter-spacing:.17em; color:#f18a9a; }
.vm-purpose-panel>p { margin:23px 0 26px; max-width:430px; color:#f7f8fa; font:800 clamp(24px,2.5vw,34px)/1.2 "Montserrat",sans-serif; letter-spacing:-.05em; }
.vm-purpose-panel em { font-style:normal; color:#e30b31; }
.vm-purpose-sub { display:block; margin-top:13px; font:500 13px/1.65 system-ui,sans-serif; letter-spacing:0; color:#bac3d1; }
.vm-purpose-links { display:grid; gap:0; border-top:1px solid #323b46; }
.vm-purpose-links a { display:flex; align-items:center; justify-content:space-between; padding:12px 0; border-bottom:1px solid #323b46; color:#eef1f6; text-decoration:none; font-size:13px; font-weight:650; }
.vm-purpose-links a:hover { color:#e30b31; }
.vm-purpose-links a span { color:#e30b31; }
.vm-purpose-bottom { display:flex; justify-content:space-between; gap:10px; margin-top:18px; font-size:10px; color:#9eabb9; }
.vm-purpose-bottom span:last-child { color:#e5adba; font-weight:800; letter-spacing:.07em; }
.vm-games-panel { background:linear-gradient(148deg,#1b2530,#10151b 75%); }
/* Tighter typography and clearer visual hierarchy across public directories. */
body.versys-dark-page .platform-hero { padding-block:clamp(39px,4.6vw,57px); }
body.versys-dark-page .platform-hero-grid { gap:clamp(25px,3.5vw,43px); }
body.versys-dark-page .platform-hero-copy h1 { line-height:1.12; letter-spacing:-.045em; }
body.versys-dark-page .platform-hero-copy>p:not(.dark-eyebrow) { font-size:15px; line-height:1.7; }
body.versys-dark-page .directory-compact-card,body.versys-dark-page .plugin-directory-card { border-color:#313945; background:#11171f; transition:border-color .18s,transform .18s,background-color .18s; }
body.versys-dark-page .directory-compact-card:hover,body.versys-dark-page .plugin-directory-card:hover { background:#17202a; border-color:#b25163; transform:translateY(-2px); }
body.versys-dark-page .dark-btn,body.versys-dark-page .btn,body.versys-dark-page .hd-btn { transition:background-color .18s,border-color .18s,transform .18s; }
body.versys-dark-page .dark-btn:hover,body.versys-dark-page .btn:hover { transform:translateY(-1px); }
body.versys-dark-page .vm-discovery { background:#0d1117; border-top-color:#303742; }
body.versys-dark-page .vm-discovery .vm-discovery-grid li { background:#141b23; border-color:#333b47; }
body.versys-dark-page .vm-discovery .vm-discovery-grid li:hover { background:#1c2530; }
body.versys-dark-page .vm-discovery h2 { letter-spacing:-.03em; }
/* Homepage: limit large card bulk without sacrificing touch targets. */
body.versys-dark-page .hero-grid { gap:clamp(25px,3.5vw,43px); }
body.versys-dark-page .hero { padding-block:clamp(42px,4.5vw,58px); }
body.versys-dark-page .hero h1 { line-height:1.09; letter-spacing:-.047em; }
body.versys-dark-page .hero .lead { font-size:15px; }
body.versys-dark-page .category-card { min-height:185px; border-color:#2e3540; }
body.versys-dark-page .product-card { border-color:#2e3540; }
body.versys-dark-page :is(.category-card,.product-card):hover { border-color:#b85367; }
/* Help Desk: retain sales CTA, make cards flatter and easier to scan. */
body.hd-page .hd-hero { background:linear-gradient(120deg,#0b0e13,#10151d); }
body.hd-page .hd-title { line-height:1.05; letter-spacing:-.052em; }
body.hd-page .hd-hero-grid { gap:clamp(22px,3vw,35px); }
body.hd-page .hd-btn-primary { box-shadow:none; }
body.hd-page .hd-shot { border-color:#38414d; box-shadow:0 16px 36px rgba(0,0,0,.16); }
/* Keep motion pleasant rather than mandatory. */
@media(max-width:950px){.vm-showcase-top { height:41px; }.vm-showcase-row{margin-top:5px}.vm-purpose-panel{min-height:270px} }
@media(max-width:680px){
  .vm-product-ribbon { display:block; min-height:0; }
  .vm-ribbon-window { overflow:hidden; }
  .vm-ribbon-set > a { padding:12px 17px; }
  .vm-showcase-main { padding:11px; }.vm-showcase-row{padding:12px 10px}.vm-showcase-bottom{padding:12px}
  .vm-purpose-panel{min-height:0;padding:22px}.vm-purpose-panel>p{font-size:26px}
  body.versys-dark-page .category-card { min-height:0; }
  body.versys-dark-page .hero { padding-block:36px; }
}
@media(prefers-reduced-motion:reduce){
  .vm-ribbon-track.is-ready { animation:none; will-change:auto; }
  .vm-ribbon-window { overflow-x:auto; scrollbar-width:thin; }
  .vm-ribbon-set[aria-hidden="true"] { display:none; }
  body.versys-dark-page :is(.category-card,.product-card,.directory-compact-card,.plugin-directory-card,.dark-btn,.btn,.vm-showcase-row){ transition:none!important; }
  body.versys-dark-page :is(.category-card,.product-card,.directory-compact-card,.plugin-directory-card,.dark-btn,.btn,.vm-showcase-row):hover{transform:none!important;}
}

/* Public marketing refinements. Real interface imagery and clear product choices take
   the place of decorative status icons and generic claim tiles. */
body.versys-dark-page .hero.hero-rebuilt{overflow:hidden; padding:clamp(45px,5.5vw,79px) 0; background:linear-gradient(115deg,#0d1015 0%,#090b0f 64%,#0d1016 100%);}
body.versys-dark-page .hero.hero-rebuilt .hero-grid{max-width:none;grid-template-columns:minmax(0,1.1fr) minmax(390px,.9fr); gap:clamp(30px,4vw,64px);align-items:center;}
body.versys-dark-page .hero.hero-rebuilt h1{font-size:clamp(34px,4.1vw,59px);line-height:1.105;max-width:780px;letter-spacing:-.051em;font-weight:800;}
body.versys-dark-page .hero.hero-rebuilt h1 span{color:#e30b31;}
body.versys-dark-page .hero.hero-rebuilt .lead{font-size:clamp(14px,1.2vw,16px);line-height:1.82;color:#b9c1cd;max-width:620px;}
body.versys-dark-page .hero.hero-rebuilt .hero-actions{margin-top:26px;gap:10px;}
.vm-hero-index{margin:27px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid #303741;}
.vm-hero-index>div{padding:15px 12px 4px 0;margin:0;min-width:0;}
.vm-hero-index>div+div{padding-left:17px;border-left:1px solid #303741;}
.vm-hero-index dt{color:#8e98a6;font-size:10px;letter-spacing:.13em;font-weight:750;text-transform:uppercase;margin-bottom:8px;}
.vm-hero-index dd{margin:0;font-size:12px;line-height:1.55;}
.vm-hero-index a{color:#f3f5f7;font-weight:650;text-decoration:none; text-underline-offset:4px;}
.vm-hero-index a:hover{text-decoration:underline;}
.vm-hero-product{margin:0;min-width:0;background:#11161d;border:1px solid #39434d;border-radius:12px;overflow:hidden;box-shadow:0 16px 55px rgba(0,0,0,.3);}
.vm-hero-product-head{height:43px;display:flex;justify-content:space-between;align-items:center;padding:0 17px;border-bottom:1px solid #313841;}
.vm-hero-product-head strong{font-size:11px;letter-spacing:.12em;color:#f1f4f6;}
.vm-hero-product-head span{font-size:11px;color:#a8b4c3;}
.vm-hero-product-image{background:#e9edf3; aspect-ratio: 16/9;overflow:hidden;}
.vm-hero-product-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%; transition:transform .4s ease;}
.vm-hero-product:hover .vm-hero-product-image img{transform:scale(1.018);}
.vm-hero-product figcaption{display:grid;grid-template-columns:1fr auto;gap:4px 18px;padding:17px 19px;align-items:center;}
.vm-hero-product figcaption strong{font-size:14px;color:#fff;}
.vm-hero-product figcaption span{grid-column:1;color:#aeb8c6;font-size:12px;line-height:1.65;}
.vm-hero-product figcaption a{grid-column:2;grid-row:1 / span 2;font-size:12px;white-space:nowrap;font-weight:800;color:#e30b31;text-decoration:none;}
.vm-hero-product figcaption a:hover{text-decoration:underline;}
.vm-choose-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;}
.vm-choose-grid article{padding:25px 24px 22px;border:1px solid #303a46;border-radius:10px;background:linear-gradient(155deg,#141b24,#10141a);display:flex;flex-direction:column;gap:13px;min-width:0;}
.vm-choose-index{font:750 10px/1.4 system-ui,sans-serif;letter-spacing:.1em;color:#e30b31;}
.vm-choose-grid h3{font-size:18px;letter-spacing:-.024em;line-height:1.35;margin:0;}
.vm-choose-grid p{font-size:13px;line-height:1.75;color:#b5bdc8;margin:0;}
.vm-choose-grid a{margin-top:auto;padding-top:12px;text-decoration:none;font-size:12px;font-weight:750;color:#e30b31;}
.vm-choose-grid a:hover{text-decoration:underline;}
.vm-faq-section{background:#0d1116;border-block:1px solid #242b35;padding:clamp(45px,4.7vw,65px) 0;}
.vm-faq-layout{width:min(1140px,calc(100% - 48px));margin:0 auto;display:grid;grid-template-columns:minmax(240px,.69fr) minmax(0,1.1fr);gap:clamp(26px,5vw,72px);align-items:start;}
.vm-faq-layout>div:first-child>h2{margin:0 0 15px;line-height:1.17;letter-spacing:-.04em;font-size:clamp(24px,2.4vw,34px);color:#f5f7fa;}
.vm-faq-layout>div:first-child>p:not(.eyebrow):not(.dark-eyebrow){color:#aab5c1;font-size:14px;line-height:1.75;margin:0;}
.vm-faq-items{display:grid;gap:0;min-width:0;border-top:1px solid #36404d;}
.vm-faq-items details{border-bottom:1px solid #36404d;padding:0 2px;}
.vm-faq-items summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:15px;cursor:pointer;font-size:14px;line-height:1.55;font-weight:700;padding:18px 28px 18px 2px;color:#f2f4f8;position:relative;}
.vm-faq-items summary::-webkit-details-marker{display:none;}
.vm-faq-items summary::after{content:'+';font:400 20px/1 system-ui,sans-serif;color:#e98da0;position:absolute;right:4px;top:50%;transform:translateY(-50%);}
.vm-faq-items details[open] summary::after{content:'-';}
.vm-faq-items details p{font-size:13px;line-height:1.8;color:#b6c0cb;margin:0 0 12px;max-width:650px;}
.vm-faq-items details a{display:inline-block;margin:0 0 17px;color:#e30b31;text-underline-offset:4px;font-weight:650;font-size:12px;}
.vm-faq-items summary:focus-visible{outline:2px solid #ff8fa1;outline-offset:3px;}
.vm-faq-compact .vm-faq-layout{max-width:1140px;}
/* AI Caller has a narrow centered shell: allow FAQs to use available viewport width. */
body.ai-caller-page .vm-faq-section{grid-column:1/-1;width:100%;min-width:0;margin:14px 0 0;padding:30px 0;border:0;border-top:1px solid #28313e;background:none;}
body.ai-caller-page .vm-faq-layout{max-width:1080px;}
@media (max-width:1000px){body.versys-dark-page .hero.hero-rebuilt .hero-grid{grid-template-columns:1fr;gap:29px;}.vm-hero-product{max-width:760px}.vm-choose-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.vm-choose-grid article:last-child{grid-column:1/-1;}}
@media (max-width:720px){
 body.versys-dark-page .hero.hero-rebuilt{padding:35px 0 31px;}
 body.versys-dark-page .hero.hero-rebuilt h1{font-size:clamp(32px,8.8vw,44px);}
 .vm-hero-index{margin-top:22px;}
 .vm-hero-index>div{padding-right:8px;}
 .vm-hero-index>div+div{padding-left:9px;}
 .vm-hero-index dt{font-size:9px;letter-spacing:.05em;}
 .vm-hero-index dd{font-size:11px;}
 .vm-hero-product figcaption{grid-template-columns:1fr;}
 .vm-hero-product figcaption a{grid-row:auto;grid-column:auto;margin-top:5px;}
 .vm-choose-grid{grid-template-columns:1fr;}
 .vm-choose-grid article:last-child{grid-column:auto;}
 .vm-faq-layout{width:min(100% - 28px,1140px);grid-template-columns:1fr;gap:22px;}
 .vm-faq-section{padding-block:39px;}
 body.ai-caller-page .vm-faq-section{margin-top:10px;padding-block:25px;}
}
@media (prefers-reduced-motion:reduce){.vm-hero-product-image img{transition:none}.vm-hero-product:hover .vm-hero-product-image img{transform:none}}

/* Real Versys Media red for marketing labels and section accents. */
:root{--vm-accent:#e30b31;}
body.versys-dark-page .vm-choose-index,
body.versys-dark-page .vm-choose-grid a,
body.versys-dark-page .vm-showcase-number,
body.versys-dark-page .vm-showcase-right,
body.versys-dark-page .vm-purpose-kicker,
body.versys-dark-page .vm-purpose-panel em,
body.versys-dark-page .vm-purpose-links a span,
body.versys-dark-page .vm-faq-items summary::after,
body.versys-dark-page .vm-faq-items details a {color:#e30b31;}
