/* The home page represents all four product families; individual game pages keep their own worlds. */
.cbx-modern.cs-premium .cs-unified-hero { background:radial-gradient(ellipse at 80% 36%,#16354975,transparent 58%),#081421; padding-bottom:38px; }
.cs-unified-hero .cs-premium-stage { grid-template-columns:1fr 1.06fr; gap:38px; padding-top:54px; padding-bottom:38px; }
.cs-unified-hero .cs-premium-eyebrow { text-transform:uppercase; letter-spacing:.14em; font-size:10px; margin-bottom:25px; }
.cbx-modern.cs-premium .cs-unified-hero h1 { font-size:clamp(46px,4.8vw,70px); line-height:1.08; margin-bottom:25px; }
.cbx-modern.cs-premium .cbx-home .cs-unified-hero .cs-premium-lead { font-size:19px; line-height:1.8; margin-bottom:20px; }
.cs-unified-hero .cs-premium-lead>span { color:#bfd6e7; }
.cbx-modern.cs-premium .cbx-home .cs-unified-hero .cs-premium-description { max-width:530px; font-size:14px; line-height:1.85; }
.cs-unified-hero .cs-premium-actions { gap:18px 22px; margin-top:28px; }
.cs-unified-hero .cs-home-project { display:inline-flex; align-items:center; justify-content:space-between; gap:13px; color:#c3dce9; font-size:12px; min-height:44px; border-bottom:1px solid #466274; transition:color .2s,border-color .2s; }
.cs-unified-hero .cs-home-project:hover { color:#fff; border-color:#8ddcea; }
.cs-unified-hero .cs-home-project>span { font-size:20px; color:#90e6ed; }
.cs-unified-hero .cs-premium-trust { margin-top:25px; font-size:11px; gap:18px; }
.cs-unified-hero .cs-premium-trust>span+span { border-left:0; padding-left:0; border-inline-start:1px solid #405169; padding-inline-start:18px; }
.cs-unified-scene.cs-premium-scene { padding:12px 0; max-width:none; margin:0; isolation:auto; }
.cs-core-heading { display:flex; justify-content:space-between; align-items:center; gap:18px; color:#a1c4d6; font-size:9px; font-weight:600; letter-spacing:.13em; position:relative; z-index:1; }
.cs-core-art { display:block; width:112%; max-width:none; height:auto; margin:12px -6% 0; aspect-ratio:3/2; object-fit:contain; mix-blend-mode:lighten; position:relative; z-index:0; mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent); }
.cs-core-orbit { position:absolute; inset:7% -2% 8%; border:1px solid #7dd4e51c; border-radius:50%; transform:rotate(-21deg); pointer-events:none; z-index:-1; }
.cs-core-orbit:after { content:''; position:absolute; inset:19px -15px; border:1px dashed #7dd4e519; border-radius:50%; }
.cs-core-caption { position:relative; display:flex; align-items:center; justify-content:space-between; gap:15px; margin:0 4%; padding-top:16px; border-top:1px solid #4c6c7b66; font-size:11px; color:#c0d5e3; }
.cs-core-caption>span:first-child { display:flex; align-items:center; flex-wrap:wrap; gap:5px; }
.cs-core-caption>span:first-child>span { width:6px; height:6px; flex:0 0 6px; border-radius:50%; background:#82d5e1; margin-inline-end:5px; }
.cs-core-caption strong { font-weight:500; color:#ebf6fb; }
.cs-core-caption>span:last-child { font:500 8px 'DM Sans',sans-serif; letter-spacing:.1em; color:#a1c4d6; }
/* Equal-size destinations make the scope of CubixServ explicit before the catalogue. */
.cs-premium .cs-unified-hero .cs-home-destinations { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; padding:0 15px; background:transparent; border:0; border-radius:0; overflow:visible; scroll-margin-top:calc(var(--cbx-header-offset,110px) + 18px); }
.cs-premium .cs-unified-hero .cs-home-destination { min-width:0; display:grid; grid-template-columns:62px 1fr; align-content:start; align-items:center; gap:12px; padding:18px 22px 20px; border:1px solid #3e596d; border-radius:13px; background:linear-gradient(140deg,#162d40,#112335); transition:background .2s,border-color .2s,transform .2s; }
.cs-home-route-art { grid-row:1; grid-column:1; width:62px; height:55px; display:grid; place-items:center; position:relative; }
.cs-home-route-art:before { content:''; position:absolute; width:46px; height:46px; border-radius:50%; background:#2c64844a; filter:blur(10px); }
.cs-home-route-art img { position:relative; width:74px; height:66px; max-width:none; object-fit:contain; }
.cs-home-route-copy { grid-row:2; grid-column:1/-1; min-width:0; }
.cs-premium .cs-unified-hero .cs-home-route-copy>strong { color:#f1f8ff; font-size:20px; font-weight:600; line-height:1.4; overflow-wrap:break-word; }
.cs-premium .cs-unified-hero .cs-home-route-copy>span { color:#b7cddd; font-size:11px; line-height:1.8; margin-top:4px; }
.cs-home-route-arrow { grid-row:1; grid-column:2; justify-self:end; display:grid; place-items:center; width:30px; height:30px; border-radius:7px; border:1px solid #587687; color:#9edee9; font-size:18px; transition:background .2s; }
.cs-premium .cs-unified-hero .cs-home-destination:hover { background:#1b3a4f; border-color:#85c1d0; transform:translateY(-3px); }
.cs-home-destination:hover .cs-home-route-arrow { background:#345c70; }
.cs-premium .cs-unified-hero .cs-home-destination:focus-visible { outline:3px solid #95e8f2; outline-offset:4px; }
.cs-premium .cs-guide-tabs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.cs-premium .cs-guide-tabs[hidden] { display:none; }
.cs-premium .cs-guide-tabs button { min-width:0; font-size:13px; padding:13px 12px; gap:8px; }
.cs-guide-panel[id] { scroll-margin-top:calc(var(--cbx-header-offset,110px) + 18px); }
@media(min-width:992px) and (prefers-reduced-motion:no-preference) {
 .cs-core-art { animation:cs-core-arrive .9s cubic-bezier(.2,.8,.2,1) both; }
}
@keyframes cs-core-arrive { from { opacity:.4; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:1199px) {
 .cs-unified-hero .cs-premium-stage { gap:25px; padding-top:42px; }
 .cbx-modern.cs-premium .cs-unified-hero h1 { font-size:54px; }
 .cbx-modern.cs-premium .cbx-home .cs-unified-hero .cs-premium-lead { font-size:17px; }
 .cs-core-caption { margin-inline:0; }
 .cs-core-caption>span:last-child { display:none; }
 .cs-premium .cs-unified-hero .cs-home-destination { padding:18px; }
 .cs-premium .cs-unified-hero .cs-home-route-copy>strong { font-size:18px; }
}
@media(max-width:991px) {
 .cs-unified-hero .cs-premium-stage { padding-inline:28px; gap:20px; }
 .cbx-modern.cs-premium .cs-unified-hero h1 { font-size:45px; }
 .cs-core-heading { font-size:8px; letter-spacing:.06em; gap:10px; flex-wrap:wrap; }
 .cs-core-art { width:116%; margin-inline:-8%; }
 .cs-premium .cs-unified-hero .cs-home-destinations { grid-template-columns:repeat(2,minmax(0,1fr)); padding-inline:28px; }
 .cs-premium .cs-unified-hero .cs-home-destination { grid-template-columns:62px minmax(0,1fr) 26px; column-gap:18px; padding:19px; }
 .cs-home-route-copy { grid-row:1; grid-column:2; }
 .cs-home-route-arrow { grid-column:3; width:26px; height:26px; }
}
@media(max-width:767px) {
 .cbx-modern.cs-premium .cs-unified-hero { padding-bottom:28px; }
 .cs-unified-hero .cs-premium-stage { display:flex; flex-direction:column; align-items:stretch; gap:0; padding:30px 22px 28px; }
 .cs-unified-hero .cs-premium-copy { display:contents; }
 .cs-unified-hero .cs-premium-eyebrow { order:0; font-size:9px; letter-spacing:.1em; margin-bottom:20px; }
 .cbx-modern.cs-premium .cs-unified-hero h1 { order:1; font-size:clamp(34px,10vw,52px); line-height:1.12; margin-bottom:20px; }
 .cbx-modern.cs-premium .cbx-home .cs-unified-hero .cs-premium-lead { order:2; font-size:16px; line-height:1.75; margin-bottom:5px; }
 .cs-unified-scene.cs-premium-scene { order:3; width:100%; max-width:470px; margin:0 auto; padding:10px 0 0; }
 .cs-core-heading,.cs-core-caption { display:none; }
 .cs-core-art { width:108%; margin:0 -4%; }
 .cs-core-orbit { inset:10% 0; }
 .cs-unified-hero .cs-premium-actions { order:4; margin-top:6px; gap:10px 20px; }
 .cbx-modern.cs-premium .cs-unified-hero .cs-premium-actions .btn { min-height:50px; padding:13px 18px; font-size:13px; }
 .cs-unified-hero .cs-home-project { font-size:12px; }
 .cbx-modern.cs-premium .cbx-home .cs-unified-hero .cs-premium-description { order:5; margin:21px 0 0; font-size:13px; }
 .cs-unified-hero .cs-premium-trust { order:6; margin-top:18px; font-size:10px; gap:12px; }
 .cs-unified-hero .cs-premium-trust>span+span { padding-inline-start:12px; }
 .cs-premium .cs-unified-hero .cs-home-destinations { padding-inline:22px; gap:12px; }
 .cs-premium .cs-unified-hero .cs-home-destination { grid-template-columns:50px 1fr; gap:12px 6px; padding:15px; }
 .cs-home-route-art { width:50px; height:45px; }
 .cs-home-route-art img { width:62px; height:56px; }
 .cs-home-route-copy { grid-row:2; grid-column:1/-1; }
 .cs-home-route-arrow { grid-column:2; width:24px; height:24px; font-size:16px; }
 .cs-premium .cs-unified-hero .cs-home-route-copy>strong { font-size:17px; line-height:1.4; }
 .cs-premium .cs-unified-hero .cs-home-route-copy>span { font-size:10px; line-height:1.7; }
 .cs-premium .cs-guide-tabs { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .cs-premium .cs-guide-tabs button { padding:12px; font-size:13px; gap:10px; }
}
@media(max-width:359px) {
 .cs-unified-hero .cs-premium-stage { padding-inline:18px; }
 .cs-premium .cs-unified-hero .cs-home-destinations { padding-inline:18px; gap:10px; }
 .cs-premium .cs-unified-hero .cs-home-destination { padding:13px; }
 .cs-premium .cs-unified-hero .cs-home-route-copy>strong { font-size:15px; }
}
html[dir=rtl] .cs-unified-hero .cs-premium-eyebrow { letter-spacing:0; }
html[dir=rtl] .cs-premium .cs-unified-hero h1 { line-height:1.35; letter-spacing:0; }
@media(prefers-reduced-motion:reduce) {
 .cs-core-art,.cs-home-destination,.cs-home-route-arrow,.cs-unified-hero .cs-home-project { animation:none!important; transition:none!important; transform:none!important; }
}
/* Give long translated tab labels the full tap target on small screens. */
@media(max-width:767px) {
 .cs-premium .cs-guide-tabs button { padding-inline:10px; overflow-wrap:anywhere; }
 .cs-premium .cs-guide-tabs button>span { display:none; }
}
/* Long translated infrastructure headings must fit the narrowest content column. */
.cbx-modern.cs-premium .cbx-home .feature-tab-content h4 { overflow-wrap:anywhere; }
