/* Purchasing tools and editorial company pages. Uses Horizon's shared colour tokens. */
.cbx-modern.cs-premium .cs-compare-intro { display:flex; align-items:center; justify-content:center; gap:17px; padding:22px; background:#fff; border:1px solid #d4e2ed; border-radius:14px; margin:0 auto 28px; text-align:left; }
.cs-compare-intro-icon { width:44px; height:44px; flex:0 0 44px; display:grid; place-items:center; border-radius:12px; background:#e9f4fb; color:#276689; font-size:25px; }
.cs-compare-intro strong { display:block; font-size:15px; color:#1c425c; }
.cbx-modern.cs-premium .cs-compare-intro p { margin:4px 0 0; color:#577186; font-size:13px; line-height:1.6; }
.cbx-modern.cs-premium .vps-hosting-pricing-table .cs-compare-choice { display:block; margin:10px auto 0; border:1px solid transparent; background:transparent; padding:7px 8px; color:#335d7e; font:600 12px 'DM Sans',sans-serif; min-height:34px; border-radius:6px; cursor:pointer; white-space:nowrap; }
.cbx-modern.cs-premium .vps-hosting-pricing-table .cs-compare-choice:hover { background:#e4f1fa; color:#153b59; border-color:#b4d0e1; }
.cbx-modern.cs-premium .vps-hosting-pricing-table .cs-compare-choice[aria-pressed=true] { color:#104e7c; background:#d9effa; border-color:#77b2d4; }
.cbx-modern.cs-premium .vps-hosting-pricing-table tr.cs-offer-selected td { background:#f0f8fd; border-color:#75aac9; }
.cs-compare-bar { position:fixed; z-index:1040; bottom:20px; left:50%; transform:translateX(-50%); width:calc(100% - 200px); max-width:1020px; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:22px 25px; border-radius:16px; background:#102a3e; color:#f2f8fc; border:1px solid #6095b4; box-shadow:0 20px 60px #07142355; }
.cs-compare-bar[hidden] { display:none; }
.cbx-modern.cs-premium .cs-compare-status { margin:0 0 10px; color:#e0eef8; font-size:14px; font-weight:600; line-height:1.4; }
.cs-compare-chips { display:flex; flex-wrap:wrap; gap:7px; }
.cs-compare-chip { background:#1c415c; color:#d4eaf7; border:1px solid #496d87; border-radius:6px; padding:5px 10px; font:500 11px 'DM Sans',sans-serif; min-height:30px; }
.cs-compare-chip:hover { color:#fff; border-color:#9cd4e9; }
.cs-compare-bar-actions { display:flex; flex-direction:column; align-items:center; gap:6px; flex-shrink:0; }
.cbx-modern.cs-premium .cs-compare-bar .primary-solid-btn { background:#93e8f5!important; border-color:#93e8f5!important; color:#103448!important; font-size:13px; min-height:44px; padding:11px 19px; }
.cbx-modern.cs-premium .cs-compare-bar .primary-solid-btn:disabled { background:#36556d!important; border-color:#536f83!important; color:#d1dce5!important; cursor:default; opacity:1; box-shadow:none; transform:none; }
.cs-compare-clear { padding:5px 10px; background:transparent; border:0; font:500 11px 'DM Sans',sans-serif; color:#c5dbe9; text-decoration:underline; text-underline-offset:3px; }
.cs-compare-clear:hover { color:#fff; }
.cs-compare-open { overflow:hidden; }
.cs-compare-dialog { width:min(1080px,calc(100vw - 56px)); max-width:none; max-height:calc(100dvh - 56px); padding:0; border:1px solid #afc8db; border-radius:20px; color:#28475e; background:#f7fafc; box-shadow:0 40px 110px #0006; margin:auto; overflow:auto; }
.cs-compare-dialog::backdrop { background:#061324ba; backdrop-filter:blur(5px); }
.cs-compare-heading { position:sticky; top:0; z-index:3; display:flex; align-items:center; justify-content:space-between; gap:25px; padding:29px 32px 25px; background:#112c41; border-bottom:1px solid #36566e; }
.cs-compare-kicker { color:#98dced; font-size:10px; letter-spacing:.14em; font-weight:600; }
.cbx-modern.cs-premium .cs-compare-heading h2 { color:#f1f7fd; font-size:30px; line-height:1.15; margin:10px 0 0; letter-spacing:-.035em; }
.cs-compare-close { border:1px solid #69869b; border-radius:9px; background:#23485f; color:#eaf7ff; flex:0 0 42px; width:42px; height:42px; display:grid; place-items:center; font-size:27px; line-height:1; }
.cs-compare-close:hover { background:#365e78; }
.cs-compare-toolbar { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:20px 30px; border-bottom:1px solid #d3e1ec; }
.cbx-modern.cs-premium .cs-compare-period { color:#355d79; font-size:13px; margin:0; font-weight:600; }
.cs-compare-differences { display:flex; align-items:center; gap:9px; font-size:12px; color:#415f76; cursor:pointer; margin:0; }
.cs-compare-differences input { width:17px; height:17px; accent-color:#175cce; }
.cs-compare-scroll { overflow:auto; overscroll-behavior-inline:contain; scrollbar-color:#83a7bf #e6eff5; padding:0 26px 18px; }
.cs-compare-table { width:100%; border-collapse:separate; border-spacing:0; table-layout:fixed; min-width:calc(150px + var(--cs-compare-count, 2) * 210px); font-size:14px; }
.cs-compare-table th,.cs-compare-table td { padding:16px 19px; border-right:1px solid #dde7ef; border-bottom:1px solid #d8e5ee; vertical-align:middle; }
.cs-compare-table th:last-child,.cs-compare-table td:last-child { border-right:0; }
.cs-compare-table thead th { vertical-align:top; padding-top:25px; padding-bottom:22px; }
.cs-compare-table th:first-child { width:180px; min-width:160px; max-width:200px; color:#3d5e76; font-size:12px; font-weight:600; }
.cs-compare-table .cs-compare-plan { min-width:210px; width:auto; background:#fff; }
.cs-compare-plan-index { display:block; color:#5a7890; font-size:10px; font-weight:600; letter-spacing:.12em; margin-bottom:11px; }
.cs-compare-plan strong { display:block; color:#183e5a; font:600 22px/1.25 'Space Grotesk',sans-serif; letter-spacing:-.025em; }
.cs-compare-variant { display:block; margin:7px 0; color:#577189; font-size:11px; font-weight:500; }
.cbx-modern.cs-premium .cs-compare-price { color:#175480; font-size:14px; line-height:1.6; margin:13px 0 12px; font-weight:600; }
.cs-compare-remove { border:0; background:transparent; color:#556f81; text-decoration:underline; text-underline-offset:3px; font-size:11px; padding:3px 0; font-weight:500; }
.cs-compare-table tbody td { color:#284e6a; background:#fff; }
.cs-compare-table tbody tr.cs-compare-different>td { background:#eaf5fb; color:#123f60; font-weight:600; }
.cs-compare-table tbody tr.cs-compare-different>th { background:#e3f0f8; color:#214e6e; }
.cs-only-differences .cs-compare-equal { display:none; }
.cs-compare-table tfoot .btn { width:100%; white-space:normal; }
.cbx-modern.cs-premium .cs-compare-note { font-size:12px; color:#556f83; padding:8px 32px 22px; margin:0; }
.cbx-modern.cs-premium .cs-compare-scroll-hint { display:none; }
/* Secondary pages: distinct layouts with a shared brand language. */
.cs-company-hero { background:#0a1c2e; color:#dcebf7; padding:68px 0; position:relative; overflow:hidden; }
.cs-company-hero:after { content:''; position:absolute; width:650px; height:650px; right:-280px; top:-300px; border:1px solid #315771; border-radius:50%; pointer-events:none; }
.cs-company-stage { display:grid; grid-template-columns:1.4fr 1fr; align-items:center; gap:80px; }
.cs-company-hero .cs-premium-eyebrow { color:#9cd7e7; }
.cbx-modern.cs-premium .cs-company-hero h1 { color:#fff; font-size:clamp(40px,4.7vw,68px); line-height:1.05; font-weight:600; margin:25px 0; letter-spacing:-.055em; }
.cs-company-hero h1 span { color:#80dfef; }
.cbx-modern.cs-premium .cs-company-hero p { color:#c2d7e8; font-size:17px; max-width:610px; }
.cs-company-hero .cs-premium-actions { margin-top:28px; }
.cs-company-signature { position:relative; border:1px solid #497088; padding:44px; border-radius:20px; background:#132e43; }
.cs-company-signature:after { content:''; position:absolute; width:60%; height:4px; background:#68d9eb; top:-1px; left:20%; border-radius:0 0 4px 4px; }
.cs-company-signature>span { display:block; color:#bdd8e8; font-size:11px; letter-spacing:.16em; text-transform:uppercase; }
.cs-company-signature>strong { display:block; font:500 clamp(85px,9vw,130px)/1.1 'Space Grotesk',sans-serif; color:#e6f6ff; letter-spacing:-.075em; margin:10px 0 22px; }
.cs-company-signature>p { border-top:1px solid #4a6a81; padding-top:22px; margin:0; font-size:14px!important; }
.cs-company-points { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:25px; }
.cs-company-point { padding:30px; border:1px solid #cfdfeb; border-radius:16px; background:#fff; position:relative; }
.cs-company-point>span { display:block; color:#37769a; font:500 12px 'Space Grotesk',sans-serif; letter-spacing:.1em; margin-bottom:30px; }
.cbx-modern.cs-premium .cs-company-point h3 { color:#163c57; font-size:26px; line-height:1.15; }
.cbx-modern.cs-premium .cs-company-point p { color:#546e81; font-size:14px; margin:17px 0 25px; }
.cs-company-point a { color:#1b6193; font-size:13px; font-weight:600; display:inline-flex; align-items:center; gap:20px; border-bottom:1px solid #bdd2e1; padding-bottom:4px; }
.cs-company-story .row { align-items:center; }
.cs-company-story .col-xl-8>p { font-size:15px; max-width:760px; }
.cs-company-story .image-box { border:1px solid #d7e6ef; border-radius:24px; background:#edf5fa; padding:30px; }
.cs-company-story .cs-premium-eyebrow { margin-bottom:17px; }
.cs-company-story h2 { font-size:38px; margin-bottom:24px; }
.cs-network-page .network-map-section { background:#0f283c; }
.cs-network-page .network-map-section .section-heading h2 { color:#f0f7ff!important; }
.cbx-modern.cs-premium .cs-network-page .network-map-section .section-heading p { color:#bcd4e6; }
.cs-network-page .cbx-network-overview { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; position:relative; }
.cs-network-page .cbx-network-node { position:relative; background:#15364e; border:1px solid #54738b; border-radius:16px; padding:30px; box-shadow:none; }
.cs-network-page .cbx-network-node:nth-child(2) { background:#21475f; border-color:#84c6df; }
.cs-network-page .cbx-network-node:after { content:'→'; position:absolute; right:-24px; top:45%; color:#9acedf; font-size:23px; }
.cs-network-page .cbx-network-node:last-child:after { display:none; }
.cs-network-page .cbx-network-node>span { color:#a9d9ee; font-size:10px; letter-spacing:.13em; }
.cbx-modern.cs-premium .cs-network-page .cbx-network-node h3 { color:#ecf6ff; font-size:27px; margin-top:27px; }
.cbx-modern.cs-premium .cs-network-page .cbx-network-node p { color:#c0d9e9; font-size:14px; }
.cs-network-page .network-map-section .col-md-12>a { display:inline-block; margin-top:25px; color:#b6eaf8; border-bottom:1px solid #679bb7; padding-bottom:6px; font-size:14px; }
.cs-network-page>.feature-tab-section .image-box { max-width:320px; margin-inline:auto; }
.cs-network-page .feature-tab-section .row:has(>.col-md-12)>.col-md-12>.row { align-items:center; border:1px solid #d1e1ed; padding:32px; border-radius:18px; background:#fff; }
.cs-reviews-page .client-review-section { background:#f2f7fb; }
.cs-review-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:23px; align-items:start; }
.cs-review-grid>.item { min-width:0; }
.cbx-modern.cs-premium .cs-review-grid .single-testimonial { padding:29px!important; background:#fff!important; border:1px solid #d0e0ed!important; position:relative; }
.cs-review-grid .single-testimonial:before { content:'“'; display:block; font:500 62px/.9 'Space Grotesk',sans-serif; color:#377897; margin:0 0 17px; }
.cbx-modern.cs-premium .cs-review-grid .single-testimonial h3 { font-size:22px; line-height:1.25; }
.cbx-modern.cs-premium .cs-review-grid .single-testimonial p { font-size:14px; line-height:1.85; }
.cs-review-grid .ratting-author { margin-top:25px!important; padding-top:18px; border-top:1px solid #d9e5ef; }
.cs-review-grid .ratting-author .h6 { font-size:14px!important; }
.cs-review-grid .ratting-author small { display:block; margin-top:5px; font-size:11px; }
/* Give all product hero illustrations a deliberate, consistent stage. */
.cbx-modern.cs-premium .cbx-product-hero .img-wrap { padding:30px; background:#17354b9c; border:1px solid #58819a80; border-radius:24px; max-width:300px; margin-inline:auto; box-shadow:0 24px 55px #020d1c30; }
.cbx-modern.cs-premium .cbx-product-hero .img-wrap img { max-height:220px; object-fit:contain; width:100%; }
.cbx-modern.cs-premium .cbx-product-hero .action-btns:has(>.btn)+.cbx-product-actions { display:none; }
@media(min-width:1100px) { .cs-company-page .cs-company-hero { padding-block:76px!important; } }
@media(max-width:1099px) {
 .cs-company-stage { gap:36px; }
 .cs-company-signature { padding:30px; }
 .cs-company-points { gap:18px; }
 .cs-company-point { padding:25px; }
 .cs-review-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .cs-network-page .cbx-network-overview { gap:20px; }
 .cs-network-page .cbx-network-node { padding:24px; }
 .cs-network-page .cbx-network-node:after { right:-19px; }
}
@media(max-width:767px) {
 .cbx-modern.cs-premium .cs-compare-intro { padding:19px; align-items:flex-start; margin-bottom:22px; }
 .cs-compare-intro strong { font-size:14px; line-height:1.45; }
 .cbx-modern.cs-premium .cs-compare-intro p { font-size:12px; }
 .cs-compare-intro-icon { flex-basis:35px; height:35px; width:35px; border-radius:9px; }
 .cs-compare-bar { width:calc(100% - 28px); bottom:92px; padding:17px 18px; gap:12px; flex-wrap:wrap; border-radius:14px; }
 .cs-compare-bar-copy { width:100%; }
 .cs-compare-chips { display:none; }
 .cbx-modern.cs-premium .cs-compare-status { margin-bottom:0; font-size:13px; }
 .cs-compare-bar-actions { width:100%; flex-direction:row; justify-content:space-between; }
 .cbx-modern.cs-premium .cs-compare-bar .primary-solid-btn { font-size:12px; min-height:42px; padding:10px 15px; }
 .cs-compare-dialog { width:calc(100vw - 20px); max-height:calc(100dvh - 20px); border-radius:14px; }
 .cs-compare-heading { padding:24px 20px; gap:16px; }
 .cbx-modern.cs-premium .cs-compare-heading h2 { font-size:25px; line-height:1.15; }
 .cs-compare-kicker { font-size:9px; }
 .cs-compare-toolbar { display:block; padding:17px 20px; }
 .cs-compare-differences { margin-top:12px; font-size:11px; }
 .cs-compare-close { width:38px; height:38px; flex-basis:38px; }
 .cs-compare-scroll { padding:0 14px 18px; }
 .cs-compare-table .cs-compare-plan { min-width:205px; }
 .cs-compare-table th:first-child { width:135px; min-width:135px; max-width:155px; }
 .cs-compare-table th,.cs-compare-table td { padding:15px; font-size:13px; }
 .cs-compare-table th:first-child { position:sticky; left:-14px; z-index:1; background:#f0f5f9; }
 .cs-compare-table tr.cs-compare-different>th:first-child { background:#e3f0f8; }
 .cs-compare-plan strong { font-size:21px; }
 .cbx-modern.cs-premium .cs-compare-scroll-hint { display:block; padding:8px 20px 12px; color:#496b84; font-size:11px; margin:0; }
 .cbx-modern.cs-premium .cs-compare-note { padding:4px 20px 20px; font-size:11px; }
 .cs-company-stage { grid-template-columns:1fr; gap:32px; }
 .cs-company-hero { padding:45px 0; }
 .cbx-modern.cs-premium .cs-company-hero h1 { font-size:40px; }
 .cbx-modern.cs-premium .cs-company-hero p { font-size:15px; }
 .cs-company-signature { max-width:100%; padding:30px; }
 .cs-company-signature>strong { font-size:95px; }
 .cs-company-points { grid-template-columns:1fr; }
 .cs-company-point>span { margin-bottom:20px; }
 .cs-company-point p { margin:12px 0 20px; }
 .cs-company-story h2 { font-size:31px; }
 .cs-company-story .image-box { max-width:290px; margin:0 auto 30px; }
 .cs-review-grid { grid-template-columns:1fr; }
 .cs-network-page .cbx-network-overview { grid-template-columns:1fr; gap:22px; }
 .cs-network-page .cbx-network-node:after { content:'↓'; right:auto; top:auto; bottom:-25px; left:calc(50% - 7px); }
 .cs-network-page .cbx-network-node h3 { margin-top:16px!important; }
 .cs-network-page .feature-tab-section .row:has(>.col-md-12)>.col-md-12>.row { padding:22px 12px; }
 .cs-network-page>.feature-tab-section .image-box { margin-bottom:25px; }
 .cbx-modern.cs-premium .vps-hosting-pricing-table .cs-compare-choice { margin-top:12px; font-size:13px; min-height:40px; width:100%; }
}
@media(prefers-reduced-motion:reduce) { .cs-compare-bar,.cs-compare-dialog { scroll-behavior:auto; transition:none; } }

.cs-vps-ranges { display:flex; flex-wrap:wrap; gap:8px; margin:-3px 0 25px; }
.cs-vps-ranges a { border:1px solid #54768e; border-radius:7px; background:#16344c; color:#cde6f6; padding:9px 15px; font-size:12px; font-weight:600; }
.cs-vps-ranges a[aria-current=page] { background:#d5f1fa; color:#133c56; border-color:#d5f1fa; }
.cs-vps-ranges a:hover { background:#2b536e; color:#fff; border-color:#8dbcd4; }
@media(max-width:374px) { .cs-vps-ranges { gap:6px; } .cs-vps-ranges a { padding:9px 11px; font-size:11px; } }

.cs-compare-term { display:block; color:#536f85; font-size:11px; font-weight:500; margin:-3px 0 12px; }

.cs-compare-home-strip { display:flex; align-items:center; gap:26px; margin-top:45px; padding:30px; border:1px solid #c4dae9; border-radius:16px; background:#edf5fa; }
.cs-compare-home-mark { display:grid; grid-template-columns:repeat(3,1fr); gap:5px; width:138px; flex-shrink:0; }
.cs-compare-home-mark span { display:flex; align-items:flex-end; justify-content:center; height:74px; padding:11px 6px; border:1px solid #b2d0e2; background:#dcecf7; border-radius:7px; font:600 10px 'DM Sans',sans-serif; color:#2b6286; }
.cs-compare-home-mark span:nth-child(2) { background:#173f59; border-color:#397c9e; color:#b4edfa; transform:translateY(-6px); }
.cs-compare-home-copy { flex:1; }
.cbx-modern.cs-premium .cs-compare-home-copy h3 { font-size:25px; line-height:1.2; color:#173b56; margin:10px 0; }
.cbx-modern.cs-premium .cs-compare-home-copy p { color:#516b80; font-size:13px; margin:0; max-width:620px; }
.cs-compare-home-strip>.btn { flex-shrink:0; display:inline-flex; gap:20px; align-items:center; }
@media(max-width:1099px) { .cs-compare-home-mark { display:none; } }
@media(max-width:767px) { .cs-compare-home-strip { flex-direction:column; align-items:flex-start; padding:25px; gap:20px; margin-top:30px; } .cbx-modern.cs-premium .cs-compare-home-copy h3 { font-size:24px; } .cs-compare-home-copy .cs-premium-eyebrow { font-size:10px; } }
