/* Contact and guides: direct paths to the form, the right topic and the next useful page. */
.cbx-modern.cs-premium .cs-contact-page .cs-interior-hero { padding:34px 0!important; }
.cs-contact-page .cs-interior-stage { grid-template-columns:minmax(0,1.65fr) minmax(0,1fr); gap:40px; }
.cs-contact-page .cs-interior-art { height:220px; border:1px solid #426a7d; border-radius:19px; background:radial-gradient(ellipse,#274e6566,transparent 70%),#12304688; overflow:hidden; }
.cs-contact-page .cs-interior-art img { height:225px; width:270px; }
.cs-contact-page .cs-interior-ring { width:260px; height:155px; }
.cs-contact-page .cs-interior-ring-two { width:320px; height:200px; }
.cs-contact-page .cs-interior-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:23px; }
.cbx-modern.cs-premium .cs-contact-page .cs-interior-actions .btn { display:inline-flex; align-items:center; justify-content:space-between; gap:24px; min-height:48px; padding:12px 19px; font-size:13px; }
.cbx-modern.cs-premium .cs-contact-page .cs-interior-actions .primary-solid-btn { background:#96e7ee!important; color:#113749!important; border-color:#96e7ee!important; }
.cbx-modern.cs-premium .cs-contact-page .cs-interior-action-secondary { background:#16394e; border:1px solid #52788e; color:#dff5ff; }
.cs-contact-page .cs-contact-layout { grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr); gap:45px; }
.cs-contact-page .cs-contact-section { padding:32px 0 46px; }
.cs-contact-page .cs-contact-intro { padding-top:12px; }
.cbx-modern.cs-premium .cs-contact-page .cs-contact-intro h2 { font-size:35px; margin:16px 0; }
.cbx-modern.cs-premium .cs-contact-page .cs-contact-intro>p { font-size:14px; line-height:1.85; }
.cs-contact-page .cs-contact-support { padding:23px; margin-top:23px; background:#12374c; border-color:#3c6c80; }
.cs-contact-page .cs-contact-support>span { float:inline-end; color:#b2eef2; border-color:#6598a8; margin:0 0 10px 14px; }
.cbx-modern.cs-premium .cs-contact-page .cs-contact-support h3 { color:#f0faff; font-size:18px; padding-inline-end:40px; }
.cbx-modern.cs-premium .cs-contact-page .cs-contact-support p { color:#c4dde8; font-size:13px; margin-bottom:12px; }
.cs-contact-page .cs-contact-support a { color:#a0edf2; display:inline-flex; gap:18px; align-items:center; min-height:40px; }
.cs-contact-page .cs-contact-channel-grid { grid-template-columns:1fr; gap:10px; margin-top:20px; }
.cs-contact-page .cs-contact-channel-grid>a { padding:17px 19px; background:#fff; border-radius:11px; gap:14px; }
.cs-contact-page .cs-contact-channel-grid>a>span:first-child { display:grid; place-items:center; width:39px; height:39px; flex:0 0 39px; border-radius:10px; background:#eaf5f8; border:1px solid #c4dfe8; font-size:19px; }
.cs-contact-page .cs-contact-channel-grid strong { font-size:15px; }
.cs-contact-page .cs-contact-channel-grid div { min-width:0; }
.cs-contact-page .cs-contact-office { margin-top:20px; }
.cs-contact-page .cs-contact-channels { padding:28px 0; }
.cs-contact-page .cs-contact-note { margin:0; }
.cs-contact-page .cs-contact-form-card { padding:29px; border-radius:18px; box-shadow:0 15px 40px #173c4f0b; }
.cbx-modern.cs-premium .cs-contact-page .cs-contact-form-card>h2 { font-size:26px; margin-bottom:22px; }
.cs-contact-page .cs-contact-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 18px; }
.cs-contact-page .cs-contact-field:has(#contact-service),.cs-contact-page .cs-project-picker,.cs-contact-page .cs-contact-field:has(#message),.cs-contact-page .cs-contact-fields>.btn { grid-column:1/-1; }
.cs-contact-page .cs-contact-field { min-width:0; margin-bottom:18px; }
.cs-contact-page .cs-project-native[hidden],.cs-contact-page .cs-project-picker[hidden] { display:none!important; }
.cs-contact-page .cs-project-picker { padding:0; margin:0 0 22px; border:0; min-width:0; }
.cs-contact-page .cs-project-picker legend { width:auto; color:#294c64; font-size:13px; font-weight:600; margin:0 0 11px; }
.cs-project-choices { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; }
.cs-project-choices button { display:flex; position:relative; flex-direction:column; align-items:center; justify-content:flex-start; gap:7px; border:1px solid #bad2e0; border-radius:10px; padding:11px 7px; min-width:0; min-height:95px; color:#28546c; background:#f0f7fa; font:500 12px/1.5 'DM Sans',sans-serif; cursor:pointer; transition:background .18s,border-color .18s; }
.cs-project-choices button>img { width:42px; height:38px; object-fit:contain; }
.cs-project-choices button>span:not(.cs-project-check) { max-width:100%; overflow-wrap:anywhere; }
.cs-project-choices button:hover { background:#e2f1f6; border-color:#5894a9; }
.cs-project-choices button[aria-pressed=true] { background:#173e53; color:#effbff; border-color:#266d88; box-shadow:inset 0 0 0 1px #266d88; }
.cs-project-check { display:none; position:absolute; top:5px; inset-inline-end:6px; font-size:11px; color:#aff1ee; }
.cs-project-choices button[aria-pressed=true] .cs-project-check { display:block; }
.cs-contact-page .cs-contact-fields textarea { min-height:170px; }
.cs-contact-page :is(button,a,select,input,textarea):focus-visible { outline:3px solid #2c819d; outline-offset:3px; }
.cs-contact-page .cs-interior-hero a:focus-visible,.cs-contact-page .cs-contact-support a:focus-visible { outline-color:#b1f1f4; }
/* Library links remain complete articles; tighter cards make all eight guides discoverable. */
.cs-guide-library .cs-library-stage { padding-block:43px; gap:40px; }
.cs-guide-library .cs-library-art { height:250px; border:1px solid #476b80; border-radius:22px; background:#17384b77; }
.cs-guide-library .cs-library-art>span { inset:15px; border-radius:18px; transform:none; background:radial-gradient(ellipse,#3e6a8133,transparent 70%); }
.cs-guide-library .cs-library-art>img:first-of-type { top:-3px; inset-inline-end:8px; width:190px; height:190px; }
.cs-guide-library .cs-library-art>img:nth-of-type(2) { top:65px; inset-inline-start:8px; width:205px; height:190px; }
.cs-guide-library .cs-library-subjects { gap:9px; margin-top:23px; }
.cs-guide-library .cs-library-subjects>a { display:inline-flex; align-items:center; justify-content:space-between; gap:17px; color:#d2f2f8; border:1px solid #5a8294; background:#183d51; border-radius:8px; padding:10px 14px; min-height:44px; font-size:12px; }
.cs-guide-library .cs-library-subjects>a:hover { color:#fff; background:#285369; border-color:#8ecad8; }
.cs-guide-library .cs-guide-filterbar { background:#fff; border:1px solid #c5dbe7; border-radius:14px; padding:17px; margin:0 0 24px; scroll-margin-top:calc(var(--cbx-header-offset,110px) + 18px); }
.cs-guide-library .cs-guide-filters { gap:7px; }
.cs-guide-library .cs-guide-filters button { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 13px; font-size:12px; }
.cs-guide-filter-total { display:grid; place-items:center; min-width:21px; height:21px; padding-inline:4px; border:1px solid #82a4b777; border-radius:6px; font-size:10px; font-weight:500; }
.cs-guide-library .cs-guide-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; scroll-margin-top:calc(var(--cbx-header-offset,110px) + 20px); }
.cs-guide-library .cs-guide-card { grid-column:auto; display:grid; grid-template-columns:155px minmax(0,1fr); align-items:stretch; border-radius:15px; }
.cs-guide-library .cs-guide-card[hidden] { display:none!important; }
.cs-guide-library .cs-guide-cover { height:100%; min-height:260px; }
.cs-guide-library .cs-guide-cover>img { width:155px; height:185px; object-fit:contain; }
.cs-guide-library .cs-guide-cover.cs-guide-landscape>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.cs-guide-library .cs-guide-cover>span { bottom:15px; inset-inline:11px; font-size:9px; padding:6px 8px; line-height:1.6; letter-spacing:0; text-align:center; }
.cs-guide-library .cs-guide-card-body { padding:22px; min-width:0; }
.cs-guide-library .cs-guide-number { margin-bottom:10px; font-size:9px; }
.cbx-modern.cs-premium .cs-guide-library .cs-guide-card h2 { font-size:21px; line-height:1.45; margin-bottom:12px; }
.cbx-modern.cs-premium .cs-guide-library .cs-guide-card p { font-size:13px; line-height:1.85; margin-bottom:20px; }
.cs-guide-library .cs-guide-read { font-size:12px; padding-top:14px; }
.cs-guide-library :is(button,a):focus-visible { outline:3px solid #28819f; outline-offset:3px; }
.cs-guide-library .cs-library-subjects>a:focus-visible { outline-color:#a7ecf1; }
/* Each guide opens with its own game or infrastructure illustration. */
.cbx-modern.cs-premium .cbx-editorial .cs-guide-hero { width:100%; max-width:none; margin:0; padding:42px 0!important; border-radius:0; background:radial-gradient(ellipse at 90% 20%,#244f6566,transparent 60%),#0b2030!important; }
.cs-guide-hero:before,.cs-guide-hero:after { display:none!important; }
.cs-guide-hero-stage { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(0,1fr); align-items:center; gap:45px; }
.cs-guide-hero-copy { min-width:0; }
.cs-guide-hero-navigation { display:flex; align-items:center; flex-wrap:wrap; gap:10px 25px; margin-bottom:20px; }
.cs-guide-hero-navigation>a { display:inline-flex; align-items:center; gap:12px; min-height:40px; color:#c0e9f1; font-size:12px; }
.cs-guide-hero-navigation>.cs-guide-topic { border:1px solid #597d8e; border-radius:7px; padding:7px 11px; background:#1b3d51; font-size:11px; }
.cs-guide-hero-navigation>a:hover { color:#fff; text-decoration:underline; text-underline-offset:4px; }
.cbx-modern.cs-premium .cs-guide-hero h1 { color:#f2fbff; font-size:clamp(32px,3.25vw,47px); line-height:1.2; letter-spacing:-.045em; text-align:start; margin:0 0 20px; }
.cbx-modern.cs-premium .cs-guide-hero p.lead { color:#c7dfea; font-size:16px; line-height:1.85; text-align:start; margin:0; }
.cs-guide-hero-art { position:relative; display:grid; place-items:center; min-width:0; height:280px; padding:15px; border:1px solid #4d778c; border-radius:18px; overflow:hidden; background:radial-gradient(ellipse,#31566b88,transparent 75%),#143449; }
.cs-guide-hero-art>img { width:100%; height:250px; object-fit:contain; }
.cs-guide-hero-art>span { position:absolute; inset-inline-start:16px; bottom:16px; padding:7px 10px; background:#0c2237ed; border:1px solid #658599; border-radius:6px; color:#e4f8ff; font-size:9px; letter-spacing:.03em; }
.cs-guide-hero-landscape { padding:0; }
.cs-guide-hero-landscape>img { width:100%; height:100%; object-fit:cover; }
.cs-guide-hero a:focus-visible { outline:3px solid #a8eef5; outline-offset:4px; }
.cbx-editorial:has(.cs-guide-hero)>.ptb-100 { padding:38px 0 55px!important; }
.cbx-editorial .cs-reading-layout { grid-template-columns:250px minmax(0,1fr); gap:30px; }
.cbx-modern.cs-premium .cbx-editorial .cs-reading-layout>.cbx-article { border-color:#c4dce7; padding:32px; border-radius:16px; }
.cbx-modern.cs-premium .cbx-editorial .cs-reading-layout .cbx-article .cbx-note { border-inline-start:3px solid #28829b; border-left-color:#28829b; background:#edf7fa; font-size:14px; line-height:1.85; padding:20px; }
.cbx-modern.cs-premium .cbx-editorial .cs-reading-layout .cbx-article>h2 { font-size:27px; margin:30px 0 17px; }
.cbx-modern.cs-premium .cbx-editorial .cs-reading-layout .cbx-article>p { font-size:16px; line-height:1.9; }
.cs-reading-layout .cbx-article>p:has(.btn) { margin:18px 0; }
.cs-reading-layout .cbx-article .btn { white-space:normal; text-align:start; }
@media(max-width:1199px) {
 .cs-contact-page .cs-contact-layout { gap:28px; }
 .cs-contact-page .cs-contact-form-card { padding:24px; }
 .cs-project-choices { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .cs-guide-library .cs-guide-card { grid-template-columns:118px minmax(0,1fr); }
 .cs-guide-library .cs-guide-cover>img { width:118px; }
 .cs-guide-library .cs-guide-card-body { padding:19px; }
 .cs-guide-hero-stage { gap:30px; }
}
@media(max-width:991px) {
 .cs-contact-page .cs-contact-layout { grid-template-columns:minmax(0,1fr); }
 .cs-project-choices { grid-template-columns:repeat(5,minmax(0,1fr)); }
 .cs-guide-library .cs-guide-grid { grid-template-columns:1fr; }
 .cs-guide-library .cs-guide-card { grid-template-columns:185px minmax(0,1fr); }
 .cs-guide-library .cs-guide-cover>img { width:175px; }
 .cs-guide-library .cs-guide-filterbar { flex-wrap:wrap; gap:14px; }
 .cs-guide-hero-stage { grid-template-columns:1.5fr 1fr; gap:25px; }
 .cs-guide-hero-art { height:230px; }
 .cs-guide-hero-art>img { height:220px; }
 .cs-guide-hero-landscape>img { height:100%; }
 .cs-reading-sidebar { margin-bottom:20px; }
}
@media(max-width:767px) {
 .cbx-modern.cs-premium .cs-contact-page .cs-interior-hero { padding:28px 0!important; }
 .cs-contact-page .cs-interior-stage { display:block; }
 .cs-contact-page .cs-interior-art { display:none; }
 .cbx-modern.cs-premium .cs-contact-page .cs-interior-hero h1 { font-size:34px; margin:19px 0 16px; }
 .cs-contact-page .cs-interior-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin-top:20px; }
 .cbx-modern.cs-premium .cs-contact-page .cs-interior-actions .btn { padding:11px 13px; gap:8px; font-size:12px; white-space:normal; }
 .cs-contact-page .cs-contact-section { padding:20px 0 32px; }
 .cs-contact-page .cs-contact-form-card { padding:23px 20px; }
 .cbx-modern.cs-premium .cs-contact-page .cs-contact-form-card>h2 { font-size:24px; margin-bottom:20px; }
 .cs-contact-page .cs-contact-fields { grid-template-columns:minmax(0,1fr); }
 .cs-project-choices { grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
 .cs-project-choices button { min-height:85px; padding:10px 6px; font-size:11px; }
 .cs-project-choices button>img { height:33px; }
 .cs-contact-page .cs-contact-fields textarea { min-height:150px; }
 .cbx-modern.cs-premium .cs-contact-page .cs-contact-intro h2 { font-size:29px; }
 .cs-guide-library .cs-library-stage { padding-block:29px; }
 .cbx-modern.cs-premium .cs-guide-library .cs-library-hero h1 { font-size:33px; margin:18px 0; }
 .cs-guide-library .cs-library-subjects { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
 .cs-guide-library .cs-library-subjects>a { padding:10px 13px; }
 .cs-guide-library .cs-guide-catalogue { padding:25px 0 42px; }
 .cs-guide-library .cs-guide-filterbar { padding:13px; border-radius:12px; margin-bottom:18px; }
 .cs-guide-library .cs-guide-filters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
 .cs-guide-library .cs-guide-filters button:first-child { grid-column:1/-1; }
 .cs-guide-library .cs-guide-count { margin-top:13px; font-size:11px; }
 .cs-guide-library .cs-guide-grid { gap:16px; }
 .cs-guide-library .cs-guide-card { display:block; }
 .cs-guide-library .cs-guide-cover { min-height:0; height:116px; }
 .cs-guide-library .cs-guide-cover>img { width:155px; height:135px; }
 .cs-guide-library .cs-guide-cover>span { inset-inline-start:13px; inset-inline-end:auto; bottom:12px; padding:5px 9px; }
 .cs-guide-library .cs-guide-cover.cs-guide-landscape>img { object-position:center 48%; }
 .cs-guide-library .cs-guide-card-body { padding:19px; }
 .cs-guide-library .cs-guide-number { margin-bottom:9px; }
 .cbx-modern.cs-premium .cs-guide-library .cs-guide-card h2 { font-size:21px; margin-bottom:10px; }
 .cbx-modern.cs-premium .cs-guide-library .cs-guide-card p { font-size:13px; margin-bottom:18px; }
 .cbx-modern.cs-premium .cbx-editorial .cs-guide-hero { padding:25px 0 28px!important; }
 .cs-guide-hero-stage { grid-template-columns:1fr; gap:22px; }
 .cs-guide-hero-navigation { gap:10px 18px; margin-bottom:18px; }
 .cbx-modern.cs-premium .cs-guide-hero h1 { font-size:31px; margin-bottom:17px; }
 .cbx-modern.cs-premium .cs-guide-hero p.lead { font-size:14px; line-height:1.85; }
 .cs-guide-hero-art { height:128px; border-radius:12px; }
 .cs-guide-hero-art>img { height:145px; width:200px; }
 .cs-guide-hero-landscape>img { width:100%; height:100%; }
 .cs-guide-hero-art>span { bottom:12px; inset-inline-start:12px; font-size:9px; }
 .cbx-editorial:has(.cs-guide-hero)>.ptb-100 { padding:24px 0 38px!important; }
 .cbx-editorial .row:has(>.cs-reading-layout) { margin-inline:0; }
 .cbx-modern.cs-premium .cbx-editorial .cs-reading-layout { width:100%; margin-inline:0; padding-inline:0; }
 .cbx-modern.cs-premium .cbx-editorial .cs-reading-layout>.cbx-article { padding:22px; border-radius:13px; }
 .cbx-modern.cs-premium .cbx-editorial .cs-reading-layout .cbx-article .cbx-note { padding:16px; font-size:13px; }
 .cbx-modern.cs-premium .cbx-editorial .cs-reading-layout .cbx-article>h2 { font-size:24px; margin:26px 0 15px; }
 .cbx-modern.cs-premium .cbx-editorial .cs-reading-layout .cbx-article>p { font-size:15px; line-height:1.9; }
 .cs-reading-layout .cs-article-navigation { margin-bottom:20px; padding-bottom:17px; gap:10px; }
}
[dir=rtl] .cs-guide-hero h1 { letter-spacing:0!important; line-height:1.5!important; }
[dir=rtl] .cs-guide-hero-navigation>a:first-child>span { transform:rotate(180deg); }
@media(prefers-reduced-motion:reduce) { .cs-project-choices button { transition:none; } }
