
@layer wp {
/*
Theme Name:   CloudScore Astra Child
Theme URI:    https://cloudscore.ai/
Description:  CloudScore.ai child theme for Astra. Provides the CloudScore design system (cs-* classes used by Elementor layouts), the mega-menu header and the site footer. Navigation is managed in Appearance > Menus; header/footer settings in Appearance > Customize > CloudScore.
Author:       CloudScore
Template:     astra
Version:      1.0.0
Requires PHP: 7.4
Text Domain:  cloudscore-astra
*/

/* ==========================================================================
   1. Tokens
   ========================================================================== */
:root {
	--cs-ink: #0b1b33;
	--cs-text: #33445c;
	--cs-muted: #5d6d84;
	--cs-line: #DBECFF;
	--cs-soft: #EDF5FF;
	--cs-tint: #EDF5FF;
	--cs-sky: #E5F2FF;
	--cs-blue: #1746A2;
	--cs-blue-dark: #1746A2;
	--cs-cyan: #0ea5ff;
	--cs-teal: #12b8a6;
	--cs-violet: #7a5af5;
	--cs-orange: #e48a2f;
	--cs-navy: #071a30;
	--cs-navy-2: #0c2546;
	/* Solid brand blue (taken from the logo) instead of gradients. */
	--cs-grad: #1746A2;
	--cs-grad-text: none;
	--cs-radius: 12px;
	--cs-radius-sm: 8px;
	--cs-shadow: 0 1px 2px rgba(16, 42, 84, .05);
	--cs-shadow-lg: 0 8px 24px rgba(16, 42, 84, .08);
	--cs-max: 1200px;
	--cs-font: 'IBM Plex Sans', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
	--cs-font-head: 'IBM Plex Sans', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
	--cs-font-mono: 'IBM Plex Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
}

/* ==========================================================================
   2. Base
   ========================================================================== */
body {
	font-family: var(--cs-font);
	color: var(--cs-text);
	background: #fff;
	font-size: 16px;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5, h6,
.entry-content h1, .entry-content h2, .entry-content h3, .entry-content h4 {
	font-family: var(--cs-font-head);
	color: var(--cs-ink);
	letter-spacing: -.02em;
	line-height: 1.18;
	font-weight: 600;
}
a { color: var(--cs-blue); }
a:hover, a:focus { color: var(--cs-blue-dark); }
:focus-visible { outline: 2px solid var(--cs-cyan); outline-offset: 2px; }
.cs-container { width: min(var(--cs-max), calc(100% - 48px)); margin-inline: auto; }
.screen-reader-text:focus { z-index: 100000; }
.cs-skip { position: absolute; left: -9999px; }
.cs-skip:focus { left: 16px; top: 16px; z-index: 1000; background: #fff; padding: 10px 16px; border-radius: 8px; box-shadow: var(--cs-shadow); }

/* SVG icons */
.cs-ic { width: 20px; height: 20px; display: inline-block; flex: none; stroke: currentColor; fill: none; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; vertical-align: middle; }
.cs-ic.sm { width: 15px; height: 15px; }
.cs-ic.lg { width: 24px; height: 24px; }

/* Buttons (theme markup) */
.cs-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 46px; padding: 11px 22px; border-radius: 999px; font-family: var(--cs-font); font-size: 15px; font-weight: 600; line-height: 1.2; text-decoration: none; border: 1px solid transparent; transition: transform .2s, box-shadow .2s, background .2s, border-color .2s; white-space: nowrap; cursor: pointer; }
.cs-btn--primary { background: var(--cs-grad); color: #fff; box-shadow: 0 8px 20px rgba(31, 111, 229, .25); }
.cs-btn--primary:hover, .cs-btn--primary:focus { color: #fff; transform: translateY(-1px); box-shadow: 0 12px 26px rgba(31, 111, 229, .32); }
.cs-btn--outline { background: #fff; color: var(--cs-ink); border-color: #d6e1ee; }
.cs-btn--outline:hover { border-color: #8db4f5; color: var(--cs-blue); }

/* ==========================================================================
   3. Header
   ========================================================================== */
.cs-utility { background: var(--cs-navy); color: #a9bfdc; font-family: var(--cs-font-mono); font-size: 11px; letter-spacing: .06em; }
.cs-utility .cs-container { min-height: 32px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.cs-utility a { color: #d5e4f7; text-decoration: none; }
.cs-utility a:hover { color: #fff; }
.cs-utility-links { display: flex; gap: 18px; }

.cs-header { position: sticky; top: 0; z-index: 90; background: rgba(255, 255, 255, .92); backdrop-filter: saturate(160%) blur(18px); -webkit-backdrop-filter: saturate(160%) blur(18px); border-bottom: 1px solid #e8eef5; }
.admin-bar .cs-header { top: 32px; }
.cs-header-inner { height: 76px; display: flex; align-items: center; gap: 28px; }
.cs-brand { display: inline-flex; align-items: center; flex: none; }
.cs-brand img { height: 34px; width: auto; display: block; }
.cs-brand-text { font-family: var(--cs-font-head); font-weight: 700; font-size: 22px; color: var(--cs-ink); letter-spacing: -.03em; }
.cs-nav { display: flex; align-items: center; gap: 4px; margin-left: auto; height: 100%; }
.cs-nav-item { position: static; height: 100%; display: flex; align-items: center; }
.cs-nav-trigger, .cs-nav-link { display: inline-flex; align-items: center; gap: 6px; padding: 9px 13px; border-radius: 999px; border: 0; background: none; color: #24364f; font: 500 15px/1.2 var(--cs-font); text-decoration: none; cursor: pointer; transition: color .2s, background .2s; }
.cs-nav-trigger:hover, .cs-nav-link:hover, .cs-nav-trigger[aria-expanded="true"] { color: var(--cs-blue); background: var(--cs-tint); }
.cs-nav-trigger .cs-ic { width: 14px; height: 14px; transition: transform .2s; }
.cs-nav-trigger[aria-expanded="true"] .cs-ic { transform: rotate(180deg); }
.cs-nav-link.is-current { color: var(--cs-blue); }
.cs-nav-actions { display: flex; align-items: center; gap: 10px; }
.cs-nav-actions .cs-btn { min-height: 42px; padding: 9px 18px; font-size: 14px; }
.cs-icon-btn { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 999px; border: 1px solid transparent; background: none; color: #33475f; cursor: pointer; padding: 0; }
.cs-icon-btn:hover { background: var(--cs-tint); color: var(--cs-blue); }
.cs-menu-toggle { display: none; }

/* Mega menu */
.cs-mega { position: absolute; left: 0; right: 0; top: 100%; background: #fff; border-bottom: 1px solid var(--cs-line); box-shadow: 0 30px 60px rgba(7, 27, 51, .12); padding: 26px 0 30px; z-index: 91; }
.cs-mega[hidden] { display: none; }
.cs-mega-inner { display: grid; grid-template-columns: 250px 1fr; gap: 28px; }
.cs-mega-intro { background: linear-gradient(160deg, #EDF5FF, #f7fbff); border: 1px solid #e1edfb; border-radius: 16px; padding: 24px; }
.cs-mega-intro .cs-eyebrow-sm { font-family: var(--cs-font-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--cs-blue); }
.cs-mega-intro h3 { font-size: 20px; margin: 10px 0 8px; }
.cs-mega-intro p { font-size: 14px; color: var(--cs-muted); line-height: 1.65; margin: 0 0 14px; }
.cs-mega-intro a { font-size: 14px; font-weight: 600; text-decoration: none; display: inline-flex; gap: 6px; align-items: center; }
.cs-mega-cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.cs-mega-col h4 { font-family: var(--cs-font-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: #8392aa; margin: 4px 0 10px; font-weight: 400; }
.cs-mega-link { display: flex; gap: 12px; align-items: flex-start; padding: 9px 10px; margin-left: -10px; border-radius: 12px; text-decoration: none; color: var(--cs-ink); transition: background .2s; }
.cs-mega-link:hover, .cs-mega-link:focus { background: #f2f7ff; color: var(--cs-blue); }
.cs-mega-link .cs-ic { color: var(--cs-blue); margin-top: 2px; width: 18px; height: 18px; }
.cs-mega-link strong { display: block; font-size: 14px; font-weight: 600; line-height: 1.35; }
.cs-mega-link span { display: block; font-size: 12.5px; color: #71819a; line-height: 1.5; margin-top: 3px; }
.cs-mega-overlay { position: fixed; inset: 0; background: rgba(7, 21, 42, .22); z-index: 80; }
.cs-mega-overlay[hidden] { display: none; }

/* Search panel */
.cs-search-panel { border-top: 1px solid var(--cs-line); background: #fff; padding: 18px 0; }
.cs-search-panel[hidden] { display: none; }
.cs-search-panel form { display: flex; gap: 10px; }
.cs-search-panel input[type="search"] { flex: 1; min-height: 48px; border: 1px solid #d6e1ee; border-radius: 999px; padding: 0 20px; font-size: 16px; background: var(--cs-soft); }
.cs-search-panel button { min-height: 48px; }

/* Mobile nav */
.cs-mobile-nav { border-top: 1px solid var(--cs-line); background: #fff; max-height: calc(100vh - 70px); overflow: auto; padding: 8px 0 24px; }
.cs-mobile-nav[hidden] { display: none; }
.cs-mobile-nav details { border-bottom: 1px solid var(--cs-line); }
.cs-mobile-nav summary { list-style: none; cursor: pointer; padding: 15px 4px; font-weight: 600; color: var(--cs-ink); display: flex; justify-content: space-between; align-items: center; }
.cs-mobile-nav summary::-webkit-details-marker { display: none; }
.cs-mobile-nav details[open] summary .cs-ic { transform: rotate(180deg); }
.cs-mobile-nav .cs-m-group { font-family: var(--cs-font-mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: #8392aa; padding: 10px 4px 4px; }
.cs-mobile-nav details a { display: block; padding: 9px 12px; color: var(--cs-text); text-decoration: none; font-size: 15px; border-radius: 10px; }
.cs-mobile-nav details a:hover { background: var(--cs-tint); color: var(--cs-blue); }
.cs-mobile-nav > .cs-container > a.cs-m-direct { display: block; padding: 15px 4px; font-weight: 600; color: var(--cs-ink); border-bottom: 1px solid var(--cs-line); text-decoration: none; }
.cs-mobile-nav .cs-btn { width: 100%; margin-top: 20px; }

/* ==========================================================================
   4. Footer
   ========================================================================== */
.cs-footer { background: var(--cs-navy); color: #a8bad3; padding: 72px 0 24px; position: relative; overflow: hidden; }
.cs-footer::before { content: ''; position: absolute; right: -220px; top: -260px; width: 640px; height: 640px; border-radius: 50%; background: radial-gradient(circle, rgba(18, 164, 255, .14), transparent 65%); pointer-events: none; }
.cs-footer-top { position: relative; display: grid; grid-template-columns: 1.5fr repeat(4, 1fr); gap: 36px; }
.cs-footer-brand img { height: 34px; width: auto; }
.cs-footer-brand p { font-size: 14px; color: #9db1cc; max-width: 300px; margin: 20px 0; }
.cs-footer-col h4 { color: #fff; font-family: var(--cs-font-mono); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; font-weight: 400; margin: 4px 0 16px; }
.cs-footer-col ul { list-style: none; margin: 0; padding: 0; }
.cs-footer-col li { margin: 0 0 10px; }
.cs-footer-col a { color: #a8bad3; text-decoration: none; font-size: 14px; }
.cs-footer-col a:hover { color: #fff; }
.cs-social { display: flex; gap: 10px; margin-top: 18px; }
.cs-social a { width: 38px; height: 38px; border-radius: 999px; display: grid; place-items: center; border: 1px solid rgba(255, 255, 255, .16); color: #d5e4f7; text-decoration: none; }
.cs-social a:hover { background: rgba(255, 255, 255, .08); color: #fff; }
.cs-social svg { width: 16px; height: 16px; fill: currentColor; }
.cs-footer-news { margin-top: 6px; }
.cs-footer-news .tnp-subscription-minimal form, .cs-footer-news form { display: flex; gap: 8px; flex-wrap: wrap; }
.cs-footer-news input[type="email"] { flex: 1; min-width: 170px; min-height: 42px; border-radius: 999px; border: 1px solid rgba(255, 255, 255, .2); background: rgba(255, 255, 255, .06); color: #fff; padding: 0 16px; font-size: 14px; }
.cs-footer-news input[type="email"]::placeholder { color: #8ea4c2; }
.cs-footer-news input[type="submit"], .cs-footer-news button { min-height: 42px; border-radius: 999px; border: 0; background: var(--cs-grad); color: #fff; font-weight: 600; padding: 0 18px; cursor: pointer; }
.cs-footer-news label { font-size: 12px; color: #9db1cc; }
.cs-footer-bottom { position: relative; border-top: 1px solid rgba(255, 255, 255, .1); margin-top: 52px; padding-top: 22px; display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; font-size: 13px; color: #8ea4c2; }
.cs-footer-bottom ul { list-style: none; display: flex; flex-wrap: wrap; gap: 20px; margin: 0; padding: 0; }
.cs-footer-bottom a { color: #a8bad3; text-decoration: none; }
.cs-footer-bottom a:hover { color: #fff; }
.cs-back-top { position: fixed; right: 20px; bottom: 20px; z-index: 70; width: 44px; height: 44px; border-radius: 999px; border: 1px solid #d6e2f4; background: #fff; color: var(--cs-blue); box-shadow: var(--cs-shadow); display: grid; place-items: center; cursor: pointer; opacity: 0; pointer-events: none; transition: opacity .2s; }
.cs-back-top.is-visible { opacity: 1; pointer-events: auto; }

/* ==========================================================================
   5. Elementor layout primitives (classes are applied in the Elementor
      "Advanced > CSS Classes" field)
   ========================================================================== */
.elementor-widget-heading .elementor-heading-title { font-family: var(--cs-font-head); }
/* Section spacing lives in each section's Elementor padding controls (editable per page). */
.cs-sec--soft { background: var(--cs-soft); }
.cs-sec--tint { background: linear-gradient(180deg, #f2f8ff 0%, #ffffff 100%); }
.cs-sec--dark { background: var(--cs-navy); }
.cs-sec--dark .elementor-heading-title, .cs-sec--dark h2, .cs-sec--dark h3 { color: #fff; }
.cs-sec--dark p, .cs-sec--dark .elementor-widget-text-editor { color: #b6c7de; }
.cs-sec > .e-con-inner, .cs-hero > .e-con-inner { gap: 0; }

/* Typography helpers */
.cs-eyebrow .elementor-heading-title, p.cs-eyebrow, .cs-eyebrow-txt { font-family: var(--cs-font-mono) !important; font-size: 12px !important; font-weight: 400 !important; letter-spacing: .16em !important; text-transform: uppercase; color: var(--cs-blue) !important; line-height: 1.5 !important; }
.cs-sec--dark .cs-eyebrow .elementor-heading-title, .cs-cta .cs-eyebrow .elementor-heading-title { color: #7cc7ff !important; }
.cs-h1 .elementor-heading-title { font-size: clamp(38px, 4.8vw, 62px); line-height: 1.08; letter-spacing: -.035em; font-weight: 600; color: var(--cs-ink); }
.cs-h2 .elementor-heading-title { font-size: clamp(30px, 3.4vw, 46px); line-height: 1.14; letter-spacing: -.03em; font-weight: 600; color: var(--cs-ink); }
.cs-h3 .elementor-heading-title { font-size: 22px; line-height: 1.3; font-weight: 600; color: var(--cs-ink); }
.cs-h2 .elementor-heading-title em, .cs-h1 .elementor-heading-title em { font-style: normal; background: var(--cs-grad-text); -webkit-background-clip: text; background-clip: text; color: transparent; }
.cs-lead, .cs-lead p { font-size: 18px; line-height: 1.75; color: var(--cs-muted); }
.cs-text, .cs-text p { font-size: 16px; line-height: 1.8; color: var(--cs-muted); }
.cs-small, .cs-small p { font-size: 14px; color: var(--cs-muted); }
.elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.cs-headline { max-width: 780px; margin-bottom: 44px !important; gap: 14px !important; }
.cs-headline--center { margin-inline: auto !important; text-align: center; align-items: center; }
.cs-headline--center .elementor-widget { width: 100%; }

/* Breadcrumbs */
.cs-crumbs { font-size: 13px; color: #8392aa; }
.cs-crumbs a { color: #6c7d95; text-decoration: none; }
.cs-crumbs a:hover { color: var(--cs-blue); }
.cs-crumbs span.sep { margin: 0 8px; opacity: .6; }
.cs-crumbs strong { color: var(--cs-blue); font-weight: 600; }

/* Inner page hero */
.cs-hero { position: relative; overflow: hidden; background: radial-gradient(circle at 85% 15%, #dcecff 0, transparent 34%), radial-gradient(circle at 5% 100%, #e3f7f4 0, transparent 30%), linear-gradient(170deg, #f9fcff, #eef5fd); }
.cs-hero::before { content: ''; position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(rgba(31, 111, 229, .06) 1px, transparent 1px), linear-gradient(90deg, rgba(31, 111, 229, .06) 1px, transparent 1px); background-size: 56px 56px; -webkit-mask-image: linear-gradient(90deg, transparent 20%, #000 100%); mask-image: linear-gradient(90deg, transparent 20%, #000 100%); }
.cs-hero > .e-con-inner { position: relative; z-index: 1; gap: 18px !important; }
.cs-hero .cs-h1 { max-width: 860px; }
.cs-hero .cs-lead { max-width: 760px; }
.cs-hero--center > .e-con-inner { align-items: center; text-align: center; }
.cs-hero--center .cs-btn-row { justify-content: center; }
.cs-hero--center .elementor-widget, .cs-hero--center .elementor-heading-title, .cs-hero--center .cs-crumbs { text-align: center !important; }

/* Button widget skins */
.cs-btn-row { display: flex; flex-direction: row !important; flex-wrap: wrap !important; gap: 12px !important; align-items: center; }
.cs-btn-row > .elementor-widget { width: auto !important; }
.elementor-widget-button[class*="cs-btn-"] .elementor-button { border-radius: 999px; font-family: var(--cs-font); font-size: 15px; font-weight: 600; padding: 14px 24px; line-height: 1.2; transition: transform .2s, box-shadow .2s, background .2s, border-color .2s; }
.cs-btn-primary .elementor-button { background: var(--cs-grad) !important; color: #fff !important; box-shadow: 0 8px 20px rgba(31, 111, 229, .25); border: 0; }
.cs-btn-primary .elementor-button:hover { transform: translateY(-1px); box-shadow: 0 12px 26px rgba(31, 111, 229, .32); }
.cs-btn-outline .elementor-button { background: #fff !important; color: var(--cs-ink) !important; border: 1px solid #d6e1ee !important; }
.cs-btn-outline .elementor-button:hover { border-color: #8db4f5 !important; color: var(--cs-blue) !important; }
.cs-btn-light .elementor-button { background: #fff !important; color: var(--cs-ink) !important; }
.cs-btn-light .elementor-button:hover { background: #E5F2FF !important; }
.cs-btn-ghost .elementor-button { background: transparent !important; color: var(--cs-blue) !important; padding-left: 0 !important; padding-right: 0 !important; }
.cs-btn-dark-outline .elementor-button { background: rgba(255, 255, 255, .06) !important; color: #fff !important; border: 1px solid rgba(255, 255, 255, .3) !important; }
.cs-btn-block .elementor-button { width: 100%; justify-content: center; }

/* Grids */
.cs-grid { gap: 20px !important; }
.cs-grid > .elementor-widget, .cs-grid > .e-con { min-width: 0; }

/* Cards (Icon Box widget with cs-card class) */
.cs-card { height: 100%; }
.elementor-widget.cs-card { position: relative; height: 100%; background: #fff; border: 1px solid var(--cs-line); border-radius: var(--cs-radius); padding: 28px; box-shadow: var(--cs-shadow); transition: transform .25s, box-shadow .25s, border-color .25s; }
.elementor-widget.cs-card.cs-link:hover { transform: translateY(-4px); border-color: #b8d3fb; box-shadow: var(--cs-shadow-lg); }
.cs-card .elementor-icon-box-wrapper { text-align: left !important; display: flex; flex-direction: column; align-items: flex-start; height: 100%; }
.cs-card .elementor-icon-box-icon { margin: 0 0 18px !important; }
.cs-card .elementor-icon { width: 46px; height: 46px; display: grid !important; place-items: center; border-radius: 14px; background: var(--cs-sky); color: var(--cs-blue) !important; fill: var(--cs-blue) !important; font-size: 20px !important; padding: 0 !important; }
.cs-card .elementor-icon svg { width: 20px; height: 20px; fill: var(--cs-blue); }
.cs-card .elementor-icon-box-content { display: flex; flex-direction: column; flex: 1; width: 100%; }
.cs-card .elementor-icon-box-title { font-family: var(--cs-font-head); font-size: 20px !important; font-weight: 600; color: var(--cs-ink); margin: 0 0 10px !important; line-height: 1.3; }
.cs-card .elementor-icon-box-title a { color: inherit; text-decoration: none; }
.cs-card.cs-link .elementor-icon-box-title a::after { content: ''; position: absolute; inset: 0; border-radius: var(--cs-radius); }
.cs-card .elementor-icon-box-description { font-size: 15px; line-height: 1.75; color: var(--cs-muted); margin: 0; }
.cs-card.cs-link .elementor-icon-box-content::after { content: 'Learn more \2192'; margin-top: auto; padding-top: 18px; font-size: 14px; font-weight: 600; color: var(--cs-blue); }
.cs-card.cs-teal .elementor-icon { background: #e3f8f5; } .cs-card.cs-teal .elementor-icon svg { fill: #0b9d8e; }
.cs-card.cs-violet .elementor-icon { background: #efeaff; } .cs-card.cs-violet .elementor-icon svg { fill: var(--cs-violet); }
.cs-card.cs-orange .elementor-icon { background: #fff1e4; } .cs-card.cs-orange .elementor-icon svg { fill: var(--cs-orange); }
.cs-card.cs-indigo .elementor-icon { background: #eceffe; } .cs-card.cs-indigo .elementor-icon svg { fill: #5361d6; }

/* Compact tiles (Icon Box, icon left) */
.elementor-widget.cs-tile { position: relative; height: 100%; background: #fff; border: 1px solid var(--cs-line); border-radius: 14px; padding: 18px; transition: border-color .2s, background .2s, transform .2s; }
.elementor-widget.cs-tile:hover { border-color: #a9c8f8; background: #f7fbff; transform: translateY(-2px); }
.cs-tile .elementor-icon-box-wrapper { display: flex !important; flex-direction: row !important; align-items: flex-start; gap: 14px; text-align: left !important; }
.cs-tile .elementor-icon-box-icon { margin: 0 !important; flex: none; }
.cs-tile .elementor-icon { width: 38px; height: 38px; display: grid !important; place-items: center; border-radius: 11px; background: var(--cs-sky); padding: 0 !important; font-size: 16px !important; }
.cs-tile .elementor-icon svg { width: 16px; height: 16px; fill: var(--cs-blue); }
.cs-tile .elementor-icon-box-title { font-family: var(--cs-font); font-size: 15px !important; font-weight: 600; margin: 0 0 4px !important; line-height: 1.4; color: var(--cs-ink); }
.cs-tile .elementor-icon-box-title a { color: inherit; text-decoration: none; }
.cs-tile .elementor-icon-box-title a::after { content: ''; position: absolute; inset: 0; }
.cs-tile .elementor-icon-box-description { font-size: 13.5px; line-height: 1.6; color: var(--cs-muted); margin: 0; }

/* Check list (Icon List widget) */
.cs-checks .elementor-icon-list-item { align-items: flex-start !important; padding: 0 0 12px !important; }
.cs-checks .elementor-icon-list-icon { margin-top: 4px; }
.cs-checks .elementor-icon-list-icon svg { width: 16px !important; height: 16px !important; fill: var(--cs-teal) !important; }
.cs-checks .elementor-icon-list-icon i { color: var(--cs-teal) !important; font-size: 15px; }
.cs-checks .elementor-icon-list-text { font-size: 16px; line-height: 1.7; color: var(--cs-text); padding-left: 10px !important; }
.cs-sec--dark .cs-checks .elementor-icon-list-text { color: #cfdbec; }

/* Steps */
.cs-steps { gap: 14px !important; }
.cs-step { position: relative; background: #fff; border: 1px solid var(--cs-line); border-radius: 16px; padding: 22px 18px !important; gap: 14px !important; min-height: 170px; box-shadow: var(--cs-shadow); }
.cs-step-num .elementor-heading-title { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; background: var(--cs-sky); color: var(--cs-blue); font-family: var(--cs-font-mono); font-size: 14px; font-weight: 700; }
.cs-step .elementor-widget-text-editor { font-size: 15px; line-height: 1.65; color: var(--cs-text); }

/* Outcomes */
.cs-outcome { background: #fff; border: 1px solid var(--cs-line); border-radius: 16px; padding: 24px !important; gap: 12px !important; box-shadow: var(--cs-shadow); }
.cs-sec--soft .cs-outcome { background: #fff; }
.cs-outcome .elementor-widget-text-editor { font-size: 16px; line-height: 1.75; color: var(--cs-text); }

/* Highlight */
.cs-highlight { background: linear-gradient(160deg, #EDF5FF, #f6faff); border: 1px solid #d6e6fb; border-radius: 20px; padding: 32px !important; gap: 14px !important; }
.cs-highlight--green { background: linear-gradient(160deg, #ecfaf6, #f6fcfa); border-color: #cdeee3; }
.cs-highlight .cs-h3 .elementor-heading-title { font-size: 22px; }

/* Split / detail layouts */
.cs-split { gap: 64px !important; align-items: center; }
.cs-detail { gap: 56px !important; align-items: start; }
.cs-detail-main { gap: 0 !important; }
.cs-rich { margin-bottom: 48px; gap: 14px !important; }
.cs-sidebar { position: sticky !important; top: 110px; background: var(--cs-soft); border: 1px solid var(--cs-line); border-radius: 20px; padding: 28px !important; gap: 14px !important; }
.cs-sidebar .cs-links a { display: flex; justify-content: space-between; padding: 9px 4px; border-bottom: 1px solid var(--cs-line); color: var(--cs-text); text-decoration: none; font-size: 14px; }
.cs-sidebar .cs-links a:hover { color: var(--cs-blue); }
.cs-pill, .cs-tags span, .cs-pills span { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; font-size: 12px; line-height: 1.2; border-radius: 999px; border: 1px solid #d9e5f2; color: #44597a; background: #fff; font-weight: 500; margin: 0 6px 8px 0; }
.cs-pill--green { background: #e7faf5; color: #0f8a6f; border-color: #bdeee0; }
.cs-sec--dark .cs-pills span, .cs-dark-panel .cs-pills span { background: rgba(255, 255, 255, .07); border-color: rgba(255, 255, 255, .18); color: #d8e9ff; }

/* Workflow strip (feature pages) */
.cs-flow { display: grid !important; grid-template-columns: 1fr auto 1fr auto 1fr; gap: 12px !important; align-items: center; margin-bottom: 48px; }
.cs-flow-step { background: #fff; border: 1px solid var(--cs-line); border-radius: 14px; padding: 18px !important; gap: 4px !important; }
.cs-flow-step .cs-eyebrow .elementor-heading-title { font-size: 12.5px !important; }
.cs-flow-step .cs-h3 .elementor-heading-title { font-size: 16px; }
.cs-flow-arrow .elementor-heading-title { color: #7aa8f3; font-size: 22px; }

/* Metric bar */
.cs-metrics { background: linear-gradient(160deg, #EDF5FF, #f7fbff); border: 1px solid #d9e8fb; border-radius: 20px; padding: 16px !important; gap: 0 !important; }
.cs-metric { padding: 18px 26px !important; gap: 6px !important; border-right: 1px solid #d4e3f7; }
.cs-metric:last-child { border-right: 0; }
.cs-metric .elementor-heading-title { font-size: 24px; color: var(--cs-blue-dark); }

/* FAQ (Nested Accordion) */
.cs-faq .e-n-accordion-item { border-bottom: 1px solid var(--cs-line); }
.cs-faq .e-n-accordion-item-title { padding: 18px 2px !important; border: 0 !important; background: none !important; }
.cs-faq .e-n-accordion-item-title-text { font-family: var(--cs-font); font-size: 16px !important; font-weight: 600 !important; color: var(--cs-ink) !important; }
.cs-faq .e-n-accordion-item-title-icon svg { fill: var(--cs-blue) !important; }
.cs-faq .e-n-accordion-item > .e-con { padding: 0 40px 20px 2px !important; border: 0 !important; }
.cs-faq .e-n-accordion-item > .e-con .elementor-widget-text-editor { font-size: 15px; line-height: 1.8; color: var(--cs-muted); }

/* CTA panel */
.cs-cta { position: relative; overflow: hidden; border-radius: 26px; padding: 52px 56px !important; background: radial-gradient(ellipse at 85% -10%, rgba(18, 164, 255, .45), transparent 55%), linear-gradient(135deg, #0d2a52, #071a30); gap: 40px !important; align-items: center; justify-content: space-between; }
.cs-cta::after { content: ''; position: absolute; right: -80px; bottom: -120px; width: 320px; height: 320px; border-radius: 50%; border: 1px solid rgba(124, 199, 255, .18); box-shadow: 0 0 0 60px rgba(124, 199, 255, .04); pointer-events: none; }
.cs-cta-copy { gap: 12px !important; max-width: 680px; }
.cs-cta .elementor-heading-title { color: #fff !important; }
.cs-cta .cs-h2 .elementor-heading-title { font-size: clamp(28px, 3vw, 38px); }
.cs-cta .elementor-widget-text-editor, .cs-cta p { color: #b9cbe3; }
.cs-cta > .elementor-widget-button, .cs-cta .cs-btn-row { position: relative; z-index: 1; flex: none; }

/* Dark panel (how it works) */
.cs-dark-panel { border-radius: 26px; padding: 44px !important; background: radial-gradient(circle at 85% 10%, rgba(18, 164, 255, .35), transparent 38%), linear-gradient(135deg, #0d2a52, #071a30); gap: 36px !important; align-items: center; }
.cs-dark-panel .elementor-heading-title { color: #fff !important; }
.cs-dark-panel .elementor-widget-text-editor { color: #b9cbe3; }

/* Notice */
.cs-notice { padding: 16px 20px; background: #fff9ea; border: 1px solid #f1e3ba; border-radius: 14px; font-size: 14px; color: #7d6935; line-height: 1.8; }

/* Contact methods */
.elementor-widget.cs-contact { padding: 16px 0; border-bottom: 1px solid var(--cs-line); }
.cs-contact .elementor-icon-box-wrapper { display: flex !important; flex-direction: row !important; gap: 14px; text-align: left !important; }
.cs-contact .elementor-icon-box-icon { margin: 0 !important; }
.cs-contact .elementor-icon { width: 42px; height: 42px; display: grid !important; place-items: center; border-radius: 12px; background: var(--cs-sky); padding: 0 !important; }
.cs-contact .elementor-icon svg { width: 18px; height: 18px; fill: var(--cs-blue); }
.cs-contact .elementor-icon-box-title { font-size: 16px !important; margin: 0 0 4px !important; font-family: var(--cs-font); font-weight: 600; }
.cs-contact .elementor-icon-box-description { font-size: 14px; color: var(--cs-muted); margin: 0; }

/* Form card */
.cs-form-card { background: #fff; border: 1px solid var(--cs-line); border-radius: 22px; box-shadow: var(--cs-shadow-lg); padding: 34px !important; gap: 10px !important; }
.cs-form-card .wpforms-container { margin: 8px 0 0 !important; }
.cs-form-card .wpforms-field-label { font-size: 13px !important; font-weight: 600 !important; color: #2c3f5b !important; }
.cs-form-card .wpforms-field input:not([type="checkbox"]):not([type="radio"]), .cs-form-card .wpforms-field select, .cs-form-card .wpforms-field textarea { border-radius: 12px !important; border: 1px solid #d6e1ee !important; background: #F1F2F3 !important; min-height: 46px; font-size: 15px !important; box-shadow: none !important; }
.cs-form-card .wpforms-field input:focus, .cs-form-card .wpforms-field select:focus, .cs-form-card .wpforms-field textarea:focus { border-color: #6f9ff3 !important; box-shadow: 0 0 0 3px #e3efff !important; }
.cs-form-card .wpforms-submit-container { width: 100%; }
.cs-form-card button.wpforms-submit { width: 100% !important; border-radius: 999px !important; background: var(--cs-grad) !important; border: 0 !important; min-height: 50px; font-weight: 600 !important; font-size: 16px !important; color: #fff !important; box-shadow: 0 8px 20px rgba(31, 111, 229, .25) !important; }
.cs-form-card button.wpforms-submit:hover { filter: brightness(1.05); }
.cs-form-card .wpforms-confirmation-container-full { background: #ecfaf6 !important; border: 1px solid #bdeee0 !important; border-radius: 14px; color: #145c4c !important; padding: 18px 20px !important; }
.cs-split > .cs-highlight { align-self: start; }

/* Newsletter plugin form inside cards */
.cs-form-card .tnp-subscription { max-width: none; margin: 8px 0 0; }
.cs-form-card .tnp-subscription label { font-size: 13px; font-weight: 600; color: #2c3f5b; }
.cs-form-card .tnp-subscription input.tnp-email { border-radius: 12px; border: 1px solid #d6e1ee; background: #F1F2F3; min-height: 46px; padding: 0 14px; font-size: 15px; }
.cs-form-card .tnp-subscription input.tnp-submit { width: 100%; border-radius: 999px; background: var(--cs-grad); border: 0; min-height: 48px; font-weight: 600; font-size: 15px; color: #fff; cursor: pointer; }

/* Rich text content (legal pages, migrated copy) */
.cs-prose { font-size: 16px; line-height: 1.85; color: var(--cs-text); }
.cs-prose h2 { font-size: 28px; margin: 40px 0 14px; }
.cs-prose h3 { font-size: 21px; margin: 30px 0 10px; }
.cs-prose ul, .cs-prose ol { margin: 0 0 20px 22px; }
.cs-prose li { margin-bottom: 8px; }
.cs-prose table { width: 100%; border-collapse: collapse; margin: 16px 0 24px; font-size: 15px; }
.cs-prose th, .cs-prose td { border: 1px solid var(--cs-line); padding: 12px 14px; text-align: left; vertical-align: top; }
.cs-prose th { background: var(--cs-soft); color: var(--cs-ink); }

/* Sitemap page */
.cs-sitemap h3 { font-size: 16px; margin: 0 0 12px; }
.cs-sitemap ul { list-style: none; margin: 0; padding: 0; }
.cs-sitemap li { margin: 0 0 8px; }
.cs-sitemap a { color: var(--cs-text); text-decoration: none; font-size: 14px; }
.cs-sitemap a:hover { color: var(--cs-blue); }

/* ==========================================================================
   6. Product visuals (illustrative mock UI, rendered by HTML widgets)
   ========================================================================== */
.cs-visual-frame { position: relative; border-radius: 26px; padding: 20px; background: linear-gradient(135deg, #e9f3ff, #EDF5FF 55%, #e8fbf6); border: 1px solid #d8e7fb; box-shadow: 0 30px 60px rgba(31, 84, 164, .08); }
.cs-shell { border: 1px solid #dfe7f2; border-radius: 16px; background: #fff; overflow: hidden; box-shadow: 0 16px 40px rgba(16, 42, 84, .1); color: #1c2942; font-family: var(--cs-font); }
.cs-shell-chrome { height: 40px; background: #f8fbff; border-bottom: 1px solid #e9eef5; display: flex; align-items: center; gap: 7px; padding: 0 14px; }
.cs-shell-chrome i { width: 8px; height: 8px; border-radius: 50%; background: #d2dded; display: block; }
.cs-shell-chrome i:nth-child(1) { background: #ff9f8f; } .cs-shell-chrome i:nth-child(2) { background: #f7d17d; } .cs-shell-chrome i:nth-child(3) { background: #8fdcc6; }
.cs-shell-url { margin-left: 12px; background: #edf2f9; border-radius: 6px; font-family: var(--cs-font-mono); font-size: 10px; color: #8291a9; padding: 4px 12px; }
.cs-shell-app { display: grid; grid-template-columns: 120px 1fr; min-height: 320px; }
.cs-shell-side { border-right: 1px solid #e6ecf4; background: #fbfcff; padding: 16px 10px; }
.cs-shell-side b { display: block; font-family: var(--cs-font-head); font-size: 13px; color: #123061; margin: 0 6px 18px; }
.cs-shell-side span { display: flex; align-items: center; gap: 6px; color: #8290a8; padding: 8px 6px; font-size: 11px; border-radius: 7px; }
.cs-shell-side span.on { background: #e8f2ff; color: var(--cs-blue); font-weight: 600; }
.cs-shell-side .cs-ic { width: 13px; height: 13px; }
.cs-shell-main { padding: 16px 18px 20px; min-width: 0; }
.cs-shell-head { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 12px; }
.cs-shell-head h4 { margin: 0; font-size: 15px; font-family: var(--cs-font-head); }
.cs-shell-head small { font-family: var(--cs-font-mono); font-size: 9px; color: #9aa8bb; }
.cs-kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-bottom: 10px; }
.cs-kpi { border: 1px solid #e5ebf3; border-radius: 10px; padding: 10px; background: #fff; }
.cs-kpi small { display: block; font-size: 10px; color: #7f8fa9; line-height: 1.3; }
.cs-kpi b { display: block; font-family: var(--cs-font-head); font-size: 20px; line-height: 1.6; color: var(--cs-ink); letter-spacing: -.03em; }
.cs-kpi em { font-style: normal; color: #0f9778; font-size: 10px; }
.cs-mock-grid { display: grid; grid-template-columns: 1.6fr 1fr; gap: 8px; }
.cs-mock-card { border: 1px solid #e6eaf2; border-radius: 10px; background: #fff; padding: 12px; min-width: 0; }
.cs-mock-title { font-size: 11px; font-weight: 600; margin-bottom: 8px; color: #23324b; }
.cs-mock-title span { color: #9caac0; font-weight: 400; }
.cs-mock-chart { width: 100%; height: 100px; display: block; }
.cs-bars { height: 96px; display: flex; align-items: flex-end; justify-content: space-around; gap: 8px; }
.cs-bars i { display: block; flex: 1; max-width: 24px; background: linear-gradient(0deg, #9cc6ff, #1746A2); border-radius: 6px 6px 2px 2px; }
.cs-mock-foot { font-size: 9px; color: #7182a0; margin-top: 6px; display: flex; justify-content: space-between; }
.cs-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 8px 0; border-bottom: 1px solid #edf1f7; font-size: 11px; color: #33445c; }
.cs-row:last-child { border-bottom: 0; }
.cs-status { font-size: 9.5px; border-radius: 999px; padding: 3px 9px; background: #fff1e9; color: #b05f37; white-space: nowrap; }
.cs-status.good { background: #e4f8f0; color: #0c8b71; }
.cs-chat { display: flex; flex-direction: column; gap: 8px; margin: 6px 0 10px; }
.cs-bubble { border-radius: 12px; padding: 10px 12px; font-size: 11px; line-height: 1.6; max-width: 88%; }
.cs-bubble.user { background: #e8f2ff; align-self: flex-end; }
.cs-bubble.ai { background: #F1F2F3; align-self: flex-start; }
.cs-bubble b { color: var(--cs-blue); }
.cs-ask { border: 1px solid #e5eaf5; padding: 8px 10px; border-radius: 9px; font-size: 10px; color: #9aa7bc; }
.cs-topo { position: relative; height: 150px; }
.cs-topo svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.cs-topo span { position: absolute; background: #fff; padding: 6px 9px; border: 1px solid #dbe5f3; border-radius: 8px; box-shadow: 0 6px 14px rgba(24, 46, 89, .08); font-size: 10px; font-weight: 600; transform: translate(-50%, -50%); white-space: nowrap; }
.cs-visual-note { text-align: center; font-family: var(--cs-font-mono); font-size: 10px; letter-spacing: .06em; color: #7d8fa8; margin-top: 12px; }

/* Home hero */
.cs-home-hero { position: relative; overflow: hidden; background: radial-gradient(circle at 80% 20%, rgba(18, 164, 255, .16), transparent 36%), radial-gradient(circle at 5% 90%, rgba(18, 184, 166, .1), transparent 34%), linear-gradient(180deg, #f6faff, #eef5fd); }
.cs-home-hero::before { content: ''; position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(rgba(31, 111, 229, .07) 1px, transparent 1px), linear-gradient(90deg, rgba(31, 111, 229, .07) 1px, transparent 1px); background-size: 64px 64px; -webkit-mask-image: radial-gradient(ellipse at 70% 40%, #000 20%, transparent 75%); mask-image: radial-gradient(ellipse at 70% 40%, #000 20%, transparent 75%); }
.cs-home-hero > .e-con-inner { position: relative; z-index: 1; gap: 48px !important; align-items: center; }
.cs-home-copy { gap: 22px !important; }
.cs-kicker .elementor-heading-title { display: inline-flex; align-items: center; gap: 10px; font-family: var(--cs-font-mono) !important; font-size: 11px !important; letter-spacing: .16em; color: var(--cs-blue) !important; border: 1px solid #cfe2fb; background: rgba(255, 255, 255, .7); padding: 9px 15px; border-radius: 999px; font-weight: 400; }
.cs-kicker .elementor-heading-title::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: var(--cs-teal); box-shadow: 0 0 0 4px rgba(18, 184, 166, .15); }
.cs-home-h1 .elementor-heading-title { font-size: clamp(38px, 4vw, 58px); line-height: 1.04; letter-spacing: -.045em; font-weight: 600; color: var(--cs-ink); }
.cs-home-h1 .elementor-heading-title em { font-style: normal; background: var(--cs-grad-text); -webkit-background-clip: text; background-clip: text; color: transparent; }
.cs-proof { display: flex; flex-wrap: wrap; gap: 8px 18px; font-size: 14px; color: var(--cs-muted); }
.cs-proof span { display: inline-flex; align-items: center; gap: 7px; }
.cs-proof .cs-ic { color: var(--cs-teal); width: 16px; height: 16px; }
.cs-stage { position: relative; border: 1px solid #d5e5fa; background: rgba(255, 255, 255, .7); backdrop-filter: blur(8px); padding: 12px; border-radius: 24px; box-shadow: 0 40px 90px rgba(16, 42, 84, .14); }
.cs-stage-cap { display: flex; align-items: center; gap: 10px; font-family: var(--cs-font-mono); font-size: 10px; letter-spacing: .1em; color: #5a7aa3; padding: 6px 8px 12px; }
.cs-stage-cap::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: var(--cs-teal); box-shadow: 0 0 0 4px rgba(18, 184, 166, .15); }
.cs-stage-cap span { margin-left: auto; letter-spacing: 0; color: #8aa0bd; }
.cs-stage-tabs { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; margin-top: 12px; }
.cs-stage-tabs button { border: 1px solid #d9e6f6; background: #fff; color: #44597a; padding: 9px 2px; border-radius: 10px; font: 600 12px/1.2 var(--cs-font); cursor: pointer; transition: .2s; }
.cs-stage-tabs button:hover, .cs-stage-tabs button.is-active { background: var(--cs-grad); color: #fff; border-color: transparent; }
.cs-stage [data-panel][hidden] { display: none; }

/* Cloud strip */
.cs-cloudbar { border-bottom: 1px solid #e8eef5; }
.cs-cloudbar > .e-con-inner { flex-direction: row !important; align-items: center; justify-content: space-between; gap: 24px !important; flex-wrap: wrap; }
.cs-cloudnames { display: flex; flex-wrap: wrap; gap: 14px 34px; font-family: var(--cs-font-head); font-weight: 600; font-size: 17px; color: #4a5d79; }
.cs-cloudnames span::before { content: '\25C8'; margin-right: 8px; color: #7fb3f5; }

/* Home: numbered outcomes */
.cs-outcomes3 { border: 1px solid var(--cs-line); border-radius: 22px; overflow: hidden; box-shadow: var(--cs-shadow); gap: 0 !important; background: #fff; }
.cs-outcomes3 > .e-con { padding: 38px !important; border-right: 1px solid var(--cs-line); gap: 12px !important; }
.cs-outcomes3 > .e-con:last-child { border-right: 0; }

/* Home: product suite bento */
.cs-suite-grid { gap: 18px !important; }
.cs-suite { position: relative; background: #fff; border: 1px solid var(--cs-line); border-radius: 22px; padding: 30px !important; gap: 12px !important; box-shadow: var(--cs-shadow); transition: transform .25s, box-shadow .25s; min-height: 280px; }
.cs-suite:hover { transform: translateY(-4px); box-shadow: var(--cs-shadow-lg); }
.cs-suite .cs-suite-num .elementor-heading-title { font-family: var(--cs-font-mono) !important; font-size: 11px !important; letter-spacing: .14em; color: #5b7799 !important; font-weight: 400; }
.cs-suite .cs-h3 .elementor-heading-title { font-size: 23px; }
.cs-suite .elementor-widget-text-editor { font-size: 15px; color: var(--cs-muted); }
.cs-suite .cs-suite-link { margin-top: auto; }
.cs-suite .cs-suite-link a { font-weight: 600; font-size: 14px; text-decoration: none; }
.cs-suite .cs-suite-link a::after { content: ''; position: absolute; inset: 0; border-radius: 22px; }
.cs-suite--large { background: radial-gradient(circle at 92% 75%, rgba(18, 164, 255, .38), transparent 46%), linear-gradient(140deg, #0c2a50, #0b3a66); border: 0; }
.cs-suite--large .elementor-heading-title { color: #fff !important; }
.cs-suite--large .cs-h3 .elementor-heading-title { font-size: 32px; max-width: 520px; }
.cs-suite--large .elementor-widget-text-editor { color: #bed2e8; max-width: 560px; }
.cs-suite--large .cs-suite-num .elementor-heading-title { color: #9cc4ee !important; }
.cs-suite--large .cs-suite-link a { color: #8fe9dc; }
.cs-mini-dash { margin-top: 18px; background: rgba(255, 255, 255, .08); border: 1px solid rgba(194, 218, 242, .2); border-radius: 16px; padding: 18px 20px; color: #fff; }
.cs-mini-dash .cs-mini-top { display: flex; justify-content: space-between; font-family: var(--cs-font-mono); font-size: 10px; letter-spacing: .12em; color: #a9c8e6; }
.cs-mini-dash .cs-mini-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 14px 0; }
.cs-mini-dash small { display: block; font-size: 11px; color: #a9c2dd; }
.cs-mini-dash strong { font-family: var(--cs-font-head); font-size: 22px; }
.cs-mini-dash svg { width: 100%; height: 90px; display: block; }

/* Home: link chips */
.cs-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.cs-chips a { border: 1px solid #d9e5f2; background: #fff; color: #33507a; border-radius: 999px; padding: 8px 14px; font-size: 13px; text-decoration: none; transition: .2s; }
.cs-chips a:hover { border-color: #9cc2f7; color: var(--cs-blue); background: #f2f8ff; }

/* Home: AI graphic */
.cs-ai-graphic { border-radius: 26px; padding: 30px; background: radial-gradient(circle at 50% 45%, rgba(18, 164, 255, .35), transparent 50%), linear-gradient(140deg, #0c2a50, #071a30); color: #dbe9fb; min-height: 380px; display: flex; flex-direction: column; justify-content: space-between; }
.cs-ai-graphic .top { display: flex; justify-content: space-between; font-family: var(--cs-font-mono); font-size: 11px; letter-spacing: .12em; color: #8fb3dc; }
.cs-ai-graphic .orb { width: 120px; height: 120px; margin: 24px auto; border-radius: 50%; display: grid; place-items: center; font-size: 46px; background: radial-gradient(circle, rgba(124, 199, 255, .35), rgba(18, 164, 255, .08)); border: 1px solid rgba(124, 199, 255, .35); box-shadow: 0 0 0 18px rgba(124, 199, 255, .05), 0 0 0 40px rgba(124, 199, 255, .03); }
.cs-ai-graphic .lines { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.cs-ai-graphic .lines span { border: 1px solid rgba(255, 255, 255, .14); background: rgba(255, 255, 255, .05); border-radius: 12px; padding: 12px; font-family: var(--cs-font-mono); font-size: 11px; letter-spacing: .08em; text-align: center; }
.cs-ai-graphic .bottom { margin-top: 18px; text-align: center; font-size: 13px; color: #9fb9d8; }

/* Home: numbered challenge cards */
.cs-problem { position: relative; background: #fff; border: 1px solid var(--cs-line); border-radius: 20px; padding: 28px !important; gap: 10px !important; box-shadow: var(--cs-shadow); transition: transform .25s, box-shadow .25s, border-color .25s; }
.cs-problem:hover { transform: translateY(-4px); box-shadow: var(--cs-shadow-lg); border-color: #b8d3fb; }
.cs-problem .cs-num .elementor-heading-title { font-family: var(--cs-font-mono) !important; font-size: 12px !important; color: var(--cs-blue) !important; font-weight: 400; }
.cs-problem .cs-h3 .elementor-heading-title { font-size: 20px; }
.cs-problem .elementor-widget-text-editor { font-size: 15px; color: var(--cs-muted); }
.cs-problem .cs-more { margin-top: auto; }
.cs-problem .cs-more a { font-size: 14px; font-weight: 600; text-decoration: none; }
.cs-problem .cs-more a::after { content: ''; position: absolute; inset: 0; border-radius: 20px; }

/* Section headline split (title left, text/button right) */
.cs-headline-split { align-items: end; margin-bottom: 44px !important; }
.cs-hero, .cs-home-hero, .cs-cta, .cs-dark-panel, .cs-suite, .cs-ai-graphic { overflow: hidden !important; }
.cs-h1 .elementor-heading-title, .cs-home-h1 .elementor-heading-title { line-height: 1.08 !important; }
.cs-h2 .elementor-heading-title { line-height: 1.14 !important; }
.cs-detail > .cs-sidebar { align-self: start !important; }
.cs-detail-main > .cs-rich { margin-bottom: 52px !important; }
.cs-detail-main > .cs-rich:last-child { margin-bottom: 0 !important; }
.cs-detail-main > .cs-flow { margin-bottom: 52px !important; }
.cs-highlight + .cs-highlight { margin-top: 0; }
.cs-suite-link .elementor-heading-title a, .cs-more .elementor-heading-title a { color: var(--cs-blue) !important; }
.cs-suite--large .cs-text, .cs-suite--large .cs-text p,
.cs-sec--dark .cs-text, .cs-sec--dark .cs-text p,
.cs-dark-panel .cs-text, .cs-dark-panel .cs-text p,
.cs-cta .cs-text, .cs-cta .cs-text p { color: #bed2e8 !important; }
.cs-headline-split > .elementor-widget-button, .cs-headline-split > .cs-btn-row { justify-self: end; }
@media (min-width: 1025px) {
	.cs-suite-grid { grid-template-columns: 1.3fr 1fr 1fr !important; }
	.cs-suite-grid > .cs-suite--large { grid-row: span 2; }
}
@media (min-width: 768px) and (max-width: 1024px) {
	.cs-suite-grid > .cs-suite--large { grid-column: 1 / -1; }
}
.cs-suite-link .elementor-heading-title, .cs-more .elementor-heading-title { font-family: var(--cs-font) !important; font-size: 14px !important; font-weight: 600 !important; }
.cs-suite-link .elementor-heading-title a, .cs-more .elementor-heading-title a { color: var(--cs-blue); text-decoration: none; }
.cs-suite-link .elementor-heading-title a::after, .cs-more .elementor-heading-title a::after { content: ''; position: absolute; inset: 0; border-radius: 22px; }
.cs-suite--large .cs-suite-link .elementor-heading-title a { color: #8fe9dc !important; }
.cs-suite-link, .cs-more { margin-top: auto; }
.cs-cloudrow { justify-content: space-between; }
.cs-cloudrow > .elementor-widget { width: auto !important; }
.cs-home-grid { align-items: center; }
.cs-narrow { max-width: 860px; margin-inline: auto; width: 100%; }
.cs-narrow-sm { max-width: 560px; margin-inline: auto; width: 100%; }
.cs-btn-ghost .elementor-button { padding: 6px 0 !important; }

/* Pricing plans */
.cs-plan { position: relative; background: #fff; border: 1px solid var(--cs-line); border-radius: 22px; padding: 30px 26px !important; box-shadow: var(--cs-shadow); }
.cs-plan--featured { border: 2px solid var(--cs-blue) !important; box-shadow: var(--cs-shadow-lg) !important; }
.cs-plan-badge { position: absolute !important; top: -13px; left: 24px; width: auto !important; }
.cs-plan-badge .elementor-heading-title { display: inline-block; background: var(--cs-grad); color: #fff !important; font: 400 11px/1 var(--cs-font-mono) !important; letter-spacing: .1em; text-transform: uppercase; padding: 7px 12px; border-radius: 999px; }
.cs-narrow, .cs-narrow-sm, .cs-headline--center { margin-left: auto !important; margin-right: auto !important; }
.cs-headline--center .elementor-widget, .cs-headline--center .elementor-heading-title, .cs-headline--center .elementor-widget-text-editor { text-align: center !important; }
.cs-plan .cs-h3 .elementor-heading-title { font-size: 26px; }
.cs-plan .cs-checks .elementor-icon-list-text { font-size: 15px; }
.cs-plan > .elementor-widget-button { margin-top: auto; }
.cs-plan > .elementor-widget-button .elementor-button { width: 100%; justify-content: center; }

/* How-it-works flow visual */
.cs-flowviz { padding: 22px; border-radius: 18px; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .16); }
.cs-fv-row { display: flex; gap: 10px; }
.cs-fv-row span { flex: 1; background: #fff; color: #183054; border-radius: 12px; text-align: center; padding: 14px 6px; font-size: 13px; font-weight: 600; }
.cs-fv-row .cs-ic { display: block; margin: 0 auto 6px; color: var(--cs-blue); }
.cs-fv-arrow { text-align: center; color: #9cc4ee; padding: 8px 0; }
.cs-dark-panel .cs-pills span { margin-bottom: 8px; }

/* Blog cards ([cs_posts] shortcode) */
.cs-posts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.cs-post-card { position: relative; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--cs-line); border-radius: 20px; overflow: hidden; box-shadow: var(--cs-shadow); transition: transform .25s, box-shadow .25s; }
.cs-post-card:hover { transform: translateY(-4px); box-shadow: var(--cs-shadow-lg); }
.cs-post-card .thumb { aspect-ratio: 16 / 9; background: var(--cs-tint); overflow: hidden; }
.cs-post-card .thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cs-post-card .body { padding: 22px 24px 26px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.cs-post-card .meta { font-family: var(--cs-font-mono); font-size: 11px; letter-spacing: .06em; color: #7c8da6; text-transform: uppercase; }
.cs-post-card h3 { font-size: 19px; line-height: 1.35; margin: 0; }
.cs-post-card h3 a { color: var(--cs-ink); text-decoration: none; }
.cs-post-card h3 a::after { content: ''; position: absolute; inset: 0; }
.cs-post-card p { font-size: 14.5px; color: var(--cs-muted); margin: 0; line-height: 1.7; }
.cs-post-card .more { margin-top: auto; padding-top: 6px; font-size: 14px; font-weight: 600; color: var(--cs-blue); }
.cs-pagination { display: flex; justify-content: center; gap: 8px; margin-top: 44px; flex-wrap: wrap; }
.cs-pagination .page-numbers { min-width: 42px; height: 42px; display: grid; place-items: center; padding: 0 12px; border-radius: 999px; border: 1px solid var(--cs-line); color: var(--cs-text); text-decoration: none; font-weight: 600; font-size: 14px; }
.cs-pagination .page-numbers.current, .cs-pagination .page-numbers:hover { background: var(--cs-grad); color: #fff; border-color: transparent; }

/* ==========================================================================
   7. Blog: single posts, archives and search (Astra templates)
   ========================================================================== */
.single-post .site-content, .blog .site-content, .archive .site-content, .search .site-content { background: #fff; }
.single-post .entry-header { text-align: left; }
.single-post .entry-title { font-size: clamp(32px, 4vw, 48px); line-height: 1.12; letter-spacing: -.03em; }
.cs-post-hero { padding: 64px 0 40px; background: radial-gradient(circle at 85% 10%, #dcecff 0, transparent 34%), linear-gradient(170deg, #f9fcff, #eef5fd); border-bottom: 1px solid var(--cs-line); }
.cs-post-hero .cs-container { max-width: 880px; }
.cs-post-hero h1 { font-size: clamp(32px, 4.2vw, 52px); line-height: 1.1; letter-spacing: -.035em; margin: 14px 0 18px; }
.cs-post-hero .cs-post-meta { display: flex; flex-wrap: wrap; gap: 8px 18px; font-size: 14px; color: var(--cs-muted); }
.cs-post-hero .cs-post-meta a { color: var(--cs-text); text-decoration: none; font-weight: 600; }
.cs-post-hero .cs-post-meta a:hover { color: var(--cs-blue); }
.single-post #primary { margin-top: 48px; }
.single-post .ast-container { max-width: 880px; }
.single-post .entry-content { font-size: 17.5px; line-height: 1.85; color: #2c3d55; }
.single-post .entry-content h2 { font-size: 30px; margin: 44px 0 14px; }
.single-post .entry-content h3 { font-size: 23px; margin: 32px 0 12px; }
.single-post .entry-content img { border-radius: 16px; }
.single-post .entry-content .wp-block-image.cs-featured img { width: 100%; }
.single-post .entry-content a { text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(31, 111, 229, .35); }
.single-post .entry-content blockquote { border-left: 3px solid var(--cs-blue); background: var(--cs-soft); padding: 18px 24px; border-radius: 0 14px 14px 0; font-style: normal; }
.single-post .entry-content table { border-collapse: collapse; width: 100%; font-size: 15px; }
.single-post .entry-content th, .single-post .entry-content td { border: 1px solid var(--cs-line); padding: 10px 12px; }
.cs-post-cta { margin: 56px 0 24px; padding: 36px 40px; border-radius: 22px; background: radial-gradient(ellipse at 85% -10%, rgba(18, 164, 255, .45), transparent 55%), linear-gradient(135deg, #0d2a52, #071a30); color: #b9cbe3; display: flex; gap: 24px; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.cs-post-cta h3 { color: #fff; font-size: 24px; margin: 0 0 6px; }
.cs-post-cta p { margin: 0; color: #b9cbe3; font-size: 15px; }
.cs-archive-hero { padding: 72px 0 56px; background: radial-gradient(circle at 85% 15%, #dcecff 0, transparent 34%), linear-gradient(170deg, #f9fcff, #eef5fd); border-bottom: 1px solid var(--cs-line); }
.cs-archive-hero h1 { font-size: clamp(34px, 4vw, 54px); margin: 12px 0 10px; }
.cs-archive-hero p { color: var(--cs-muted); max-width: 680px; margin: 0; }
.cs-archive-wrap { padding: 56px 0 96px; }
.cs-search-item { padding: 22px 0; border-bottom: 1px solid var(--cs-line); }
.cs-search-item h2 { font-size: 21px; margin: 0 0 6px; }
.cs-search-item h2 a { color: var(--cs-ink); text-decoration: none; }
.cs-search-item h2 a:hover { color: var(--cs-blue); }
.cs-search-item p { margin: 0; color: var(--cs-muted); font-size: 15px; }
.cs-404 { text-align: center; padding: 120px 0; }
.cs-404 h1 { font-size: clamp(72px, 12vw, 140px); margin: 10px 0 0; background: var(--cs-grad-text); -webkit-background-clip: text; background-clip: text; color: transparent; }
.cs-404 p { max-width: 560px; margin: 10px auto 28px; color: var(--cs-muted); }
.cs-404 .cs-btns { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

/* ==========================================================================
   8. Responsive
   ========================================================================== */
@media (max-width: 1180px) {
	.cs-nav-trigger, .cs-nav-link { padding: 9px 9px; font-size: 14px; }
	.cs-footer-top { grid-template-columns: 1.4fr repeat(2, 1fr); }
	.cs-mega-inner { grid-template-columns: 210px 1fr; }
}
@media (max-width: 1024px) {
	.cs-utility { display: none; }
	.cs-header-inner { height: 68px; }
	.cs-nav, .cs-nav-actions .cs-btn, .cs-nav-actions .cs-search-toggle { display: none; }
	.cs-menu-toggle { display: grid; }
	.cs-nav-actions { margin-left: auto; }
	.cs-flow { grid-template-columns: 1fr; }
	.cs-flow-arrow { display: none; }
	.cs-sidebar { position: static !important; }
	.cs-posts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cs-cta { padding: 40px 36px !important; }
	.cs-outcomes3 > .e-con { border-right: 0; border-bottom: 1px solid var(--cs-line); }
}
@media (max-width: 767px) {
	body { font-size: 15px; }
	.cs-container { width: calc(100% - 32px); }
	.cs-suite--large { grid-column: auto !important; grid-row: auto !important; }
	.cs-plans > .e-con { grid-column: auto; }
	.cs-lead, .cs-lead p { font-size: 16px; }
	.cs-headline { margin-bottom: 28px !important; }
	.cs-cta { padding: 30px 24px !important; border-radius: 20px; }
	.cs-dark-panel { padding: 28px 22px !important; }
	.cs-metric { border-right: 0; border-bottom: 1px solid #d4e3f7; }
	.cs-metric:last-child { border-bottom: 0; }
	.cs-footer-top { grid-template-columns: 1fr 1fr; gap: 28px; }
	.cs-footer-brand { grid-column: 1 / -1; }
	.cs-posts { grid-template-columns: 1fr; }
	.cs-shell-app { grid-template-columns: 1fr; }
	.cs-shell-side { display: none; }
	.cs-kpi b { font-size: 16px; }
	.cs-mock-grid { grid-template-columns: 1fr; }
	.cs-stage-tabs { grid-template-columns: repeat(3, 1fr); }
	.cs-mini-dash .cs-mini-row { grid-template-columns: 1fr; }
	.cs-post-cta { padding: 28px 24px; }
	.elementor-widget.cs-card { padding: 24px; }
	.cs-outcomes3 > .e-con { padding: 28px !important; }
}
/* ==========================================================================
   9. Motion (only when site.js adds .cs-motion: JS on, motion allowed, not in the editor)
   ========================================================================== */
.cs-motion .cs-reveal { opacity: 0; transform: translateY(18px); transition: opacity .7s cubic-bezier(.2, .7, .2, 1) var(--cs-delay, 0ms), transform .7s cubic-bezier(.2, .7, .2, 1) var(--cs-delay, 0ms); }
.cs-motion .cs-reveal.is-in { opacity: 1; transform: none; }
.cs-motion .cs-reveal.is-instant { transition: none; }
.cs-bars i { transform-origin: bottom; }
.cs-meter i { transform-origin: left; }

/* Workflows light up step by step */
.cs-motion .cs-steps > .e-con, .cs-motion .cs-flow > .cs-flow-step { transition: opacity .5s, transform .5s, border-color .5s, box-shadow .5s; }
.cs-motion .cs-steps:not(.is-done) > .e-con:not(.is-lit), .cs-motion .cs-flow:not(.is-done) > .cs-flow-step:not(.is-lit) { opacity: .45; transform: translateY(6px); }
.cs-steps > .e-con.is-lit { border-color: #b8d3fb; }
.cs-step-num .elementor-heading-title { transition: background .4s, color .4s; }
.cs-steps > .e-con.is-lit .cs-step-num .elementor-heading-title { background: var(--cs-grad); color: #fff; }
.cs-flow > .cs-flow-step.is-lit { border-color: #9cc2f7; box-shadow: 0 8px 22px rgba(31, 111, 229, .12); }

/* Guided tour controls */
.cs-stage-cap .cs-tour-pause { margin-left: 12px; border: 1px solid #d3e3f8; background: #fff; color: #44597a; font: 600 10px/1 var(--cs-font); letter-spacing: .02em; padding: 5px 9px; border-radius: 999px; cursor: pointer; }
.cs-stage-cap .cs-tour-pause:hover { color: var(--cs-blue); border-color: #9cc2f7; }
.cs-stage-tabs button { position: relative; overflow: hidden; }
.cs-stage-tabs button::after { content: ''; position: absolute; left: 0; bottom: 0; height: 3px; width: 0; background: rgba(255, 255, 255, .75); }
.cs-stage-tabs button.is-running::after { animation: csTour 6.5s linear forwards; }
@keyframes csTour { to { width: 100%; } }
.cs-motion .cs-stage-cap::before, .cs-motion .cs-live::before { animation: csPulse 2.2s ease-out infinite; }
@keyframes csPulse { 0% { box-shadow: 0 0 0 0 rgba(18, 184, 166, .45); } 100% { box-shadow: 0 0 0 9px rgba(18, 184, 166, 0); } }
.cs-kpi b { transition: color .6s; }
.cs-kpi b.is-tick { animation: csTick .9s ease-out; }
@keyframes csTick { 0% { color: var(--cs-teal); } 100% { color: var(--cs-ink); } }
.cs-mock-chart .cs-dot { fill: #fff; stroke: #1746A2; stroke-width: 2.5; }
.cs-motion .cs-mock-chart .cs-dot { animation: csDot 2.4s ease-in-out infinite; transform-origin: center; transform-box: fill-box; }
@keyframes csDot { 50% { transform: scale(1.5); } }

/* Problem → solution comparison */
.cs-compare { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.cs-compare-panel { border-radius: 22px; padding: 28px; border: 1px solid var(--cs-line); background: #fff; position: relative; overflow: hidden; }
.cs-compare-panel h3 { font-size: 20px; margin: 10px 0 6px; }
.cs-compare-panel > p { font-size: 15px; color: var(--cs-muted); margin: 0 0 18px; }
.cs-compare-panel ul { list-style: none; margin: 18px 0 0; padding: 0; }
.cs-compare-panel li { display: flex; gap: 10px; align-items: flex-start; font-size: 15px; line-height: 1.6; padding: 8px 0; border-top: 1px solid var(--cs-line); color: var(--cs-text); }
.cs-compare-panel li .cs-ic { width: 17px; height: 17px; margin-top: 3px; }
.cs-compare--before { background: #F1F2F3; }
.cs-compare--before li .cs-ic { color: #c0703f; }
.cs-compare--after { border-color: #c9ddfb; background: linear-gradient(170deg, #f3f8ff, #fff 60%); box-shadow: var(--cs-shadow-lg); }
.cs-compare--after li .cs-ic { color: var(--cs-teal); }
.cs-tag-before, .cs-tag-after { font-family: var(--cs-font-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; }
.cs-tag-before { color: #a86438; }
.cs-tag-after { color: var(--cs-blue); }
.cs-silos { position: relative; height: 170px; border-radius: 16px; background: repeating-linear-gradient(45deg, #f6f8fb, #f6f8fb 10px, #f1f4f8 10px, #f1f4f8 20px); }
.cs-silos span { position: absolute; padding: 8px 11px; border: 1px dashed #c9d3e1; border-radius: 10px; background: #fff; font-size: 12px; color: #687993; font-weight: 600; white-space: nowrap; }
.cs-silos span small { display: block; font-weight: 400; font-size: 10.5px; color: #93a1b5; }
.cs-graph { position: relative; height: 170px; border-radius: 16px; background: radial-gradient(circle at 50% 50%, #e6f1ff, #f6faff 70%); }
.cs-graph svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.cs-graph svg path { stroke: #8fb9f5; stroke-width: 2; fill: none; }
.cs-graph span { position: absolute; transform: translate(-50%, -50%); padding: 7px 11px; border-radius: 10px; background: #fff; border: 1px solid #cfe0f8; font-size: 12px; font-weight: 600; color: #23324b; box-shadow: 0 6px 16px rgba(24, 46, 89, .08); white-space: nowrap; }
.cs-graph span.core { background: var(--cs-grad); color: #fff; border: 0; padding: 9px 14px; }

/* Animated "how it works" pipeline */
.cs-pipeline { position: relative; border-radius: 26px; padding: 40px 36px 34px; background: radial-gradient(circle at 85% 0%, rgba(18, 164, 255, .3), transparent 40%), linear-gradient(140deg, #0c2a50, #071a30); color: #c9d8ec; overflow: hidden; }
.cs-nodes { position: relative; display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; list-style: none; margin: 0; padding: 0; }
.cs-nodes::before { content: ''; position: absolute; top: 27px; left: 10%; right: 10%; height: 2px; background: rgba(156, 196, 238, .25); }
.cs-motion .cs-pipeline.is-in .cs-nodes::after { content: ''; position: absolute; top: 24px; left: 10%; width: 8px; height: 8px; border-radius: 50%; background: #7cd8ff; box-shadow: 0 0 12px #7cd8ff; animation: csTravel 4.5s ease-in-out 2.4s infinite; }
@keyframes csTravel { 0% { left: 10%; opacity: 0; } 8% { opacity: 1; } 92% { opacity: 1; } 100% { left: 90%; opacity: 0; } }
.cs-node { position: relative; text-align: center; transition: opacity .5s, transform .5s; }
.cs-node .ring { width: 56px; height: 56px; margin: 0 auto 14px; border-radius: 50%; display: grid; place-items: center; background: #0f2c52; border: 1px solid rgba(156, 196, 238, .35); color: #9cc4ee; position: relative; z-index: 1; transition: background .5s, color .5s, box-shadow .5s, border-color .5s; }
.cs-node .ring .cs-ic { width: 22px; height: 22px; }
.cs-node.is-lit .ring, .cs-pipeline:not(.cs-reveal) .cs-node .ring { background: var(--cs-grad); color: #fff; border-color: transparent; box-shadow: 0 0 0 6px rgba(18, 164, 255, .14); }
.cs-motion .cs-pipeline .cs-node:not(.is-lit) { opacity: .5; transform: translateY(6px); }
.cs-node b { display: block; font-family: var(--cs-font-head); color: #fff; font-size: 16px; margin-bottom: 4px; }
.cs-node span { display: block; font-size: 13px; line-height: 1.55; color: #a9bfda; }
.cs-node em { display: block; font-style: normal; font-family: var(--cs-font-mono); font-size: 10px; letter-spacing: .12em; color: #7cc7ff; margin-bottom: 6px; }

/* Trust list and integrations */
.cs-trust-list { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.cs-trust-item { display: flex; gap: 14px; padding: 20px; border-radius: 16px; background: #fff; border: 1px solid var(--cs-line); }
.cs-trust-item .cs-ic { flex: none; width: 38px; height: 38px; padding: 9px; border-radius: 11px; background: var(--cs-sky); color: var(--cs-blue); }
.cs-trust-item b { display: block; color: var(--cs-ink); font-size: 15px; margin-bottom: 3px; }
.cs-trust-item span { font-size: 14px; color: var(--cs-muted); line-height: 1.6; }
.cs-logos { display: flex; flex-wrap: wrap; gap: 8px; }
.cs-logos span { padding: 9px 14px; border-radius: 12px; background: #fff; border: 1px solid var(--cs-line); font-family: var(--cs-font-head); font-weight: 600; font-size: 14px; color: #3d5170; }

/* What happens in a demo */
.cs-expect { list-style: none; counter-reset: exp; margin: 0; padding: 0; display: grid; gap: 12px; }
.cs-expect li { counter-increment: exp; display: flex; gap: 14px; align-items: flex-start; padding: 16px 18px; border-radius: 14px; background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .14); color: #c9d8ec; font-size: 15px; line-height: 1.6; }
.cs-expect li::before { content: counter(exp, decimal-leading-zero); flex: none; font-family: var(--cs-font-mono); font-size: 12px; color: #7cc7ff; padding-top: 3px; }
.cs-expect li b { color: #fff; display: block; }
.cs-expect--light li { background: #fff; border-color: var(--cs-line); color: var(--cs-text); }
.cs-expect--light li b { color: var(--cs-ink); }
.cs-expect--light li::before { color: var(--cs-blue); }

/* AI routing graphic */
.cs-route { position: relative; margin: 16px 0 6px; display: grid; grid-template-columns: 1fr auto 1fr; gap: 10px; align-items: center; }
.cs-route .col { display: grid; gap: 8px; }
.cs-route .box { border: 1px solid rgba(255, 255, 255, .16); background: rgba(255, 255, 255, .06); border-radius: 11px; padding: 10px 12px; font-size: 12px; color: #dbe9fb; }
.cs-route .box small { display: block; font-family: var(--cs-font-mono); font-size: 9.5px; letter-spacing: .1em; color: #8fb3dc; }
.cs-route .hub { width: 92px; height: 92px; border-radius: 50%; display: grid; place-items: center; text-align: center; font-size: 11px; font-weight: 600; color: #fff; background: radial-gradient(circle, rgba(124, 199, 255, .4), rgba(18, 164, 255, .1)); border: 1px solid rgba(124, 199, 255, .45); box-shadow: 0 0 0 14px rgba(124, 199, 255, .05); }
.cs-motion .cs-ai-graphic.is-in .cs-route .hub { animation: csHub 3s ease-in-out infinite; }
@keyframes csHub { 50% { box-shadow: 0 0 0 22px rgba(124, 199, 255, .08); } }
.cs-route .box.is-pick { border-color: #7cd8ff; background: rgba(124, 216, 255, .14); }
.cs-motion .cs-ai-graphic.is-in .cs-route .out .box { animation: csPick 6s infinite; }
.cs-motion .cs-ai-graphic.is-in .cs-route .out .box:nth-child(2) { animation-delay: 2s; }
.cs-motion .cs-ai-graphic.is-in .cs-route .out .box:nth-child(3) { animation-delay: 4s; }
@keyframes csPick { 0%, 30% { border-color: #7cd8ff; background: rgba(124, 216, 255, .16); } 34%, 100% { border-color: rgba(255, 255, 255, .16); background: rgba(255, 255, 255, .06); } }

/* Section CTA strip placed right after a product explanation */
.cs-inline-cta { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; padding: 20px 24px; border-radius: 18px; background: #fff; border: 1px solid #cfe0f8; box-shadow: var(--cs-shadow); }
.cs-inline-cta p { margin: 0; color: var(--cs-text); font-size: 15px; }
.cs-inline-cta p b { color: var(--cs-ink); }

@media (max-width: 1024px) {
	.cs-nav-actions .cs-btn.cs-header-cta { display: inline-flex; min-height: 38px; padding: 7px 14px; font-size: 13px; }
	.cs-nodes { grid-template-columns: 1fr; gap: 18px; }
	.cs-nodes::before, .cs-nodes::after { display: none; }
	.cs-node { display: grid; grid-template-columns: 56px 1fr; gap: 14px; text-align: left; align-items: start; }
	.cs-node .ring { margin: 0; }
}
@media (max-width: 767px) {
	.cs-compare, .cs-trust-list { grid-template-columns: 1fr; }
	.cs-pipeline { padding: 28px 20px; }
	.cs-nav-actions .cs-btn.cs-header-cta .cs-ic { display: none; }
	.cs-route { grid-template-columns: 1fr; }
	.cs-route .hub { margin: 0 auto; }
}
@media (max-width: 400px) {
	.cs-brand img { height: 28px; }
}

/* ==========================================================================
   10. Refined finish: one typeface, plain headings, flat surfaces, quiet UI.
   ========================================================================== */
h1, h2, h3, h4, h5, h6, .entry-content h2, .entry-content h3 { letter-spacing: -.01em; }
.cs-h1 .elementor-heading-title { letter-spacing: -.02em; font-weight: 600; }
.cs-h2 .elementor-heading-title { letter-spacing: -.015em; font-weight: 600; }
.cs-home-h1 .elementor-heading-title { letter-spacing: -.025em; font-weight: 600; }

/* Labels: sentence case in the body face, not monospace capitals */
.cs-eyebrow .elementor-heading-title, p.cs-eyebrow, .cs-eyebrow-txt,
.cs-kicker .elementor-heading-title, .cs-suite .cs-suite-num .elementor-heading-title, .cs-problem .cs-num .elementor-heading-title,
.cs-mega-intro .cs-eyebrow-sm, .cs-mega-col h4, .cs-footer-col h4, .cs-node em, .cs-tag-before, .cs-tag-after,
.cs-stage-cap, .cs-post-card .meta, .cs-mini-dash .cs-mini-top, .cs-ai-graphic .top, .cs-route .box small, .cs-expect li::before, .cs-visual-note {
	font-family: var(--cs-font) !important; text-transform: none !important; letter-spacing: 0 !important;
}
.cs-eyebrow .elementor-heading-title, p.cs-eyebrow, .cs-eyebrow-txt { font-size: 14px !important; font-weight: 600 !important; color: var(--cs-blue-dark) !important; }
.cs-sec--dark .cs-eyebrow .elementor-heading-title, .cs-cta .cs-eyebrow .elementor-heading-title, .cs-dark-panel .cs-eyebrow .elementor-heading-title { color: #8ec3ff !important; }
.cs-mega-col h4, .cs-footer-col h4 { font-size: 13px; font-weight: 600; }
.cs-mega-col h4 { color: #6b7b93; }
.cs-node em, .cs-route .box small { font-size: 12px; font-weight: 600; }
.cs-tag-before, .cs-tag-after { font-size: 13px; font-weight: 600; }
.cs-post-card .meta { font-size: 13px; }
.cs-stage-cap { font-size: 12px; font-weight: 600; }
.cs-visual-note { font-size: 12px; }
.cs-suite .cs-suite-num .elementor-heading-title, .cs-problem .cs-num .elementor-heading-title { font-size: 13px !important; font-weight: 600 !important; }
.cs-kicker .elementor-heading-title { border: 0 !important; background: none !important; padding: 0 !important; font-size: 14px !important; font-weight: 600 !important; color: var(--cs-blue-dark) !important; }
.cs-kicker .elementor-heading-title::before { display: none !important; }

/* Headings: no gradient text. Only the hero keeps a single accent colour. */
.cs-h1 .elementor-heading-title em, .cs-h2 .elementor-heading-title em { background: none !important; -webkit-background-clip: border-box !important; background-clip: border-box !important; color: inherit !important; }
.cs-home-h1 .elementor-heading-title em { background: none !important; -webkit-background-clip: border-box !important; background-clip: border-box !important; color: var(--cs-blue-dark) !important; }
.cs-404 h1 { background: none; -webkit-background-clip: border-box; background-clip: border-box; color: var(--cs-blue-dark); }

/* Flat, calm surfaces */
.cs-hero::before, .cs-home-hero::before, .cs-footer::before, .cs-cta::after { display: none !important; }
.cs-hero { background: #F1F2F3 !important; border-bottom: 1px solid var(--cs-line); }
.cs-home-hero { background: linear-gradient(180deg, #F1F2F3 0%, #ffffff 100%) !important; }
.cs-post-hero, .cs-archive-hero, .cs-sec--tint { background: #F1F2F3 !important; }
.cs-cta, .cs-dark-panel, .cs-pipeline, .cs-ai-graphic, .cs-suite--large { background: #0b2140 !important; }
.cs-footer { background: #081a33; }
.cs-visual-frame { background: #eef3f9; border-color: #dfe7f1; box-shadow: none; border-radius: 16px; }
.cs-stage { backdrop-filter: none; -webkit-backdrop-filter: none; background: #fff; border-color: var(--cs-line); box-shadow: var(--cs-shadow-lg); border-radius: 16px; }
.cs-mega-intro, .cs-highlight, .cs-metrics { background: #F1F2F3 !important; border-color: var(--cs-line) !important; }
.cs-highlight--green { background: #f1f8f5 !important; border-color: #d6ece3 !important; }
.cs-mini-dash { backdrop-filter: none; }
.cs-graph { background: #F1F2F3; }
.cs-route .hub { background: #12305a; box-shadow: none; }
.cs-compare--after { background: #fff; box-shadow: var(--cs-shadow-lg); }

/* Buttons and controls: solid, 8px corners, no glow */
.cs-btn, .elementor-widget-button[class*="cs-btn-"] .elementor-button, .cs-stage-tabs button, .cs-icon-btn, .cs-pagination .page-numbers { border-radius: 8px !important; }
.cs-btn--primary, .cs-btn-primary .elementor-button { box-shadow: none !important; }
.cs-btn--primary:hover, .cs-btn--primary:focus, .cs-btn-primary .elementor-button:hover { background: #123A87 !important; transform: none !important; box-shadow: none !important; }
.cs-nav-trigger, .cs-nav-link { border-radius: 6px; }
.cs-chips a, .cs-pill, .cs-tags span, .cs-pills span, .cs-logos span, .cs-status { border-radius: 6px; }
.cs-plan-badge .elementor-heading-title { border-radius: 6px; font-family: var(--cs-font) !important; text-transform: none; letter-spacing: 0; font-size: 12px !important; font-weight: 600 !important; }
.cs-form-card button.wpforms-submit { border-radius: 8px !important; box-shadow: none !important; }
.cs-stage-tabs button.is-active, .cs-stage-tabs button:hover { background: var(--cs-grad); }

/* Cards: quieter interaction, no lift */
.elementor-widget.cs-card.cs-link:hover, .elementor-widget.cs-tile:hover, .cs-problem:hover, .cs-suite:hover, .cs-post-card:hover { transform: none !important; }
.elementor-widget.cs-card.cs-link:hover, .cs-problem:hover, .cs-post-card:hover { box-shadow: var(--cs-shadow-lg); border-color: #c3d4ea; }
.cs-card .elementor-icon, .cs-tile .elementor-icon, .cs-contact .elementor-icon, .cs-trust-item .cs-ic { border-radius: 10px !important; }
.cs-step-num .elementor-heading-title { border-radius: 8px; font-family: var(--cs-font); }
.cs-suite, .cs-problem, .cs-plan, .cs-outcome, .cs-step, .cs-compare-panel, .cs-post-card, .cs-form-card, .elementor-widget.cs-card { border-radius: 12px !important; }
.cs-cta, .cs-dark-panel, .cs-pipeline, .cs-ai-graphic { border-radius: 16px !important; }

/* Header controls: Astra styles every <button>; keep these plain */
.cs-nav-trigger, .cs-icon-btn, .cs-tour-pause { box-shadow: none !important; }
.cs-nav-trigger, .cs-icon-btn { background: transparent !important; border: 0 !important; }
.cs-nav-trigger:hover, .cs-nav-trigger[aria-expanded="true"], .cs-icon-btn:hover { background: #E5F2FF !important; color: var(--cs-blue-dark) !important; }
.cs-home-h1 .elementor-heading-title { font-size: clamp(36px, 3.7vw, 54px) !important; line-height: 1.1 !important; }

/* Footer: back-to-top button (Astra adds its own button and button padding) */
#ast-scroll-top { display: none !important; }
.cs-back-top { padding: 0 !important; width: 44px; height: 44px; min-width: 0; border-radius: 8px; background: #fff !important; color: var(--cs-blue-dark) !important; line-height: 0; border: 1px solid #d6e2f4 !important; }
.cs-back-top:hover, .cs-back-top:focus { background: #E5F2FF !important; color: var(--cs-blue-dark) !important; }
.cs-back-top .cs-ic { width: 18px; height: 18px; }

/* Footer: newsletter field and button on one aligned row */
.cs-footer-news .tnp-subscription-minimal { margin: 0 !important; padding: 0 !important; max-width: 360px; }
.cs-footer-news .tnp-subscription-minimal form { display: flex !important; gap: 8px; flex-wrap: nowrap !important; align-items: stretch; margin: 0; text-align: left !important; }
.cs-footer-news input.tnp-email { flex: 1 1 auto !important; width: auto !important; min-width: 0 !important; margin: 0 !important; height: 44px !important; min-height: 44px; border-radius: 8px !important; padding: 0 14px !important; font-size: 14px !important; box-sizing: border-box; }
.cs-footer-news input.tnp-submit { flex: 0 0 auto !important; width: auto !important; margin: 0 !important; height: 44px !important; min-height: 44px; border-radius: 8px !important; padding: 0 18px !important; background: var(--cs-grad) !important; color: #fff !important; font-size: 14px !important; font-weight: 600 !important; line-height: 44px !important; box-sizing: border-box; }
.cs-footer-news input.tnp-submit:hover { background: #123A87 !important; }
@media (max-width: 767px) { .cs-footer-news .tnp-subscription-minimal { max-width: none; } }

/* ==========================================================================
   11. Technical visuals (cs-viz): line-drawn maps and product diagrams.
   One motion system: --cs-ease / --cs-dur / --cs-stagger. Elements carry a
   step (--s); a visual plays once when it enters view (.is-play) and only
   animates continuously while on screen (.is-live).
   ========================================================================== */
:root { --cs-ease: cubic-bezier(.2, .7, .2, 1); --cs-dur: 600ms; --cs-stagger: 130ms; --cs-ink-line: #c3d2e6; --cs-warn: #d9822b; --cs-crit: #c8473a; --cs-ok: #13997f; }
.cs-viz { position: relative; font-family: var(--cs-font); color: var(--cs-ink); }
.cs-viz svg { display: block; width: 100%; height: auto; overflow: visible; }
.cs-viz text { font-family: var(--cs-font); fill: #23324b; font-size: 12px; }
.cs-viz text.sub { fill: #6b7b93; font-size: 10.5px; }
.cs-viz text.cap { fill: #6b7b93; font-size: 10.5px; font-weight: 600; }
.cs-viz text.val { font-weight: 600; fill: var(--cs-ink); }
.cs-viz .col-title { fill: #6b7b93; font-size: 11px; font-weight: 600; }
.cs-viz .n rect { fill: #fff; stroke: var(--cs-ink-line); stroke-width: 1; }
.cs-viz .edge { fill: none; stroke: var(--cs-ink-line); stroke-width: 1.25; }
.cs-viz .tick { stroke: #9fb4d1; stroke-width: 1; }
.cs-viz .grid line { stroke: #edf2f8; stroke-width: 1; }
.cs-viz .hl { fill: none; stroke: var(--cs-blue-dark); stroke-width: 2; }
.cs-viz .hl-warn { stroke: var(--cs-warn); }
.cs-viz .hl-crit { stroke: var(--cs-crit); }
.cs-viz .hl-ok { stroke: var(--cs-ok); }
.cs-viz .flow { fill: none; stroke-width: 2; stroke-dasharray: 3 7; stroke-linecap: round; }
.cs-viz .badge rect { stroke: none; }
.cs-viz .badge text { font-size: 10.5px; font-weight: 600; }
.cs-viz .b-crit rect { fill: #fdecea; } .cs-viz .b-crit text { fill: var(--cs-crit); }
.cs-viz .b-warn rect { fill: #fdf1e3; } .cs-viz .b-warn text { fill: #a85d16; }
.cs-viz .b-ok rect { fill: #e5f6f1; } .cs-viz .b-ok text { fill: #0e7a64; }
.cs-viz .b-blue rect { fill: #E5F2FF; } .cs-viz .b-blue text { fill: var(--cs-blue-dark); }
.cs-viz .pulse { fill: none; stroke-width: 1.5; }

/* Step reveal (only with motion; static layout otherwise) */
.cs-motion .cs-viz [data-s] { opacity: 0; transition: opacity var(--cs-dur) var(--cs-ease), transform var(--cs-dur) var(--cs-ease); transition-delay: calc(var(--s, 0) * var(--cs-stagger)); }
.cs-motion .cs-viz:not(.is-play) [data-s] { transform: translateY(4px); }
.cs-motion .cs-viz.is-play [data-s] { opacity: 1; transform: none; }
.cs-motion .cs-viz.is-live .flow { animation: csFlow 1.1s linear infinite; }
.cs-motion .cs-viz.is-live .pulse { animation: csRing 2.4s var(--cs-ease) infinite; transform-box: fill-box; transform-origin: center; }
@keyframes csFlow { to { stroke-dashoffset: -20; } }
@keyframes csRing { 0% { opacity: .9; transform: scale(1); } 70%, 100% { opacity: 0; transform: scale(1.35); } }

/* Hero map: one inventory, five lenses */
.cs-map-wrap { border: 1px solid var(--cs-line); border-radius: 12px; background: #fff; overflow: hidden; }
.cs-map-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 14px; border-bottom: 1px solid var(--cs-line); font-size: 12px; color: #4a5d79; }
.cs-map-head b { font-weight: 600; color: var(--cs-ink); }
.cs-map-head .cs-lens-name { color: var(--cs-blue-dark); font-weight: 600; }
.cs-map-body { padding: 8px 12px 4px; background: linear-gradient(#F1F2F3, #fff); }
.cs-map [class*="ov-"] { opacity: 0; transition: opacity .45s var(--cs-ease); pointer-events: none; }
.cs-map .n, .cs-map .edge { transition: opacity .45s var(--cs-ease); }
.cs-map[data-lens="finops"] .ov-finops, .cs-map[data-lens="ai"] .ov-ai, .cs-map[data-lens="security"] .ov-security, .cs-map[data-lens="sre"] .ov-sre, .cs-map[data-lens="dex"] .ov-dex { opacity: 1; }
.cs-map[data-lens="ai"] .dim-ai, .cs-map[data-lens="security"] .dim-security, .cs-map[data-lens="sre"] .dim-sre, .cs-map[data-lens="dex"] .dim-dex { opacity: .32; }
.cs-motion .cs-map [class*="ov-"] [data-s] { transition-delay: calc(var(--s, 0) * var(--cs-stagger) + 120ms); }
.cs-inspector { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--cs-line); }
.cs-inspector > div { padding: 10px 14px; border-right: 1px solid var(--cs-line); min-width: 0; }
.cs-inspector > div:last-child { border-right: 0; }
.cs-inspector small { display: block; font-size: 11px; color: #6b7b93; }
.cs-inspector b { display: block; font-size: 17px; font-weight: 600; color: var(--cs-ink); line-height: 1.5; font-variant-numeric: tabular-nums; }
.cs-inspector em { font-style: normal; font-size: 11px; color: var(--cs-ok); }
.cs-inspector[data-panel][hidden] { display: none; }

/* Pillar visuals share a frame with corner ticks, not a fake browser window */
.cs-figure { position: relative; border: 1px solid var(--cs-line); border-radius: 12px; background: #fff; padding: 18px 18px 12px; }
.cs-figure::before, .cs-figure::after { content: ''; position: absolute; width: 10px; height: 10px; border-color: #9fb4d1; border-style: solid; }
.cs-figure::before { left: -1px; top: -1px; border-width: 2px 0 0 2px; border-top-left-radius: 12px; }
.cs-figure::after { right: -1px; bottom: -1px; border-width: 0 2px 2px 0; border-bottom-right-radius: 12px; }
.cs-figure figcaption { display: flex; justify-content: space-between; gap: 12px; margin-top: 8px; padding-top: 10px; border-top: 1px dashed var(--cs-line); font-size: 12px; color: #6b7b93; }
.cs-figure figcaption b { color: var(--cs-ink); font-weight: 600; }
.cs-figure-title { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 10px; font-size: 12px; color: #6b7b93; }
.cs-figure-title b { color: var(--cs-ink); font-size: 13px; font-weight: 600; }

/* FinOps savings ledger (forecast vs realized) */
.cs-ledger { margin-top: 6px; border-top: 1px solid var(--cs-line); padding-top: 12px; }
.cs-ledger-head { display: flex; justify-content: space-between; font-size: 12px; color: #6b7b93; margin-bottom: 8px; }
.cs-ledger-head b { color: var(--cs-ink); font-weight: 600; }
.cs-ledger-row { display: grid; grid-template-columns: 1.3fr 1fr auto; gap: 12px; align-items: center; padding: 6px 0; font-size: 12.5px; color: #33445c; }
.cs-ledger-row .cs-meter { position: relative; height: 8px; border-radius: 4px; background: #E5F2FF; }
.cs-ledger-row .cs-meter i { position: absolute; left: 0; top: 0; bottom: 0; border-radius: 4px; }
.cs-ledger-row .cs-meter i.f { background: #c9dbf4; }
.cs-ledger-row .cs-meter i.r { background: var(--cs-ok); }
.cs-ledger-row em { font-style: normal; font-size: 11px; font-weight: 600; color: var(--cs-blue-dark); min-width: 62px; text-align: right; }
.cs-ledger-row em.ok { color: #0e7a64; }

/* Dex: question, answer, evidence */
.cs-dex { display: grid; gap: 10px; }
.cs-dex .q, .cs-dex .a { border-radius: 10px; padding: 12px 14px; font-size: 14px; line-height: 1.6; }
.cs-dex .q { background: #F1F2F3; justify-self: end; max-width: 82%; }
.cs-dex .a { background: #fff; border: 1px solid var(--cs-line); max-width: 92%; }
.cs-dex span { display: block; font-size: 11px; font-weight: 600; color: #6b7b93; margin-bottom: 2px; }
.cs-dex .a span { color: var(--cs-blue-dark); }
.cs-dex .ev { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.cs-dex .ev .lbl { display: inline; margin: 0 4px 0 0; }
.cs-dex .ev a { font-size: 12px; padding: 4px 9px; border-radius: 6px; background: #E5F2FF; color: var(--cs-blue-dark); }
.cs-dex .ev-lines { width: 100%; height: 34px; }
.cs-dex .src { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.cs-dex .src div { border: 1px dashed #c3d2e6; border-radius: 8px; padding: 8px 10px; }
.cs-dex .src b { display: block; font-size: 12.5px; font-weight: 600; color: var(--cs-ink); }
.cs-dex .src small { font-size: 11px; color: #6b7b93; }
.cs-dex i { display: inline-grid; place-items: center; width: 16px; height: 16px; margin-right: 6px; border-radius: 4px; background: var(--cs-blue-dark); color: #fff; font-style: normal; font-size: 10px; font-weight: 600; vertical-align: 1px; }
.cs-dex .src { margin-top: 4px; }
.cs-viz .lbl-halo { paint-order: stroke; stroke: #fff; stroke-width: 3px; stroke-linejoin: round; }
@media (max-width: 767px) { .cs-dex .ev-lines { display: none; } .cs-dex .src { grid-template-columns: 1fr; } .cs-ledger-row { grid-template-columns: 1fr auto; } .cs-ledger-row .cs-meter { grid-column: 1 / -1; grid-row: 2; } }

/* Varied compositions: editorial rows and a role directory instead of more card grids */
.cs-editorial { gap: 0 56px !important; border-top: 1px solid var(--cs-line); }
.cs-directory { column-gap: 56px !important; }
.cs-editorial > .cs-problem { background: none !important; border: 0 !important; border-bottom: 1px solid var(--cs-line) !important; border-radius: 0 !important; box-shadow: none !important; padding: 26px 28px 26px 0 !important; }
.cs-editorial > .cs-problem:hover { box-shadow: none !important; }
.cs-editorial > .cs-problem .cs-num .elementor-heading-title { font-variant-numeric: tabular-nums; color: #9fb4d1 !important; font-size: 28px !important; font-weight: 500 !important; }
.cs-directory { gap: 0 !important; border-top: 1px solid var(--cs-line); }
.cs-directory > .elementor-widget.cs-card { border: 0 !important; border-bottom: 1px solid var(--cs-line) !important; border-radius: 0 !important; box-shadow: none !important; background: none !important; padding: 22px 24px 22px 0 !important; }
.cs-directory > .elementor-widget.cs-card .elementor-icon-box-wrapper { flex-direction: row !important; gap: 16px; }
.cs-directory > .elementor-widget.cs-card .elementor-icon-box-icon { margin: 2px 0 0 !important; }
.cs-directory > .elementor-widget.cs-card.cs-link .elementor-icon-box-content::after { padding-top: 10px; }
.cs-directory > .elementor-widget.cs-card:hover { background: #f8fafd !important; }

@media (max-width: 767px) {
	.cs-viz .m-hide { display: none; }
	.cs-inspector > div { padding: 8px 8px; }
	.cs-inspector small, .cs-inspector em { font-size: 10px; line-height: 1.35; }
	.cs-inspector b { font-size: 14px; }
	.cs-stage-cap { flex-wrap: wrap; row-gap: 4px; }
	.cs-stage-cap span { order: 3; width: 100%; margin-left: 17px !important; }
	.cs-stage-cap .cs-tour-pause { margin-left: auto; }
	.cs-map-head { font-size: 11px; }
	.cs-editorial > .cs-problem, .cs-directory > .elementor-widget.cs-card { padding-right: 0 !important; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

/* ==========================================================================
   12. Page-introduction visuals: two-column heroes, information panels,
   official logos, and readable diagrams on phones.
   ========================================================================== */
/* Two-column hero: copy left, visual right; stacked below 1025px. */
.cs-hero--split > .e-con-inner { gap: 0 !important; }
.cs-hero-split { align-items: center; }
.cs-hero-copy { gap: 18px !important; }
.cs-hero--split .cs-h1 .elementor-heading-title { font-size: clamp(34px, 3.6vw, 50px); }
.cs-hero--split .cs-lead { max-width: 600px; }
.cs-hero-visual { min-width: 0; }
.cs-hero-visual > .elementor-widget-container, .cs-hero-visual { width: 100%; }
.cs-hero-visual .cs-figure { box-shadow: var(--cs-shadow-lg); }
@media (max-width: 1024px) {
	.cs-hero-split { gap: 36px !important; }
	.cs-hero-visual { max-width: 680px; }
}

/* Wide SVG diagrams keep their natural size on phones and scroll sideways inside their frame. */
.cs-viz-scroll { position: relative; }
.cs-scroll-hint { display: none; margin: 6px 0 0 !important; font-size: 12px; color: #6b7b93; }
@media (max-width: 767px) {
	.cs-viz-scroll { overflow-x: auto; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; scrollbar-width: thin; padding-bottom: 6px; }
	.cs-viz-scroll > svg { min-width: var(--cs-min, 520px); }
	.cs-scroll-hint { display: block; }
}

/* Information panels (built on .cs-figure) */
.cs-panel { padding: 18px 20px 14px; }
.cs-pblock { padding: 12px 0; border-top: 1px solid var(--cs-line); }
.cs-figure-title + .cs-pblock { border-top: 0; padding-top: 2px; }
.cs-plabel { margin: 0 0 8px !important; font-size: 12px; font-weight: 600; color: #6b7b93; line-height: 1.4; }
.cs-pblock--foot { padding-bottom: 2px; }
.cs-plogos { display: flex; flex-wrap: wrap; gap: 8px; }
.cs-lchip { display: inline-flex; align-items: center; gap: 8px; padding: 6px 10px; border: 1px solid var(--cs-line); border-radius: 8px; background: #fff; font-size: 13px; line-height: 1.3; color: var(--cs-ink); white-space: nowrap; }
.cs-lchip--text { color: #4a5d79; background: #F1F2F3; }
.cs-viz .cs-logo-img { display: block; width: auto !important; height: 20px !important; max-width: none; flex: none; }
.cs-viz .cs-lchip .cs-logo-img[src*="servicenow"] { height: 13px !important; }
.cs-plogos--stack { flex-direction: column; align-items: stretch; gap: 6px; }
.cs-plogos--stack .cs-lchip { white-space: normal; }

.cs-pmeter + .cs-pmeter { margin-top: 10px; }
.cs-pmeter-top { display: flex; justify-content: space-between; gap: 12px; font-size: 13px; color: var(--cs-text); }
.cs-pmeter-top b { font-weight: 600; color: var(--cs-ink); font-variant-numeric: tabular-nums; }
.cs-pmeter small { display: block; margin-top: 6px; font-size: 12px; color: #6b7b93; }
.cs-panel .cs-meter { position: relative; height: 8px; margin-top: 6px; border-radius: 4px; background: #E5F2FF; overflow: hidden; }
.cs-panel .cs-meter i { position: absolute; left: 0; top: 0; bottom: 0; border-radius: 4px; background: var(--cs-grad); transform-origin: left center; }
.cs-panel .cs-meter i.ok { background: var(--cs-ok); }
.cs-panel .cs-meter i.warn { background: var(--cs-warn); }
.cs-panel .cs-meter i.crit { background: var(--cs-crit); }
.cs-ledger-row .cs-meter i { transform-origin: left center; }

.cs-pstages { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.cs-pstages li { display: grid; grid-template-columns: minmax(0, 1fr) 36px minmax(0, 1.2fr); gap: 12px; align-items: center; font-size: 13px; color: var(--cs-text); }
.cs-pstages li b { text-align: right; font-weight: 600; color: var(--cs-ink); font-variant-numeric: tabular-nums; }
.cs-pstages .cs-meter { margin-top: 0; }

.cs-prows { list-style: none; margin: 0; padding: 0; }
.cs-prows li { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 7px 0; font-size: 13px; color: var(--cs-text); border-bottom: 1px dashed var(--cs-line); }
.cs-prows li:last-child { border-bottom: 0; }
.cs-st { flex: none; font-style: normal; font-size: 12px; font-weight: 600; line-height: 1.2; padding: 4px 8px; border-radius: 6px; background: #E5F2FF; color: var(--cs-blue-dark); white-space: nowrap; }
.cs-st--ok { background: #e5f6f1; color: #0e7a64; }
.cs-st--warn { background: #fdf1e3; color: #a85d16; }
.cs-st--crit { background: #fdecea; color: var(--cs-crit); }

.cs-pchips { display: flex; flex-wrap: wrap; gap: 6px; }
.cs-pchips span { font-size: 12.5px; line-height: 1.3; padding: 5px 9px; border-radius: 6px; background: #F1F2F3; color: #23324b; }

.cs-budget-bar { position: relative; height: 12px; border-radius: 6px; background: #E5F2FF; }
.cs-budget-bar i { position: absolute; left: 0; top: 0; bottom: 0; border-radius: 6px; background: var(--cs-grad); }
.cs-budget-bar s { position: absolute; top: -4px; bottom: -4px; width: 2px; margin-left: -2px; background: var(--cs-ink); }
.cs-budget-legend { display: flex; justify-content: space-between; margin-top: 8px; font-size: 12.5px; color: #4a5d79; }
.cs-budget-legend b { color: var(--cs-ink); font-weight: 600; }
.cs-signoff { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; font-size: 12.5px; color: #4a5d79; }

.cs-prov { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.cs-prov li { display: grid; grid-template-columns: 170px minmax(0, 1fr) 64px; gap: 12px; align-items: center; }
.cs-prov li .cs-meter { margin-top: 0; }
.cs-prov li > b { text-align: right; font-size: 13px; font-weight: 600; color: var(--cs-ink); font-variant-numeric: tabular-nums; }
.cs-prov-total { display: flex; justify-content: space-between; margin-top: 10px; padding-top: 8px; border-top: 1px dashed var(--cs-line); font-size: 13px; color: #4a5d79; }
.cs-prov-total b { color: var(--cs-ink); font-weight: 600; }

.cs-units { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.cs-units li { display: grid; grid-template-columns: 96px minmax(0, 1fr) 60px; gap: 4px 12px; align-items: center; font-size: 13px; color: var(--cs-text); }
.cs-units li .cs-meter { margin-top: 0; }
.cs-units li b { text-align: right; font-weight: 600; color: var(--cs-ink); }
.cs-units li small { grid-column: 2 / 4; font-size: 12px; color: #6b7b93; }
.cs-pkpis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.cs-pkpis > div { padding: 10px 12px; border: 1px solid var(--cs-line); border-radius: 8px; min-width: 0; }
.cs-pkpis small { display: block; font-size: 12px; color: #6b7b93; line-height: 1.35; }
.cs-pkpis b { display: block; margin-top: 2px; font-size: 18px; font-weight: 600; color: var(--cs-ink); font-variant-numeric: tabular-nums; }
.cs-pkpis em { display: block; font-style: normal; font-size: 12px; color: #0e7a64; }
.cs-stack { display: flex; height: 12px; border-radius: 6px; overflow: hidden; gap: 2px; }
.cs-stack i:nth-child(1) { background: #1746A2; } .cs-stack i:nth-child(2) { background: #4f86d9; } .cs-stack i:nth-child(3) { background: #8db3ea; }
.cs-stack-legend { display: flex; flex-wrap: wrap; gap: 4px 14px; margin-top: 8px; font-size: 12.5px; color: #4a5d79; }
.cs-pask { display: grid; gap: 4px; padding: 10px 12px; border-radius: 8px; background: #0b2140; }
.cs-pask span { color: #fff; font-size: 13.5px; }
.cs-pask em { font-style: normal; color: #a9c8f0; font-size: 12px; }
.cs-pod-head { margin-bottom: 10px; }
.cs-chain { display: grid; grid-template-columns: minmax(0, 1fr) 20px minmax(0, 1fr) 20px minmax(0, 1fr); align-items: center; }
.cs-chain span { display: grid; gap: 2px; padding: 8px 10px; border: 1px solid var(--cs-ink-line); border-radius: 8px; background: #fff; min-width: 0; }
.cs-chain b { font-size: 13px; font-weight: 600; color: var(--cs-ink); overflow-wrap: anywhere; }
.cs-chain small { font-size: 12px; color: #6b7b93; }
.cs-chain span.is-warn { border-color: var(--cs-warn); background: #fffaf3; }
.cs-chain span.is-warn small { color: #a85d16; }
.cs-chain i { height: 1px; background: #9fb4d1; }
@media (max-width: 767px) { .cs-chain { grid-template-columns: 1fr; gap: 6px; } .cs-chain i { width: 1px; height: 10px; justify-self: center; } }
.cs-sev { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.cs-sev span { padding: 8px 10px; border-radius: 8px; font-size: 12px; color: #4a5d79; background: #F1F2F3; }
.cs-sev b { display: block; font-size: 18px; font-weight: 600; color: var(--cs-ink); font-variant-numeric: tabular-nums; }
.cs-sev .c { background: #fdecea; } .cs-sev .c b { color: var(--cs-crit); }
.cs-sev .h { background: #fdf1e3; } .cs-sev .h b { color: #a85d16; }
.cs-pnum { margin: 0; padding: 0; list-style: none; counter-reset: pn; display: grid; gap: 8px; }
.cs-pnum li { counter-increment: pn; display: grid; grid-template-columns: 22px 1fr; gap: 10px; font-size: 13.5px; line-height: 1.45; color: var(--cs-text); }
.cs-pnum li::before { content: counter(pn); display: grid; place-items: center; width: 22px; height: 22px; border-radius: 6px; background: #E5F2FF; color: var(--cs-blue-dark); font-size: 12px; font-weight: 600; }

/* Feature: data in → capability → what teams get */
.cs-io { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .9fr) minmax(0, 1fr); gap: 14px; align-items: center; }
.cs-io-col .cs-plabel { margin-bottom: 6px !important; }
.cs-io-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.cs-io-list li { position: relative; padding: 7px 10px; border: 1px solid var(--cs-line); border-radius: 8px; font-size: 12.5px; line-height: 1.35; color: #23324b; background: #fff; }
.cs-io-list.out li { border-color: #DBECFF; background: #f6f9fe; }
.cs-io-list.in li::after, .cs-io-list.out li::before { content: ''; position: absolute; top: 50%; width: 14px; height: 1px; background: #9fb4d1; }
.cs-io-list.in li::after { right: -15px; }
.cs-io-list.out li::before { left: -15px; }
.cs-io-core { display: grid; justify-items: center; gap: 6px; padding: 18px 12px; text-align: center; border-radius: 12px; background: #0b2140; color: #fff; }
.cs-io-core b { font-size: 14px; font-weight: 600; line-height: 1.35; }
.cs-io-core small { font-size: 12px; color: #a9c8f0; }
.cs-io-ic { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 8px; background: #E5F2FF; color: var(--cs-blue-dark); flex: none; }
.cs-io-core .cs-io-ic { background: rgba(255, 255, 255, .12); color: #fff; }
.cs-io-ic svg { width: 18px; height: 18px; }

/* Use case: outcome and connected capabilities */
.cs-capmap-goal { display: grid; gap: 2px; padding: 12px 14px; border-radius: 10px; background: #0b2140; color: #fff; }
.cs-capmap-goal small { font-size: 12px; color: #a9c8f0; }
.cs-capmap-goal b { font-size: 15px; font-weight: 600; }
.cs-capmap-list { position: relative; list-style: none; margin: 0; padding: 14px 0 0 22px; display: grid; gap: 8px; }
.cs-capmap-list::before { content: ''; position: absolute; left: 9px; top: 0; bottom: 22px; width: 1px; background: #9fb4d1; }
.cs-capmap-list li { position: relative; display: flex; gap: 12px; align-items: center; padding: 10px 12px; border: 1px solid var(--cs-line); border-radius: 10px; background: #fff; }
.cs-capmap-list li::before { content: ''; position: absolute; left: -13px; top: 50%; width: 12px; height: 1px; background: #9fb4d1; }
.cs-capmap-list b { display: block; font-size: 13.5px; font-weight: 600; color: var(--cs-ink); line-height: 1.35; }
.cs-capmap-list small { font-size: 12px; color: #6b7b93; }

/* Platform: products around a shared context */
.cs-constellation { list-style: none; margin: 0 0 10px; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
.cs-constellation li { display: grid; justify-items: center; gap: 6px; padding: 12px 6px; text-align: center; border: 1px solid var(--cs-line); border-top: 3px solid var(--c); border-radius: 10px; background: #fff; }
.cs-constellation b { font-size: 12.5px; font-weight: 600; color: var(--cs-ink); line-height: 1.3; }
.cs-constellation .cs-io-ic { color: var(--c); }
.cs-context { position: relative; display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 8px; margin-bottom: 4px; padding: 12px; border-radius: 10px; background: #0b2140; }
.cs-context b { width: 100%; text-align: center; color: #fff; font-size: 13px; font-weight: 600; }
.cs-context span { font-size: 12px; padding: 3px 8px; border-radius: 6px; background: rgba(255, 255, 255, .12); color: #dbe8fa; }

/* Integrations architecture */
.cs-arch { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .8fr) minmax(0, 1fr); gap: 16px; align-items: center; }
.cs-arch-core { display: grid; gap: 6px; justify-items: center; padding: 18px 10px; border-radius: 12px; background: #0b2140; }
.cs-arch-core b { color: #fff; font-size: 15px; font-weight: 600; margin-bottom: 2px; }
.cs-arch-core span { font-size: 12px; padding: 3px 8px; border-radius: 6px; background: rgba(255, 255, 255, .12); color: #dbe8fa; }

/* Trust control model */
.cs-lanes { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.cs-lanes li { display: grid; grid-template-columns: 76px 1fr; gap: 12px; align-items: center; font-size: 13.5px; color: var(--cs-text); }
.cs-lanes .cs-st { text-align: center; }
.cs-gate { display: grid; gap: 2px; margin-top: 12px; padding: 10px 12px; border: 1px dashed #e9b98a; border-radius: 8px; background: #fffaf3; font-size: 13px; }
.cs-gate span { font-size: 12px; font-weight: 600; color: #a85d16; }
.cs-gate b { font-weight: 600; color: var(--cs-ink); }

@media (max-width: 767px) {
	.cs-panel { padding: 16px 14px 12px; }
	.cs-figure-title { flex-wrap: wrap; row-gap: 2px; }
	.cs-io { grid-template-columns: 1fr; }
	.cs-io-list.in li::after, .cs-io-list.out li::before { display: none; }
	.cs-arch { grid-template-columns: 1fr; }
	.cs-constellation { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.cs-pkpis { grid-template-columns: 1fr 1fr; }
	.cs-sev { grid-template-columns: 1fr 1fr; }
	.cs-prov li { grid-template-columns: minmax(0, 1fr) 64px; }
	.cs-prov li .cs-meter { grid-column: 1 / -1; grid-row: 2; }
	.cs-pstages li { grid-template-columns: minmax(0, 1fr) 30px; }
	.cs-pstages .cs-meter { grid-column: 1 / -1; }
	.cs-prows li { flex-wrap: wrap; }
	.cs-lchip { font-size: 12.5px; }
}
/* Astra: on phones the investigation steps are also listed as text under the diagram. */
.cs-astra-steps { display: none; }
@media (max-width: 767px) {
	.cs-astra-steps { display: grid; gap: 8px; margin: 12px 0 4px; padding: 12px 0 0; list-style: none; counter-reset: as; border-top: 1px solid var(--cs-line); }
	.cs-astra-steps li { counter-increment: as; display: grid; grid-template-columns: 22px 1fr; gap: 10px; align-items: center; font-size: 13.5px; color: var(--cs-text); }
	.cs-astra-steps li::before { content: counter(as); display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--cs-warn); color: #fff; font-size: 12px; font-weight: 600; }
	.cs-astra-steps li:last-child::before { background: var(--cs-grad); }
	.cs-figure figcaption { flex-wrap: wrap; }
}

/* ==========================================================================
   13. Homepage command centre: four product readouts around one shared
   context. One card is highlighted at a time (autoplay with a pause control).
   ========================================================================== */
.cs-cmd { position: relative; padding: 14px; border: 1px solid var(--cs-line); border-radius: 18px; background: #fff; box-shadow: 0 24px 60px rgba(16, 42, 84, .10); }
.cs-cmd-cap { display: flex; align-items: center; gap: 10px; margin: 0 4px 12px; font-size: 12px; color: #6b7b93; }
.cs-cmd-live { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; color: #23324b; }
.cs-cmd-live::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--cs-ok); box-shadow: 0 0 0 4px rgba(19, 153, 127, .14); }
.cs-cmd-tag { margin-left: auto; }
.cs-cmd-pause { border: 1px solid var(--cs-line); background: #fff; color: #44597a; font: 600 12px/1 var(--cs-font); padding: 6px 10px; border-radius: 7px; cursor: pointer; }
.cs-cmd-pause:hover { border-color: #9cc2f7; color: var(--cs-blue-dark); }
.cs-cmd-grid { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 56px 64px; padding: 4px; }
.cs-cmd-wires { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; overflow: visible; }
.cs-cmd-wire { fill: none; stroke: #c9d8ec; stroke-width: 1.5; vector-effect: non-scaling-stroke; stroke-dasharray: 4 6; transition: stroke .4s var(--cs-ease); }
.cs-cmd-wire.is-active { stroke: var(--c, #1746A2); stroke-width: 2; }
.cs-motion .cs-cmd .cs-cmd-wire.is-flow { animation: csFlow 1.1s linear 2; }
.cs-cmd-card { position: relative; z-index: 1; display: grid; gap: 10px; align-content: start; min-width: 0; padding: 14px; border: 1px solid var(--cs-line); border-radius: 12px; background: #fff; transition: border-color .4s var(--cs-ease), box-shadow .4s var(--cs-ease), transform .4s var(--cs-ease); cursor: pointer; outline: none; }
.cs-cmd-card::before { content: ''; position: absolute; left: 14px; right: 14px; top: -1px; height: 2px; border-radius: 2px; background: var(--c); opacity: 0; transition: opacity .4s; }
.cs-cmd-card.is-active { border-color: color-mix(in srgb, var(--c) 45%, #fff); box-shadow: 0 14px 30px rgba(16, 42, 84, .12); transform: translateY(-2px); }
.cs-cmd-card.is-active::before { opacity: 1; }
.cs-cmd-card:focus-visible { box-shadow: 0 0 0 3px rgba(31, 111, 229, .35); }
.cs-cmd-card header { display: flex; align-items: center; gap: 8px; }
.cs-cmd-card header b { font-size: 13.5px; font-weight: 600; color: var(--cs-ink); }
.cs-cmd-card header em { margin-left: auto; font-style: normal; font-size: 11.5px; font-weight: 600; color: var(--c); }
.cs-cmd-dot { width: 8px; height: 8px; border-radius: 2px; background: var(--c); flex: none; }
.cs-cmd-metric b { display: block; font-size: 24px; line-height: 1.15; font-weight: 600; color: var(--cs-ink); font-variant-numeric: tabular-nums; }
.cs-cmd-metric small { font-size: 12px; color: #6b7b93; }
.cs-cmd-meter { display: grid; grid-template-columns: 1fr auto; gap: 4px 8px; font-size: 12px; color: #4a5d79; }
.cs-cmd-meter b { font-weight: 600; color: var(--cs-ink); }
.cs-cmd-meter .cs-meter { grid-column: 1 / -1; position: relative; height: 6px; border-radius: 3px; background: #E5F2FF; overflow: hidden; }
.cs-cmd .cs-meter i { position: absolute; left: 0; top: 0; bottom: 0; border-radius: 3px; background: var(--c, #1746A2); transform-origin: left center; }
.cs-cmd-rows { list-style: none; margin: 0; padding: 0; }
.cs-cmd-rows li { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 6px 0; border-top: 1px dashed var(--cs-line); font-size: 12.5px; color: var(--cs-text); }
.cs-cmd-rows .cs-st { font-size: 11.5px; padding: 3px 7px; }
.cs-cmd-sev { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.cs-cmd-sev span { padding: 6px 8px; border-radius: 8px; background: #F1F2F3; font-size: 11.5px; color: #4a5d79; }
.cs-cmd-sev b { display: block; font-size: 18px; font-weight: 600; color: var(--cs-ink); font-variant-numeric: tabular-nums; }
.cs-cmd-sev .c { background: #fdecea; } .cs-cmd-sev .c b { color: var(--cs-crit); }
.cs-cmd-sev .h { background: #fdf1e3; } .cs-cmd-sev .h b { color: #a85d16; }
.cs-cmd-inc small { display: block; font-size: 12px; color: #6b7b93; }
.cs-cmd-inc b { font-size: 15px; font-weight: 600; color: var(--cs-ink); }
.cs-cmd-path { display: flex; align-items: center; flex-wrap: wrap; gap: 4px; }
.cs-cmd-path span { padding: 3px 7px; border: 1px solid var(--cs-ink-line); border-radius: 6px; font-size: 11.5px; color: #23324b; background: #fff; }
.cs-cmd-path span.is-hot { border-color: var(--cs-warn); color: #a85d16; background: #fffaf3; }
.cs-cmd-path i { width: 10px; height: 1px; background: #9fb4d1; }
.cs-cmd-split { display: flex; gap: 2px; height: 8px; border-radius: 4px; overflow: hidden; }
.cs-cmd-split i { display: block; height: 100%; background: var(--c2, #7a5af5); }
.cs-cmd-legend { display: flex; flex-wrap: wrap; gap: 4px 10px; font-size: 11.5px; color: #4a5d79; }
.cs-cmd-legend i { display: inline-block; width: 8px; height: 8px; margin-right: 5px; border-radius: 2px; vertical-align: 0; }
.cs-cmd-hub { position: absolute; left: 50%; top: 50%; z-index: 2; display: grid; justify-items: center; gap: 6px; transform: translate(-50%, -50%); pointer-events: none; }
.cs-cmd-core { position: relative; display: grid; place-items: center; width: 72px; height: 72px; border-radius: 50%; background: #fff; border: 1px solid var(--cs-line); box-shadow: 0 10px 26px rgba(16, 42, 84, .16); }
.cs-cmd-core img { width: 44px !important; height: 44px !important; object-fit: contain; }
.cs-cmd-ring { position: absolute; left: 50%; top: 36px; width: 72px; height: 72px; margin: -36px 0 0 -36px; border-radius: 50%; border: 2px solid var(--hub, #1746A2); opacity: 0; }
.cs-motion .cs-cmd.is-pulse .cs-cmd-ring { animation: csRing 2.4s var(--cs-ease) 1; }
.cs-cmd-hub small { padding: 2px 8px; border-radius: 6px; background: #0b2140; color: #fff; font-size: 11px; font-weight: 600; white-space: nowrap; }
.cs-cmd-foot { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: center; margin-top: 14px; }
.cs-cmd-dex { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 2px 10px; align-items: center; padding: 10px 12px; border-radius: 10px; background: #0b2140; }
.cs-cmd-dex-k { grid-row: span 2; padding: 4px 8px; border-radius: 6px; background: #4f5bd5; color: #fff; font-size: 11.5px; font-weight: 600; white-space: nowrap; }
.cs-cmd-q { color: #fff; font-size: 13px; }
.cs-cmd-a { color: #a9c8f0; font-size: 12px; }
.cs-cmd-a b { color: #fff; font-weight: 600; }
.cs-cmd-src { display: flex; align-items: center; gap: 6px; }
.cs-cmd-src small { margin-right: 4px; font-size: 11.5px; color: #6b7b93; max-width: 70px; line-height: 1.25; }
.cs-cmd-logo { display: grid; place-items: center; width: 32px; height: 32px; border: 1px solid var(--cs-line); border-radius: 8px; background: #fff; }
.cs-cmd .cs-logo-img { height: 18px !important; width: auto !important; max-width: 22px; }
.cs-motion .cs-cmd:not(.is-play) .cs-cmd-card { opacity: 0; transform: translateY(8px); }
.cs-motion .cs-cmd .cs-cmd-card { transition: opacity .6s var(--cs-ease), transform .6s var(--cs-ease), border-color .4s, box-shadow .4s; }
.cs-motion .cs-cmd .cs-cmd-card:nth-of-type(2) { transition-delay: 90ms; } .cs-motion .cs-cmd .cs-cmd-card:nth-of-type(3) { transition-delay: 180ms; } .cs-motion .cs-cmd .cs-cmd-card:nth-of-type(4) { transition-delay: 270ms; }
.cs-motion .cs-cmd.is-play .cs-cmd-card { transition-delay: 0ms; }
@media (max-width: 1024px) { .cs-cmd { max-width: 680px; } }
@media (max-width: 767px) {
	.cs-cmd { padding: 12px; }
	.cs-cmd-tag { display: none; }
	.cs-cmd-grid { grid-template-columns: 1fr; gap: 10px; padding: 0; }
	.cs-cmd-wires { display: none; }
	.cs-cmd-hub { position: static; transform: none; grid-auto-flow: column; justify-content: start; align-items: center; order: -1; margin-bottom: 2px; }
	.cs-cmd-core { width: 44px; height: 44px; } .cs-cmd-core img { width: 28px !important; height: 28px !important; }
	.cs-cmd-ring { display: none; }
	.cs-cmd-foot { grid-template-columns: 1fr; }
	.cs-cmd-src small { max-width: none; }
}@media (max-width: 767px) {
	.cs-cmd-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
	.cs-cmd-hub { grid-column: 1 / -1; }
	.cs-cmd-card { padding: 10px; gap: 6px; }
	.cs-cmd-card header { flex-wrap: wrap; gap: 2px 6px; }
	.cs-cmd-card header b { font-size: 13px; }
	.cs-cmd-card header em { margin-left: 14px; width: 100%; font-size: 11.5px; }
	.cs-cmd-rows, .cs-cmd-meter, .cs-cmd-path, .cs-cmd-legend { display: none; }
	.cs-cmd-metric b { font-size: 20px; }
	.cs-cmd-sev { gap: 4px; }
	.cs-cmd-sev span { padding: 4px 5px; font-size: 11px; }
	.cs-cmd-sev b { font-size: 15px; }
	.cs-cmd-inc b { font-size: 13px; line-height: 1.3; display: block; }
	.cs-cmd-dex { grid-template-columns: 1fr; }
	.cs-cmd-dex-k { grid-row: auto; justify-self: start; }
}
/* Even grids: a lone last card spans the row instead of leaving a hole; challenge rows align centrally. */
.cs-daycards > :last-child:nth-child(odd), .cs-tiles > :last-child:nth-child(odd) { grid-column: 1 / -1; }
.cs-daygrid { align-items: start; }
.cs-challenge { align-items: center; }
.cs-challenge > .cs-highlight { align-self: center; }
/* ==========================================================================
   14. Feature pages: purpose-built visuals and three layouts.
   ========================================================================== */
/* Hero compositions */
@media (min-width: 1025px) {
	.cs-hero--left .cs-hero-split > .cs-hero-visual { order: -1; }
}
.cs-hero--wide .cs-hero-copy { max-width: 820px; }
.cs-hero--wide .cs-h1 .elementor-heading-title { font-size: clamp(36px, 4vw, 54px); }
.cs-hero--wide .cs-hero-visual { max-width: none; }

/* Shared visual parts */
.cs-fv { padding: 18px 20px 14px; }
.cs-fv .cs-meter { position: relative; height: 8px; border-radius: 4px; background: #E5F2FF; overflow: hidden; }
.cs-fv .cs-meter i { position: absolute; left: 0; top: 0; bottom: 0; border-radius: 4px; background: var(--cs-grad); transform-origin: left center; }
.cs-fv .cs-meter i.ok { background: var(--cs-ok); } .cs-fv .cs-meter i.warn { background: var(--cs-warn); } .cs-fv .cs-meter i.crit { background: var(--cs-crit); }
.cs-fv .ok { color: #0e7a64 !important; } .cs-fv .warn { color: #a85d16 !important; }
.cs-fv-legend { display: flex; flex-wrap: wrap; gap: 4px 14px; margin-top: 8px; font-size: 12px; color: #4a5d79; }
.cs-fv-legend i { display: inline-block; width: 10px; height: 10px; margin-right: 6px; border-radius: 3px; vertical-align: -1px; }
.cs-fv-k { font-size: 12px; font-weight: 600; color: #6b7b93; }
.cs-fv-pill { display: inline-block; padding: 4px 9px; border-radius: 999px; background: #F1F2F3; font-size: 12px; color: #4a5d79; }
.cs-fv-n { display: inline-grid; place-items: center; width: 22px; height: 22px; flex: none; border-radius: 6px; background: #E5F2FF; color: var(--cs-blue-dark); font-size: 12px; font-weight: 600; }
.cs-fv-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 12px; }
.cs-fv-stats > div { padding: 10px 12px; border: 1px solid var(--cs-line); border-radius: 8px; min-width: 0; }
.cs-fv-stats small { display: block; font-size: 12px; color: #6b7b93; }
.cs-fv-stats b { display: block; margin-top: 2px; font-size: 17px; font-weight: 600; color: var(--cs-ink); }
.cs-fv-stats b span { font-size: 12px; font-weight: 400; color: #6b7b93; }
.cs-fv-facts { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 8px; }
.cs-fv-facts li { padding: 8px 10px; border-radius: 8px; background: #F1F2F3; min-width: 0; }
.cs-fv-facts small { display: block; font-size: 11.5px; color: #6b7b93; }
.cs-fv-facts b { font-size: 13px; font-weight: 600; color: var(--cs-ink); }
.cs-fv-alert { display: grid; gap: 10px; margin-top: 12px; padding: 12px; border: 1px solid var(--cs-line); border-radius: 10px; background: #fff; }
.cs-fv-alert > div { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.cs-fv-alert > div b { font-size: 14px; font-weight: 600; color: var(--cs-ink); }
.cs-fv-tablewrap { overflow-x: auto; }
.cs-fv-table { width: 100%; border-collapse: collapse; font-size: 13px; color: var(--cs-text); margin: 0; }
.cs-fv-table th { padding: 8px 10px; text-align: left; font-size: 12px; font-weight: 600; color: #6b7b93; border-bottom: 1px solid var(--cs-line); background: #F1F2F3; white-space: nowrap; }
.cs-fv-table td { padding: 9px 10px; border-bottom: 1px solid #edf2f8; vertical-align: middle; }
.cs-fv-table .num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.cs-fv-table tfoot td { font-weight: 600; color: var(--cs-ink); border-bottom: 0; }
.cs-fv-table tr.is-pick td { background: #f3faf7; }
.cs-fv-dim { color: #9aa9be; }
.cs-fv-mini { display: grid; grid-template-columns: minmax(60px, 1fr) auto; gap: 8px; align-items: center; font-size: 12px; color: #4a5d79; }
.cs-fv-evidence, .cs-fv-recon, .cs-fv-saved { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; margin-top: 12px; font-size: 12.5px; color: #4a5d79; }
.cs-fv-evidence b, .cs-fv-saved b { color: var(--cs-ink); font-weight: 600; }

/* Cost Explorer */
.cs-fv-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-bottom: 8px; }
.cs-fv-toolbar span:not(.cs-fv-k) { padding: 4px 9px; border: 1px solid var(--cs-line); border-radius: 6px; font-size: 12px; color: #4a5d79; }
.cs-fv-toolbar span.is-on { background: #0b2140; border-color: #0b2140; color: #fff; }
.cs-fv-crumb { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 10px; padding-top: 10px; border-top: 1px dashed var(--cs-line); font-size: 12.5px; color: #4a5d79; }
.cs-fv-crumb i { font-style: normal; color: #9fb4d1; }
.cs-fv-crumb b { color: var(--cs-ink); font-weight: 600; }
.cs-fv-crumb .cs-st { margin-left: auto; }

/* Recommendations */
.cs-fv-recq { position: relative; padding-top: 14px; }
.cs-fv-rec-ghost { position: absolute; left: 16px; right: 16px; top: 0; height: 30px; border: 1px solid var(--cs-line); border-radius: 12px; background: #F1F2F3; }
.cs-fv-rec-ghost.g2 { left: 8px; right: 8px; top: 7px; background: #F1F2F3; }
.cs-fv-rec { position: relative; display: grid; gap: 12px; padding: 14px; border: 1px solid var(--cs-line); border-radius: 12px; background: #fff; box-shadow: 0 8px 20px rgba(16, 42, 84, .06); }
.cs-fv-rec-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; }
.cs-fv-res b { display: block; font-size: 15px; font-weight: 600; color: var(--cs-ink); }
.cs-fv-res small { font-size: 12px; color: #6b7b93; }
.cs-fv-rec-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 14px; }
.cs-fv-rec-grid small { display: block; font-size: 12px; color: #6b7b93; }
.cs-fv-rec-grid svg { display: block; width: 100%; height: auto; margin: 4px 0; }
.cs-fv-rec-act { padding: 10px 12px; border-radius: 10px; background: #F1F2F3; }
.cs-fv-rec-act b { display: block; margin-bottom: 6px; font-size: 14px; font-weight: 600; color: var(--cs-ink); }
.cs-fv-rec-act b i { font-style: normal; color: #9fb4d1; }
.cs-fv-stage { display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; margin: 0; padding: 0; list-style: none; counter-reset: st; }
.cs-fv-stage li { position: relative; padding: 8px 0 0; border-top: 3px solid #DBECFF; font-size: 12px; color: #6b7b93; }
.cs-fv-stage li.done { border-color: var(--cs-ok); color: #0e7a64; }
.cs-fv-stage li.now { border-color: var(--cs-grad); color: var(--cs-blue-dark); font-weight: 600; }

/* Notes and rules */
.cs-fv-notes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 10px; }
.cs-fv-notes p { margin: 0 !important; padding: 8px 10px; border-left: 3px solid #1746A2; background: #F1F2F3; font-size: 12.5px; line-height: 1.4; color: var(--cs-text); }
.cs-fv-notes p:last-child { border-color: var(--cs-ok); }
.cs-fv-notes b { display: block; color: var(--cs-ink); font-weight: 600; }
.cs-fv-unitdef { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin-bottom: 8px; font-size: 13px; color: var(--cs-ink); }
.cs-fv-unitdef b { font-weight: 600; padding: 3px 8px; border-radius: 6px; background: #F1F2F3; }
.cs-fv-rule { border: 1px solid var(--cs-line); border-radius: 10px; overflow: hidden; }
.cs-fv-rule-head { display: flex; align-items: center; gap: 8px; padding: 10px 12px; background: #F1F2F3; border-bottom: 1px solid var(--cs-line); font-size: 13px; }
.cs-fv-rule-head b { color: var(--cs-ink); font-weight: 600; }
.cs-fv-rule-head span { color: #6b7b93; }
.cs-fv-rule-head .cs-st { margin-left: auto; }
.cs-fv-cond { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 9px 12px; border-bottom: 1px dashed var(--cs-line); font-size: 13px; }
.cs-fv-cond:last-child { border-bottom: 0; }
.cs-fv-cond.is-then { background: #f3f8ff; }
.cs-fv-cond small { width: 100%; font-size: 12px; color: #6b7b93; padding-left: 46px; }
.cs-fv-op { min-width: 38px; font-size: 11.5px; font-weight: 600; color: var(--cs-blue-dark); }
.cs-fv-eq { color: #9fb4d1; }
.cs-fv code, .cs-fv pre { font-family: var(--cs-font-mono); }
.cs-fv code { padding: 2px 7px; border-radius: 5px; background: #E5F2FF; color: #23324b; font-size: 12px; }
.cs-fv-cover { margin-top: 12px; }
.cs-fv-bar2 { display: grid; grid-template-columns: 130px minmax(0, 1fr) 40px; gap: 10px; align-items: center; margin-top: 6px; font-size: 13px; color: var(--cs-text); }
.cs-fv-bar2 b { text-align: right; color: var(--cs-ink); font-weight: 600; }
.cs-fv-exc { display: grid; gap: 4px; margin-top: 12px; padding: 10px 12px; border: 1px dashed #e9b98a; border-radius: 8px; background: #fffaf3; font-size: 12.5px; color: #4a5d79; }
.cs-fv-exc b { color: #a85d16; font-weight: 600; }

/* Ledger, reporting, chargeback */
.cs-fv-builder { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 14px; }
.cs-fv-fields { padding: 12px; border-radius: 10px; background: #F1F2F3; }
.cs-fv-fields dl { display: grid; gap: 8px; margin: 0; }
.cs-fv-fields dt { font-size: 11.5px; font-weight: 600; color: #6b7b93; }
.cs-fv-fields dd { margin: 0; display: flex; flex-wrap: wrap; gap: 4px; }
.cs-fv-fields dd span { padding: 3px 8px; border-radius: 6px; background: #fff; border: 1px solid var(--cs-line); font-size: 12.5px; color: var(--cs-ink); }
.cs-fv-hbars { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.cs-fv-hbars li { display: grid; grid-template-columns: 86px minmax(0, 1fr) 50px; gap: 8px; align-items: center; font-size: 12.5px; color: var(--cs-text); }
.cs-fv-hbars b { text-align: right; font-weight: 600; color: var(--cs-ink); }
.cs-fv-invoice { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.cs-fv-invoice small { font-size: 12.5px; color: #6b7b93; }
.cs-fv-invoice b { font-size: 24px; font-weight: 600; color: var(--cs-ink); }
.cs-fv-split { display: flex; gap: 2px; height: 14px; margin: 8px 0 12px; border-radius: 6px; overflow: hidden; }
.cs-fv-stmt { list-style: none; margin: 0; padding: 0; border: 1px solid var(--cs-line); border-radius: 10px; }
.cs-fv-stmt li { display: grid; grid-template-columns: minmax(0, 1fr) auto 70px; gap: 12px; align-items: center; padding: 9px 12px; border-bottom: 1px dashed var(--cs-line); font-size: 13px; color: var(--cs-ink); }
.cs-fv-stmt li:last-child { border-bottom: 0; }
.cs-fv-stmt li span i { display: inline-block; width: 10px; height: 10px; margin-right: 8px; border-radius: 3px; vertical-align: -1px; }
.cs-fv-stmt small { font-size: 12px; color: #6b7b93; }
.cs-fv-stmt b { text-align: right; font-weight: 600; font-variant-numeric: tabular-nums; }

/* Kubernetes */
.cs-fv-nodes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.cs-fv-node { padding: 10px; border: 1px solid var(--cs-line); border-radius: 10px; background: #F1F2F3; }
.cs-fv-node small { display: block; margin-bottom: 8px; font-size: 12px; color: #4a5d79; }
.cs-fv-pods { display: flex; gap: 4px; height: 96px; align-items: stretch; }
.cs-fv-pods span { position: relative; display: block; border: 1.5px dashed var(--t); border-radius: 6px; background: #fff; }
.cs-fv-pods span i { position: absolute; left: 2px; right: 2px; bottom: 2px; border-radius: 4px; background: var(--t); opacity: .85; }
.cs-fv-req { border: 1.5px dashed #4a5d79; background: #fff !important; }

/* Inventory */
.cs-fv-search { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 10px; }
.cs-fv-input { flex: 1 1 220px; padding: 7px 10px; border: 1px solid var(--cs-line); border-radius: 8px; font-family: var(--cs-font-mono); font-size: 12px; color: #4a5d79; background: #F1F2F3; }
.cs-fv-count { font-size: 12.5px; font-weight: 600; color: var(--cs-ink); }
.cs-fv-resname { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; color: var(--cs-ink); white-space: nowrap; }
.cs-fv .cs-fv-resname .cs-logo-img { height: 16px !important; }

/* Power schedule heat grid */
.cs-fv-sched-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 10px; font-size: 13px; color: #4a5d79; }
.cs-fv-sched-head b { color: var(--cs-ink); font-weight: 600; }
.cs-fv-week { display: grid; grid-template-columns: 38px repeat(24, minmax(0, 1fr)); gap: 3px; align-items: center; }
.cs-fv-week small { font-size: 11.5px; color: #6b7b93; }
.cs-fv-week b { font-size: 12px; font-weight: 600; color: #4a5d79; }
.cs-fv-week i { display: block; height: 18px; border-radius: 3px; background: #E5F2FF; }
.cs-fv-week i.on { background: #1746A2; }
.cs-fv-week i.x { background: #d9822b; }

/* Workflow pipeline */
.cs-fv-pipe { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
.cs-fv-pipe li { position: relative; display: grid; gap: 4px; align-content: start; padding: 10px; border: 1px solid var(--cs-line); border-radius: 10px; background: #fff; }
.cs-fv-pipe li.done { border-color: #bfe6da; background: #f5fbf9; }
.cs-fv-pipe li.now { border-color: #9cc2f7; box-shadow: 0 0 0 3px rgba(31, 111, 229, .1); }
.cs-fv-pipe li:not(:last-child)::after { content: ''; position: absolute; right: -8px; top: 22px; width: 8px; height: 1px; background: #9fb4d1; }
.cs-fv-pipe b { font-size: 12.5px; font-weight: 600; color: var(--cs-ink); line-height: 1.3; }
.cs-fv-pipe small { font-size: 11.5px; color: #6b7b93; line-height: 1.35; overflow-wrap: anywhere; }
.cs-fv-pipe-ic { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 7px; background: #E5F2FF; color: var(--cs-blue-dark); font-size: 12px; font-weight: 600; }
.cs-fv-pipe li.done .cs-fv-pipe-ic { background: #dff3ed; color: #0e7a64; }
.cs-fv .cs-fv-pipe-ic .cs-logo-img { height: 16px !important; }
.cs-fv-log { display: grid; gap: 4px; margin-top: 12px; padding: 10px 12px; border-radius: 10px; background: #F1F2F3; }
.cs-fv-log p { margin: 0 !important; font-size: 12.5px; color: var(--cs-text); }
.cs-fv-log span { display: inline-block; min-width: 76px; color: #6b7b93; font-variant-numeric: tabular-nums; }

/* AI */
.cs-fv-heat td[style*="--a"] { background: rgba(122, 90, 245, calc(var(--a) * .28)); }
.cs-fv-tok { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 14px; align-items: center; margin-top: 12px; padding: 10px 12px; border: 1px solid var(--cs-line); border-radius: 10px; }
.cs-fv-tok small { display: block; font-size: 12px; color: #6b7b93; }
.cs-fv-tok b { font-size: 15px; font-weight: 600; color: var(--cs-ink); }
.cs-fv-tok svg { width: 100%; height: 44px; }
.cs-fv-policy { border: 1px solid var(--cs-line); border-radius: 10px; overflow: hidden; }
.cs-fv-policy-head { display: flex; align-items: center; gap: 8px; padding: 10px 12px; background: #0b2140; color: #fff; font-size: 13px; }
.cs-fv-policy-head b { font-weight: 600; } .cs-fv-policy-head span { color: #a9c8f0; } .cs-fv-policy-head .cs-st { margin-left: auto; }
.cs-fv-policy ol { list-style: none; margin: 0; padding: 0; }
.cs-fv-policy li { display: grid; grid-template-columns: 22px minmax(0, 1fr) 14px auto; gap: 10px; align-items: center; padding: 10px 12px; border-top: 1px dashed var(--cs-line); }
.cs-fv-policy li i { font-style: normal; color: #9fb4d1; }
.cs-fv-policy code { white-space: normal; }
.cs-fv-dist { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 16px; align-items: center; margin-top: 12px; }
.cs-fv-dist svg { width: 96px; height: 96px; }
.cs-fv-dist ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.cs-fv-dist li { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--cs-text); }
.cs-fv-dist li i { width: 10px; height: 10px; border-radius: 3px; }
.cs-fv-dist li b { margin-left: auto; font-weight: 600; color: var(--cs-ink); }
.cs-fv-delta { margin: 8px 0 0 !important; font-size: 12.5px; color: #4a5d79; }
.cs-fv-delta b { color: #0e7a64; } .cs-fv-delta s { color: #9aa9be; }
.cs-fv-prompt { display: flex; gap: 3px; border-radius: 10px; overflow: hidden; }
.cs-fv-prompt span { display: grid; gap: 2px; padding: 10px; font-size: 12.5px; font-weight: 600; color: #fff; min-width: 0; }
.cs-fv-prompt span.c { background: #13997f; } .cs-fv-prompt span.n { background: #7a5af5; }
.cs-fv-prompt small { font-weight: 400; font-size: 11.5px; opacity: .9; }
.cs-fv-reqs { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 12px; }
.cs-fv-reqs > div { display: grid; gap: 6px; justify-items: start; padding: 10px 12px; border: 1px solid var(--cs-line); border-radius: 10px; }
.cs-fv-reqs b { font-size: 13px; font-weight: 600; color: var(--cs-ink); }
.cs-fv-reqs small { font-size: 12px; color: #6b7b93; }
.cs-fv-stackbar { display: flex; gap: 3px; }
.cs-fv-stackbar span { display: grid; gap: 2px; min-width: 0; padding: 10px 8px; border-radius: 8px; color: #fff; }
.cs-fv-stackbar b { font-size: 14px; font-weight: 600; }
.cs-fv-stackbar small { font-size: 11.5px; opacity: .92; line-height: 1.25; }
.cs-fv-unit-total { display: flex; align-items: baseline; gap: 8px; margin: 10px 0 14px; font-size: 13px; color: #4a5d79; }
.cs-fv-unit-total b { font-size: 26px; font-weight: 600; color: var(--cs-ink); }

/* SecOps */
.cs-fv-posture { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 18px; align-items: center; }
.cs-fv-score svg { display: block; width: 130px; height: 130px; margin: 0 auto; }
.cs-fv-trend svg { display: block; width: 100%; height: 36px; }
.cs-fv-trend small { display: block; text-align: center; font-size: 12px; color: #0e7a64; font-weight: 600; }
.cs-fv-cats { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.cs-fv-cats li { display: grid; grid-template-columns: 64px minmax(0, 1fr) 26px 78px; gap: 8px; align-items: center; font-size: 12.5px; color: var(--cs-text); }
.cs-fv-cats b { text-align: right; font-weight: 600; color: var(--cs-ink); }
.cs-fv-cats .cs-st { font-size: 11px; padding: 2px 6px; }
.cs-fv-dot { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 600; }
.cs-fv-dot::before { content: ''; width: 8px; height: 8px; border-radius: 50%; }
.cs-fv-dot.d-p { color: #0e7a64; } .cs-fv-dot.d-p::before { background: var(--cs-ok); }
.cs-fv-dot.d-f { color: var(--cs-crit); } .cs-fv-dot.d-f::before { background: var(--cs-crit); }
.cs-fv-dot.d-e { color: #4a5d79; } .cs-fv-dot.d-e::before { background: #9fb4d1; }
.cs-fv-dot.d-d { color: #a85d16; } .cs-fv-dot.d-d::before { background: var(--cs-warn); }
.cs-fv-code { border: 1px solid #1d2f4d; border-radius: 10px; overflow: hidden; background: #0b1b33; }
.cs-fv-code-head { display: flex; justify-content: space-between; gap: 8px; padding: 8px 12px; background: #11284a; font-size: 12px; color: #a9c8f0; }
.cs-fv-code pre { margin: 0; padding: 10px 0; background: none; border: 0; font-size: 12.5px; line-height: 1.7; color: #dbe8fa; overflow-x: auto; white-space: pre; }
.cs-fv-code pre span { display: block; padding: 0 12px; }
.cs-fv-code pre span i { display: inline-block; width: 26px; font-style: normal; color: #5f7898; }
.cs-fv-code pre span.del { background: rgba(200, 71, 58, .22); color: #ffd2cd; }
.cs-fv-code pre span.add { background: rgba(19, 153, 127, .22); color: #c9f3e6; }
.cs-fv-annot { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; padding: 10px 12px; background: #fff; border-top: 1px solid #1d2f4d; font-size: 12.5px; color: #4a5d79; }
.cs-fv-annot b { color: var(--cs-ink); font-weight: 600; }
.cs-fv-annot span { width: 100%; }
.cs-fv-checks { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin-top: 12px; padding: 10px 12px; border: 1px solid var(--cs-line); border-radius: 10px; font-size: 12.5px; color: #4a5d79; }
.cs-fv-checks b { color: var(--cs-ink); }
.cs-fv-checks .cs-st { margin-left: auto; }
.cs-fv-timeline { position: relative; list-style: none; margin: 0; padding: 0 0 0 4px; display: grid; gap: 10px; }
.cs-fv-timeline::before { content: ''; position: absolute; left: 87px; top: 8px; bottom: 8px; width: 2px; background: #DBECFF; }
.cs-fv-timeline li { position: relative; display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 26px; align-items: start; }
.cs-fv-timeline li::before { content: ''; position: absolute; left: 78px; top: 4px; width: 12px; height: 12px; border-radius: 50%; background: #fff; border: 3px solid var(--cs-grad); }
.cs-fv-timeline li.t-crit::before { border-color: var(--cs-crit); } .cs-fv-timeline li.t-ok::before { border-color: var(--cs-ok); background: var(--cs-ok); }
.cs-fv-timeline time { font-size: 12px; color: #6b7b93; font-variant-numeric: tabular-nums; padding-top: 1px; }
.cs-fv-timeline b { display: flex; align-items: center; gap: 6px; font-size: 13.5px; font-weight: 600; color: var(--cs-ink); }
.cs-fv-timeline span { font-size: 12.5px; color: #4a5d79; }
.cs-fv .cs-fv-timeline .cs-logo-img { height: 14px !important; }

/* Astra */
.cs-fv-obs-head { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin-bottom: 10px; font-size: 12.5px; color: #6b7b93; }
.cs-fv-obs-head b { font-size: 15px; font-weight: 600; color: var(--cs-ink); }
.cs-fv-obs-head .cs-st { margin-left: auto; }
.cs-fv-sparks { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.cs-fv-spark { padding: 10px 12px; border: 1px solid var(--cs-line); border-radius: 10px; }
.cs-fv-spark small { display: block; font-size: 12px; color: #6b7b93; }
.cs-fv-spark b { font-size: 17px; font-weight: 600; color: var(--cs-ink); }
.cs-fv-spark svg { display: block; width: 100%; height: 50px; margin-top: 4px; }
.cs-fv-events, .cs-fv-logs { margin-top: 12px; }
.cs-fv-events p:not(.cs-plabel) { margin: 0 0 4px !important; font-size: 12.5px; color: var(--cs-text); }
.cs-fv-events span { display: inline-block; min-width: 48px; color: #6b7b93; }
.cs-fv-logs pre { margin: 0; padding: 10px 12px; border-radius: 8px; background: #0b1b33; color: #c8d7ee; font-size: 12px; line-height: 1.7; overflow-x: auto; white-space: pre; border: 0; }
.cs-fv-logs pre span { display: block; }
.cs-fv-logs pre .w { color: #f5c48f; } .cs-fv-logs pre .e { color: #ffb4ab; }
.cs-fv-inc { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 12px; }
.cs-fv-inc small { display: block; font-size: 12px; color: #6b7b93; }
.cs-fv-inc b { font-size: 15px; font-weight: 600; color: var(--cs-ink); }
.cs-fv-hyp { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.cs-fv-hyp li { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 10px; padding: 10px 12px; border: 1px solid var(--cs-line); border-radius: 10px; }
.cs-fv-hyp li:first-child { border-color: #f0c79e; background: #fffaf3; }
.cs-fv-hyp b { display: block; margin-bottom: 6px; font-size: 13.5px; font-weight: 600; color: var(--cs-ink); }
.cs-fv-hyp small { display: block; margin-top: 4px; font-size: 12px; color: #6b7b93; }
.cs-fv-next { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 12px; font-size: 12.5px; }
.cs-fv-next b { margin-right: 4px; color: var(--cs-ink); font-weight: 600; }
.cs-fv-next span { padding: 4px 9px; border-radius: 6px; background: #F1F2F3; color: #23324b; }
.cs-fv-runbook { border: 1px solid var(--cs-line); border-radius: 10px; overflow: hidden; }
.cs-fv-rb-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 10px 12px; background: #F1F2F3; border-bottom: 1px solid var(--cs-line); font-size: 13px; }
.cs-fv-rb-head b { color: var(--cs-ink); font-weight: 600; }
.cs-fv-rb-head .cs-plogos { align-items: center; gap: 10px; }
.cs-fv-runbook ol { list-style: none; margin: 0; padding: 6px 0; }
.cs-fv-runbook li { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 10px; padding: 8px 12px; }
.cs-fv-runbook li.done .cs-fv-n { background: #dff3ed; color: #0e7a64; }
.cs-fv-runbook li.now .cs-fv-n { background: var(--cs-grad); color: #fff; }
.cs-fv-runbook li.gate { margin: 2px 12px; padding: 8px 10px; border: 1px dashed #e9b98a; border-radius: 8px; background: #fffaf3; }
.cs-fv-runbook b { display: block; font-size: 13px; font-weight: 600; color: var(--cs-ink); }
.cs-fv-runbook small { font-size: 12px; color: #6b7b93; }

/* Dex */
.cs-fv-ask { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; justify-self: end; margin-left: auto; padding: 10px 12px; border-radius: 10px; background: #F1F2F3; font-size: 14px; color: var(--cs-ink); max-width: 92%; width: fit-content; }
.cs-fv-ask span { padding: 3px 8px; border-radius: 6px; background: #4f5bd5; color: #fff; font-size: 11.5px; font-weight: 600; }
.cs-fv-answer { margin-top: 10px; padding: 12px 14px; border: 1px solid var(--cs-line); border-radius: 12px; }
.cs-fv-answer > p { margin: 0 0 10px !important; font-size: 14px; line-height: 1.6; color: var(--cs-text); }
.cs-fv-answer > p b { color: var(--cs-ink); font-weight: 600; }
.cs-fv-delta-bars { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.cs-fv-delta-bars li { display: grid; grid-template-columns: 86px minmax(0, 1fr) 54px; gap: 10px; align-items: center; font-size: 12.5px; color: var(--cs-text); }
.cs-fv-axis { position: relative; height: 14px; }
.cs-fv-axis::before { content: ''; position: absolute; left: 50%; top: -3px; bottom: -3px; width: 1px; background: #c3d2e6; }
.cs-fv-axis i { position: absolute; top: 0; bottom: 0; border-radius: 3px; }
.cs-fv-delta-bars b { text-align: right; font-weight: 600; color: var(--cs-ink); }
.cs-fv-cite { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 12px; font-size: 12px; color: #6b7b93; }
.cs-fv-cite a { padding: 3px 8px; border-radius: 6px; background: #E5F2FF; color: var(--cs-blue-dark); }
.cs-fv-follow { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.cs-fv-follow span { display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px; border: 1px solid var(--cs-line); border-radius: 999px; font-size: 12.5px; color: #23324b; }
.cs-fv-follow span.act { border-color: #c9d8ec; background: #F1F2F3; }
.cs-fv .cs-fv-follow .cs-logo-img, .cs-fv .cs-fv-checks .cs-logo-img { height: 14px !important; }

/* Body layouts */
.cs-fp-intro, .cs-fp-why, .cs-fp-why2, .cs-fp-story { align-items: start; }
.cs-checks--cards .elementor-icon-list-items { display: grid !important; gap: 10px; }
.cs-checks--cards .elementor-icon-list-item { padding: 14px 16px !important; border: 1px solid var(--cs-line); border-radius: 12px; background: #fff; }
.cs-fp-editorial > .e-con-inner { gap: 28px !important; }
.cs-fp-head { max-width: 820px; }
.cs-checks--steps .elementor-icon-list-items { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; counter-reset: fs; }
.cs-checks--steps .elementor-icon-list-item { counter-increment: fs; flex-direction: column; align-items: flex-start !important; gap: 10px; padding: 18px !important; border-top: 3px solid var(--cs-grad); border-radius: 0 0 12px 12px; background: #F1F2F3; margin: 0 !important; }
.cs-checks--steps .elementor-icon-list-icon { display: none !important; }
.cs-checks--steps .elementor-icon-list-item::before { content: counter(fs, decimal-leading-zero); font-size: 22px; font-weight: 600; color: #9fb4d1; font-variant-numeric: tabular-nums; }
.cs-flow--wide { margin: 0 !important; }
.cs-flow--vertical { display: grid !important; grid-template-columns: 1fr; gap: 6px !important; margin: 0 !important; }
.cs-flow--vertical .cs-flow-arrow { display: block !important; text-align: center; }
.cs-flow--vertical .cs-flow-arrow .elementor-heading-title { display: inline-block; transform: rotate(90deg); }
.cs-fp-data > .cs-headline, .cs-fp-data { max-width: none; }
.cs-sidebar--card { position: static !important; }
@media (max-width: 1024px) {
	.cs-checks--steps .elementor-icon-list-items { grid-template-columns: 1fr; }
	.cs-fv-pipe { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.cs-fv-pipe li:not(:last-child)::after { display: none; }
}
@media (max-width: 767px) {
	.cs-fv { padding: 16px 14px 12px; }
	.cs-fv-stats, .cs-fv-notes { grid-template-columns: 1fr; }
	.cs-fv-rec-grid, .cs-fv-builder, .cs-fv-reqs, .cs-fv-sparks, .cs-fv-posture { grid-template-columns: 1fr; }
	.cs-fv-nodes { grid-template-columns: 1fr; }
	.cs-fv-pods { height: 64px; }
	.cs-fv-pipe { grid-template-columns: 1fr 1fr; }
	.cs-fv-week { grid-template-columns: 30px repeat(24, minmax(0, 1fr)); gap: 2px; }
	.cs-fv-week i { height: 14px; }
	.cs-fv-tok { grid-template-columns: 1fr; }
	.cs-fv-cats li { grid-template-columns: 60px minmax(0, 1fr) 24px; }
	.cs-fv-cats .cs-st, .cs-fv-cats em { display: none; }
	.cs-fv-policy li { grid-template-columns: 22px minmax(0, 1fr); }
	.cs-fv-policy li i { display: none; }
	.cs-fv-policy li .cs-st { grid-column: 2; justify-self: start; }
	.cs-fv-stackbar { flex-wrap: wrap; } .cs-fv-stackbar span { flex: 1 1 40% !important; }
	.cs-fv-bar2 { grid-template-columns: 1fr 40px; } .cs-fv-bar2 .cs-meter { grid-column: 1 / -1; grid-row: 2; }
	.cs-fv-crumb .cs-st { margin-left: 0; }
	.cs-fv-timeline::before { left: 7px; } .cs-fv-timeline li { grid-template-columns: 1fr; gap: 2px; padding-left: 26px; } .cs-fv-timeline li::before { left: 0; }
	.cs-fv-ask { max-width: 100%; }
}
/* Feature visual refinements */
.cs-fv-pipe { grid-template-columns: 1fr !important; gap: 6px; }
.cs-fv-pipe li { grid-template-columns: 26px minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 10px; row-gap: 0; align-items: center; padding: 8px 10px; }
.cs-fv-pipe li .cs-fv-pipe-ic { grid-row: span 2; }
.cs-fv-pipe li:not(:last-child)::after { display: block !important; right: auto; left: 22px; top: auto; bottom: -7px; width: 1px; height: 6px; }
@media (min-width: 1025px) {
	.cs-hero--wide .cs-fvf-sre-automation { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); column-gap: 16px; align-items: start; }
	.cs-hero--wide .cs-fvf-sre-automation .cs-figure-title { grid-column: 1 / -1; }
	.cs-hero--wide .cs-fvf-sre-automation .cs-fv-logs { margin-top: 0; }
}
/* Performance: animated counters and reveals inside a visual only re-lay out that visual. */
.cs-cmd, .cs-cmd-card, .cs-figure, .cs-stage, .cs-mini-dash { contain: layout style; }

/* ==========================================================================
   15. Homepage: light hero and the Cloud Intelligence Control Center.
   Every surface is light. Pillar accents: FinOps blue, SecOps teal,
   AI-SRE orange, LLMOps violet. Motion is phase-driven (ph1…ph4) and
   settles; nothing loops.
   ========================================================================== */
.cs-home-hero--cc { background: radial-gradient(1200px 520px at 50% -8%, #e4efff 0, rgba(228, 239, 255, 0) 70%), radial-gradient(700px 360px at 88% 22%, rgba(186, 233, 245, .55) 0, rgba(186, 233, 245, 0) 70%), radial-gradient(640px 340px at 8% 30%, rgba(222, 214, 255, .45) 0, rgba(222, 214, 255, 0) 70%), #F1F2F3 !important; border-bottom: 0 !important; }
.cs-home-hero--cc::before { display: none !important; }
.cs-home-hero--cc > .e-con-inner { display: block !important; }
.cs-home-center { max-width: 920px; margin: 0 auto; text-align: center; }
.cs-home-center > .elementor-widget, .cs-home-center .elementor-heading-title, .cs-home-center .cs-lead { text-align: center !important; }
.cs-home-center .cs-btn-row, .cs-home-center .cs-proof { justify-content: center; }
.cs-home-center .cs-lead { max-width: 720px; margin: 0 auto; }
.cs-home-center .cs-kicker .elementor-heading-title { display: inline-block; padding: 6px 12px; border: 1px solid #DBECFF; border-radius: 999px; background: rgba(255, 255, 255, .8); }
.cs-home-center .cs-home-h1 .elementor-heading-title { font-size: clamp(38px, 5vw, 64px); }
.cs-cc-wrap { position: relative; margin-top: 52px; }
.cs-cc-wrap > .elementor-widget-container { width: 100%; }

.cs-cc { --pc: #1746A2; position: relative; max-width: 1180px; margin: 0 auto; border: 1px solid #d6e1ef; border-radius: 18px; background: #fff; box-shadow: 0 2px 6px rgba(16, 42, 84, .04), 0 40px 80px -24px rgba(27, 95, 196, .22); overflow: hidden; text-align: left; contain: layout style; }
.cs-cc[data-pillar="secops"] { --pc: #12a594; } .cs-cc[data-pillar="sre"] { --pc: #d9822b; } .cs-cc[data-pillar="llm"] { --pc: #7a5af5; }
.cs-cc-bar { display: flex; align-items: center; gap: 14px; height: 48px; padding: 0 16px; border-bottom: 1px solid var(--cs-line); background: #f8fafd; font-size: 12.5px; color: #4a5d79; }
.cs-cc-brand { display: inline-flex; align-items: center; gap: 8px; color: var(--cs-ink); font-weight: 600; }
.cs-cc-brand img { width: 20px !important; height: 20px !important; }
.cs-cc-crumb i { font-style: normal; color: #9fb4d1; margin: 0 4px; }
.cs-cc-clouds { display: inline-flex; gap: 6px; align-items: center; padding-left: 12px; border-left: 1px solid var(--cs-line); }
.cs-cc .cs-cc-clouds .cs-logo-img { height: 16px !important; width: auto !important; }
.cs-cc-sample { margin-left: auto; color: #6b7b93; }
.cs-cc-pause { border: 1px solid var(--cs-line); background: #fff; color: #44597a; font: 600 12px/1 var(--cs-font); padding: 7px 10px; border-radius: 7px; cursor: pointer; }
.cs-cc-pause:hover, .cs-cc-pause:focus-visible { border-color: #9cc2f7; color: var(--cs-blue-dark); }

.cs-cc-body { display: grid; grid-template-columns: 214px minmax(0, 1fr) 292px; min-height: 452px; }
.cs-cc-rail { display: grid; align-content: start; gap: 6px; padding: 14px 10px; border-right: 1px solid var(--cs-line); background: #F1F2F3; }
.cs-cc-rail button { position: relative; display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 10px; align-items: center; width: 100%; padding: 10px; border: 1px solid transparent; border-radius: 10px; background: none; text-align: left; cursor: pointer; overflow: hidden; color: inherit; font: inherit; }
.cs-cc-rail button:hover { background: #fff; border-color: var(--cs-line); }
.cs-cc-rail button:focus-visible { outline: 2px solid #1746A2; outline-offset: 1px; }
.cs-cc-rail button.is-active { background: #fff; border-color: #d6e1ef; box-shadow: 0 6px 16px rgba(16, 42, 84, .07); }
.cs-cc-rail button[data-tab="finops"] { --tc: #1746A2; } .cs-cc-rail button[data-tab="secops"] { --tc: #12a594; } .cs-cc-rail button[data-tab="sre"] { --tc: #d9822b; } .cs-cc-rail button[data-tab="llm"] { --tc: #7a5af5; }
.cs-cc-ic { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 8px; background: color-mix(in srgb, var(--tc) 12%, #fff); color: var(--tc); }
.cs-cc-ic svg { width: 17px; height: 17px; }
.cs-cc-rail b { display: block; font-size: 13.5px; font-weight: 600; color: var(--cs-ink); }
.cs-cc-rail small { display: block; font-size: 12px; color: #6b7b93; line-height: 1.3; }
.cs-cc-prog { position: absolute; left: 10px; right: 10px; bottom: 4px; height: 2px; border-radius: 2px; background: var(--tc); transform: scaleX(0); transform-origin: left; opacity: 0; }
.cs-cc-rail button.is-active .cs-cc-prog { opacity: 1; transform: scaleX(1); }
.cs-motion .cs-cc.is-auto .cs-cc-rail button.is-active .cs-cc-prog { animation: ccProg var(--cc-dwell, 8.5s) linear both; }
@keyframes ccProg { from { transform: scaleX(0); } to { transform: scaleX(1); } }

.cs-cc-main { padding: 16px 20px 18px; min-width: 0; }
.cs-cc-view, .cs-cc-ins { display: none; }
.cs-cc-view.is-on, .cs-cc-ins.is-on { display: block; }
.cs-cc-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 12px; }
.cs-cc-head b { font-size: 15px; font-weight: 600; color: var(--cs-ink); }
.cs-cc-chips { display: inline-flex; gap: 4px; padding: 3px; border-radius: 8px; background: #F1F2F3; }
.cs-cc-chips span { padding: 4px 9px; border-radius: 6px; font-size: 12px; color: #4a5d79; }
.cs-cc-chips span.on { background: #fff; color: var(--cs-ink); box-shadow: 0 1px 2px rgba(16, 42, 84, .08); font-weight: 600; }
.cs-cc-kpis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-bottom: 12px; }
.cs-cc-kpis.k4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.cs-cc-kpis > div { padding: 10px 12px; border: 1px solid var(--cs-line); border-radius: 10px; min-width: 0; }
.cs-cc-kpis small { display: block; font-size: 12px; color: #6b7b93; }
.cs-cc-kpis b { display: block; margin-top: 2px; font-size: 20px; font-weight: 600; color: var(--cs-ink); font-variant-numeric: tabular-nums; white-space: nowrap; }
.cs-cc-kpis b span { font-size: 13px; font-weight: 400; color: #6b7b93; }
.cs-cc-kpis b .c { color: var(--cs-crit); font-size: inherit; font-weight: 600; } .cs-cc-kpis b .h { color: #a85d16; font-size: inherit; font-weight: 600; }

/* FinOps chart */
.cs-cc-chartwrap { position: relative; padding: 8px 10px 4px; border: 1px solid var(--cs-line); border-radius: 10px; background: linear-gradient(#F1F2F3, #fff); }
.cs-cc-chart { display: block; width: 100%; height: auto; }
.cs-cc-chart rect { fill: #8db3ea; transform-box: fill-box; transform-origin: bottom; }
.cs-cc-chart .band { fill: #1746A2; fill-opacity: .07; transform: none; }
.cs-cc-chart .axis { stroke: #dfe7f2; }
.cs-cc-chart .ring { fill: none; stroke: var(--cs-crit); stroke-width: 1.5; opacity: 0; }
.cs-cc-flag, .cs-cc-band-l { position: absolute; font-size: 12px; }
.cs-cc-flag { right: 12px; top: 8px; padding: 4px 8px; border-radius: 6px; background: #fdecea; color: var(--cs-crit); font-weight: 600; opacity: 0; transform: translateY(4px); }
.cs-cc-band-l { left: 14px; top: 10px; color: #6b7b93; }
.cs-cc-rows, .cs-cc-gov, .cs-cc-stack { list-style: none; margin: 0; padding: 0; }
.cs-cc-rows { margin-top: 10px; }
.cs-cc-rows li { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 12px; align-items: center; padding: 8px 2px; border-bottom: 1px dashed var(--cs-line); font-size: 13px; color: var(--cs-text); }
.cs-cc-rows li:last-child { border-bottom: 0; }
.cs-cc-rows em { font-style: normal; font-weight: 600; color: var(--cs-ink); font-variant-numeric: tabular-nums; }
.cs-cc-rows .cs-st { font-style: normal; }

/* SecOps table: rows move from detection order to priority order */
.cs-cc-table { border: 1px solid var(--cs-line); border-radius: 10px; overflow: hidden; font-size: 13px; }
.cs-cc-tr { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) minmax(0, 1fr) 84px; gap: 10px; align-items: center; height: 40px; padding: 0 12px; border-bottom: 1px solid #edf2f8; background: #fff; color: var(--cs-text); }
.cs-cc-tr span { min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cs-cc-tr.th { height: 34px; background: #F1F2F3; font-size: 12px; font-weight: 600; color: #6b7b93; }
.cs-cc-tbody { position: relative; }
.cs-cc-tbody .cs-cc-tr { position: relative; transform: translateY(0); transition: transform .8s var(--cs-ease), background .5s; }
.cs-cc-tbody .cs-cc-tr:last-child { border-bottom: 0; }
.cs-cc.ph2 .cs-cc-tbody .cs-cc-tr { transform: translateY(calc((var(--o2) - var(--o1)) * 100%)); }
.cs-cc.ph2 .cs-cc-tbody .sev-c { background: #fff6f5; }
.cs-cc-sev { display: inline-block; padding: 3px 7px; border-radius: 6px; font-style: normal; font-size: 11.5px; font-weight: 600; background: #F1F2F3; color: #4a5d79; }
.sev-c .cs-cc-sev { background: #fdecea; color: var(--cs-crit); } .sev-h .cs-cc-sev { background: #fdf1e3; color: #a85d16; } .sev-m .cs-cc-sev { background: #E5F2FF; color: var(--cs-blue-dark); }
.cs-cc-idr { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 10px; padding: 9px 12px; border-radius: 10px; background: #F1F2F3; font-size: 13px; color: var(--cs-text); }
.cs-cc-idr b { color: var(--cs-ink); }
.cs-cc-k { padding: 2px 7px; border-radius: 5px; background: #e5f6f1; color: #0e7a64; font-size: 11.5px; font-weight: 600; }

/* AI-SRE topology and timeline */
.cs-cc-topowrap { padding: 6px 8px; border: 1px solid var(--cs-line); border-radius: 10px; background-color: #F1F2F3; background-image: radial-gradient(#DBECFF 1px, transparent 1px); background-size: 16px 16px; }
.cs-cc-topo { display: block; width: 100%; height: auto; max-height: 220px; }
.cs-cc-topo .edge { fill: none; stroke: #c3d2e6; stroke-width: 1.5; stroke-dasharray: 140; stroke-dashoffset: 140; }
.cs-cc-topo .node rect { fill: #fff; stroke: #c3d2e6; }
.cs-cc-topo .node text { font-family: var(--cs-font); font-size: 12px; fill: #23324b; }
.cs-cc-topo .node { opacity: 0; }
.cs-cc-tl { list-style: none; margin: 10px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.cs-cc-tl li { position: relative; display: grid; gap: 2px; padding: 9px 10px; border: 1px solid var(--cs-line); border-radius: 10px; background: #fff; transition: border-color .4s, background .4s; }
.cs-cc-tl b { font-size: 12.5px; font-weight: 600; color: var(--cs-ink); }
.cs-cc-tl small { font-size: 11.5px; color: #6b7b93; }

/* LLMOps */
.cs-cc-sub { margin: 4px 0 6px !important; font-size: 12px; font-weight: 600; color: #6b7b93; }
.cs-cc-stack { display: grid; gap: 7px; }
.cs-cc-stack li { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 10px; align-items: center; font-size: 12.5px; color: var(--cs-text); }
.cs-cc-stack li > div { display: flex; gap: 2px; height: 12px; border-radius: 4px; overflow: hidden; transform-origin: left; }
.cs-cc-stack i, .cs-cc-legend i { display: block; height: 100%; }
.cs-cc .p1 { background: #7a5af5; } .cs-cc .p2 { background: #4f86d9; } .cs-cc .p3 { background: #13997f; }
.cs-cc-legend { display: flex; flex-wrap: wrap; gap: 4px 14px; margin: 8px 0 10px; font-size: 12px; color: #4a5d79; }
.cs-cc-legend span { display: inline-flex; align-items: center; gap: 6px; }
.cs-cc-legend i { width: 9px; height: 9px; border-radius: 2px; }
.cs-cc-gov { display: grid; gap: 6px; }
.cs-cc-gov li { display: grid; grid-template-columns: 110px minmax(0, 1fr) 120px; gap: 10px; align-items: center; font-size: 12.5px; color: var(--cs-text); }
.cs-cc-gov .m { position: relative; height: 8px; border-radius: 4px; background: #E5F2FF; overflow: hidden; }
.cs-cc-gov .m i { position: absolute; left: 0; top: 0; bottom: 0; border-radius: 4px; background: #7a5af5; transition: background .5s; }
.cs-cc-gov em { font-style: normal; font-weight: 600; color: var(--cs-ink); text-align: right; transition: color .5s; }

/* Dex analysis column */
.cs-cc-side { padding: 16px; border-left: 1px solid var(--cs-line); background: linear-gradient(180deg, #f8fbff, #fff 60%); }
.cs-cc-ins-k { display: flex; align-items: center; gap: 8px; margin: 0 0 12px !important; font-size: 13px; font-weight: 600; color: var(--cs-ink); }
.cs-cc-ins-k span { padding: 3px 8px; border-radius: 6px; background: #ece9fd; color: #5a46c9; font-size: 11.5px; }
.cs-cc-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.cs-cc-steps li, .cs-cc-tl li { --st: pending; }
.cs-cc-steps li { display: grid; grid-template-columns: 18px minmax(0, 1fr) auto; gap: 8px; align-items: start; font-size: 12.5px; line-height: 1.4; color: #9aa9be; transition: color .4s; }
.cs-cc-steps li i { width: 14px; height: 14px; margin-top: 2px; border-radius: 50%; border: 2px solid #d6e1ef; transition: border-color .3s, background .3s; }
.cs-cc-steps em, .cs-cc-tl em { display: none; font-style: normal; font-size: 11px; font-weight: 600; }
.cs-cc-steps em.run, .cs-cc-tl em.run { color: #a85d16; } .cs-cc-steps em.done, .cs-cc-tl em.done { color: #0e7a64; }
/* running: k=n while ph(n) and not ph(n+1); done once ph(n+1) */
.cs-cc.ph1:not(.ph2) .cs-cc-steps li[data-k="1"], .cs-cc.ph2:not(.ph3) .cs-cc-steps li[data-k="2"], .cs-cc.ph3:not(.ph4) .cs-cc-steps li[data-k="3"] { color: var(--cs-ink); }
.cs-cc.ph1:not(.ph2) .cs-cc-steps li[data-k="1"] i, .cs-cc.ph2:not(.ph3) .cs-cc-steps li[data-k="2"] i, .cs-cc.ph3:not(.ph4) .cs-cc-steps li[data-k="3"] i { border-color: #d9822b; border-right-color: transparent; animation: ccSpin .9s linear infinite; }
.cs-cc.ph1:not(.ph2) .cs-cc-steps li[data-k="1"] em.run, .cs-cc.ph2:not(.ph3) .cs-cc-steps li[data-k="2"] em.run, .cs-cc.ph3:not(.ph4) .cs-cc-steps li[data-k="3"] em.run { display: inline; }
.cs-cc.ph2 .cs-cc-steps li[data-k="1"], .cs-cc.ph3 .cs-cc-steps li[data-k="2"], .cs-cc.ph4 .cs-cc-steps li[data-k="3"] { color: var(--cs-text); }
.cs-cc.ph2 .cs-cc-steps li[data-k="1"] i, .cs-cc.ph3 .cs-cc-steps li[data-k="2"] i, .cs-cc.ph4 .cs-cc-steps li[data-k="3"] i { border-color: var(--cs-ok); background: var(--cs-ok); box-shadow: inset 0 0 0 2px #fff; }
.cs-cc.ph2 .cs-cc-steps li[data-k="1"] em.done, .cs-cc.ph3 .cs-cc-steps li[data-k="2"] em.done, .cs-cc.ph4 .cs-cc-steps li[data-k="3"] em.done { display: inline; }
@keyframes ccSpin { to { transform: rotate(360deg); } }
.cs-cc-find, .cs-cc-act { margin-top: 12px; padding: 11px 12px; border-radius: 10px; opacity: 0; transform: translateY(6px); transition: opacity .5s var(--cs-ease), transform .5s var(--cs-ease); }
.cs-cc-find { border: 1px solid color-mix(in srgb, var(--pc) 30%, #fff); background: color-mix(in srgb, var(--pc) 6%, #fff); }
.cs-cc-act { border: 1px solid var(--cs-line); background: #fff; transition-delay: .35s; }
.cs-cc-find small, .cs-cc-act small { display: block; margin-bottom: 4px; font-size: 11.5px; font-weight: 600; color: #6b7b93; }
.cs-cc-find p, .cs-cc-act p { margin: 0 !important; font-size: 13px; line-height: 1.5; color: var(--cs-text); }
.cs-cc-find b, .cs-cc-act b { color: var(--cs-ink); font-weight: 600; }
.cs-cc-act-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 10px; }
.cs-cc-btn { padding: 6px 10px; border-radius: 7px; background: var(--cs-grad); color: #fff; font-size: 12px; font-weight: 600; }
.cs-cc-act-foot em { font-style: normal; font-size: 11.5px; font-weight: 600; color: #a85d16; }
.cs-cc.ph4 .cs-cc-find, .cs-cc.ph4 .cs-cc-act { opacity: 1; transform: none; }

/* Telemetry → Context → Insight → Action */
.cs-cc-flow { list-style: none; margin: 0; padding: 12px 16px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; border-top: 1px solid var(--cs-line); background: #f8fafd; counter-reset: ccf; }
.cs-cc-flow li { position: relative; display: grid; gap: 1px; padding: 8px 10px 8px 34px; border-radius: 10px; border: 1px solid transparent; counter-increment: ccf; transition: background .4s, border-color .4s; }
.cs-cc-flow li::before { content: counter(ccf); position: absolute; left: 8px; top: 9px; display: grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; background: #DBECFF; color: #6b7b93; font-size: 11px; font-weight: 600; transition: background .4s, color .4s; }
.cs-cc-flow b { font-size: 13px; font-weight: 600; color: var(--cs-ink); }
.cs-cc-flow small { font-size: 11.5px; color: #6b7b93; }
.cs-cc.ph1 .cs-cc-flow li[data-k="1"], .cs-cc.ph2 .cs-cc-flow li[data-k="2"], .cs-cc.ph3 .cs-cc-flow li[data-k="3"], .cs-cc.ph4 .cs-cc-flow li[data-k="4"] { background: #fff; border-color: #d6e1ef; }
.cs-cc.ph1 .cs-cc-flow li[data-k="1"]::before, .cs-cc.ph2 .cs-cc-flow li[data-k="2"]::before, .cs-cc.ph3 .cs-cc-flow li[data-k="3"]::before, .cs-cc.ph4 .cs-cc-flow li[data-k="4"]::before { background: var(--pc); color: #fff; }

/* Phase-driven reveals (only with motion; without motion the final state shows) */
.cs-cc-chart rect:not(.band):not(.ring) { transition: transform .6s var(--cs-ease), fill .5s; transition-delay: calc(var(--i) * 14ms); }
.cs-motion .cs-cc:not(.ph1) .cs-cc-chart rect:not(.band):not(.ring) { transform: scaleY(0); }
.cs-cc.ph2 .cs-cc-chart rect.hot { fill: var(--cs-crit); }
.cs-cc.ph2 .cs-cc-chart .ring { opacity: 1; }
.cs-motion .cs-cc.ph2.is-auto .cs-cc-chart .ring { animation: ccRing 1.4s var(--cs-ease) 2; transform-box: fill-box; transform-origin: center; }
@keyframes ccRing { 0% { transform: scale(1); opacity: 1; } 100% { transform: scale(1.35); opacity: 0; } }
.cs-cc-flag { transition: opacity .4s, transform .4s; }
.cs-cc.ph2 .cs-cc-flag { opacity: 1; transform: none; }
.cs-cc-topo .node { transition: opacity .45s var(--cs-ease); transition-delay: calc(var(--i) * 90ms); }
.cs-cc-topo .edge { transition: stroke-dashoffset .7s var(--cs-ease), stroke .4s, stroke-width .4s; transition-delay: calc(var(--i) * 110ms + 200ms); }
.cs-cc.ph1 .cs-cc-topo .node { opacity: 1; }
.cs-cc.ph1 .cs-cc-topo .edge { stroke-dashoffset: 0; }
.cs-cc-topo .node rect { transition: stroke .4s, fill .4s; }
.cs-cc.ph2 .cs-cc-topo .cause rect { stroke: #d9822b; stroke-width: 1.5; fill: #fff7ee; }
.cs-cc.ph3 .cs-cc-topo .edge.path { stroke: #d9822b; stroke-width: 2.25; }
.cs-cc.ph3 .cs-cc-topo .hit rect { stroke: #f0c79e; }
.cs-cc.ph1 .cs-cc-tl li[data-k="1"] em.done, .cs-cc.ph2 .cs-cc-tl li[data-k="2"] em.done, .cs-cc.ph3 .cs-cc-tl li[data-k="3"] em.done, .cs-cc.ph4 .cs-cc-tl li[data-k="4"] em.done { display: inline; }
.cs-cc.ph1:not(.ph2) .cs-cc-tl li[data-k="2"] em.run, .cs-cc.ph2:not(.ph3) .cs-cc-tl li[data-k="3"] em.run, .cs-cc.ph3:not(.ph4) .cs-cc-tl li[data-k="4"] em.run { display: inline; }
.cs-cc.ph1 .cs-cc-tl li[data-k="1"], .cs-cc.ph2 .cs-cc-tl li[data-k="2"], .cs-cc.ph3 .cs-cc-tl li[data-k="3"] { border-color: #bfe6da; background: #f6fbf9; }
.cs-cc.ph4 .cs-cc-tl li[data-k="4"] { border-color: #f0c79e; background: #fffaf3; }
.cs-cc.ph4 .cs-cc-tl li[data-k="4"] em.done { color: #a85d16; }
.cs-cc-stack li > div { transition: transform .7s var(--cs-ease); transition-delay: calc(var(--i) * 120ms); }
.cs-motion .cs-cc:not(.ph1) .cs-cc-stack li > div { transform: scaleX(0); }
.cs-cc.ph2 .cs-cc-gov li.over .m i { background: var(--cs-warn); }
.cs-cc.ph2 .cs-cc-gov li.over em { color: #a85d16; }

@media (max-width: 1100px) {
	.cs-cc-body { grid-template-columns: minmax(0, 1fr) 260px; }
	.cs-cc-rail { grid-column: 1 / -1; grid-template-columns: repeat(4, minmax(0, 1fr)); border-right: 0; border-bottom: 1px solid var(--cs-line); }
	.cs-cc-clouds { display: none; }
}
@media (max-width: 767px) {
	.cs-cc-wrap { margin-top: 32px; }
	.cs-cc-bar { gap: 8px; padding: 0 10px; }
	.cs-cc-crumb, .cs-cc-sample { display: none; }
	.cs-cc-pause { margin-left: auto; }
	.cs-cc-body { grid-template-columns: 1fr; min-height: 0; }
	.cs-cc-rail { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; padding: 8px; }
	.cs-cc-rail button { grid-template-columns: 1fr; justify-items: center; gap: 4px; padding: 8px 2px; text-align: center; }
	.cs-cc-rail small { display: none; }
	.cs-cc-rail b { font-size: 12px; }
	.cs-cc-main { padding: 12px; }
	.cs-cc-chips { display: none; }
	.cs-cc-kpis, .cs-cc-kpis.k4 { grid-template-columns: 1fr 1fr; }
	.cs-cc-kpis b { font-size: 17px; }
	.cs-cc-tr { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) 76px; }
	.cs-cc-tr span:nth-child(3) { display: none; }
	.cs-cc-tl { grid-template-columns: 1fr 1fr; }
	.cs-cc-stack li { grid-template-columns: 1fr; gap: 4px; }
	.cs-cc-gov li { grid-template-columns: 1fr 1fr; } .cs-cc-gov .m { grid-column: 1 / -1; grid-row: 2; }
	.cs-cc-side { border-left: 0; border-top: 1px solid var(--cs-line); }
	.cs-cc-flow { grid-template-columns: 1fr 1fr; padding: 10px; }
	.cs-cc-band-l { display: none; }
	.cs-cc-flag { position: static; display: inline-block; margin-top: 6px; }
}.cs-home-hero--cc .cs-home-center { margin-left: auto !important; margin-right: auto !important; align-self: center !important; width: 100%; }
.cs-home-center .cs-kicker .elementor-heading-title { display: inline-block !important; padding: 6px 14px !important; border: 1px solid #DBECFF !important; border-radius: 999px !important; background: rgba(255, 255, 255, .85) !important; }
/* ==========================================================================
   16. Light-only homepage and site chrome: footer, CTA, pipeline, scroll story,
   LLMOps diagram, logo tiles. No dark surfaces.
   ========================================================================== */
/* Footer (site-wide) */
.cs-footer { background: #f6f9fd !important; color: #4a5d79 !important; border-top: 1px solid var(--cs-line); }
.cs-footer::before { display: none !important; }
.cs-footer-brand p, .cs-footer-news label, .cs-footer-news p { color: #5d6d84 !important; }
.cs-footer-col h4 { color: var(--cs-ink) !important; }
.cs-footer-col a, .cs-footer-bottom a { color: #4a5d79 !important; }
.cs-footer-col a:hover, .cs-footer-bottom a:hover { color: var(--cs-blue-dark) !important; }
.cs-footer-bottom { border-top-color: var(--cs-line) !important; color: #6b7b93 !important; }
.cs-social a { border-color: #d6e1ef !important; color: #4a5d79 !important; background: #fff; }
.cs-social a:hover { background: #E5F2FF !important; color: var(--cs-blue-dark) !important; }
.cs-footer-news input[type="email"] { background: #fff !important; border-color: #d6e1ef !important; color: var(--cs-ink) !important; }
.cs-footer-news input[type="email"]::placeholder { color: #8a9ab0 !important; }
.cs-footer .tnp-field label, .cs-footer .tnp-privacy-field, .cs-footer .tnp-privacy-field a { color: #5d6d84 !important; }

/* CTA panels (site-wide): light */
.cs-cta, .cs-post-cta { background: linear-gradient(135deg, #edf5ff 0%, #f7fbff 60%, #f1fbfa 100%) !important; border: 1px solid #d6e4f7; }
.cs-cta::after { border-color: rgba(27, 95, 196, .12) !important; box-shadow: 0 0 0 60px rgba(27, 95, 196, .03) !important; }
.cs-cta .elementor-heading-title { color: var(--cs-ink) !important; }
.cs-cta .cs-eyebrow .elementor-heading-title { color: var(--cs-blue-dark) !important; }
.cs-cta .elementor-widget-text-editor, .cs-cta p, .cs-post-cta, .cs-post-cta p { color: var(--cs-text) !important; }
.cs-post-cta h2, .cs-post-cta h3, .cs-post-cta b, .cs-post-cta strong { color: var(--cs-ink) !important; }
.cs-cta .cs-btn-light .elementor-button, .cs-post-cta .cs-btn--light { background: var(--cs-grad) !important; color: #fff !important; border-color: transparent !important; }
.cs-cta .cs-btn-light .elementor-button:hover { background: #123A87 !important; }
.cs-cta .cs-expect li { background: #fff !important; border-color: var(--cs-line) !important; color: var(--cs-text) !important; }
.cs-cta .cs-expect li b { color: var(--cs-ink) !important; }
.cs-cta .cs-expect li::before { color: var(--cs-blue-dark) !important; }

/* How-it-works pipeline: light */
.cs-pipeline { background: #fff !important; border: 1px solid var(--cs-line); color: var(--cs-text) !important; box-shadow: 0 24px 50px -28px rgba(27, 95, 196, .25); }
.cs-nodes::before { background: #dbe5f2 !important; }
.cs-motion .cs-pipeline.is-in .cs-nodes::after { background: var(--cs-grad) !important; box-shadow: 0 0 0 4px rgba(27, 95, 196, .15) !important; }
.cs-node .ring { background: #f1f6fd !important; border-color: #d6e1ef !important; color: var(--cs-blue-dark) !important; }
.cs-node.is-lit .ring, .cs-pipeline:not(.cs-reveal) .cs-node .ring { background: var(--cs-grad) !important; color: #fff !important; box-shadow: 0 0 0 6px rgba(27, 95, 196, .1) !important; }
.cs-node b { color: var(--cs-ink) !important; }
.cs-node span { color: #5d6d84 !important; }
.cs-node em { color: var(--cs-blue-dark) !important; }

/* Clouds strip with official logos */
.cs-cloudlogos { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 28px; }
.cs-cloudlogos span { display: inline-flex; align-items: center; gap: 10px; }
.cs-cloudlogos .cs-logo-img { height: 22px !important; width: auto !important; }
.cs-cloudlogos b { font-size: 15px; font-weight: 600; color: #23324b; }

/* Problem statement: key phrases light up on scroll (wrapped at runtime) */
mark.cs-hl { background: none; color: inherit; padding: 1px 6px; margin: 0 -2px; border: 1px solid transparent; border-radius: 6px; transition: background .5s var(--cs-ease), border-color .5s var(--cs-ease), color .5s; transition-delay: calc(var(--i, 0) * 180ms); }
.cs-hl-on mark.cs-hl { background: #EDF5FF; border-color: #bcd5f7; color: var(--cs-blue-dark); }

/* Platform scroll story */
.cs-story { align-items: start; }
.cs-story-list { gap: 0 !important; border-left: 2px solid #DBECFF; }
.cs-story-item { position: relative; padding: 26px 0 26px 26px !important; min-height: 34vh; justify-content: center; gap: 10px !important; opacity: .5; transition: opacity .45s var(--cs-ease); cursor: default; }
.cs-story-item::before { content: ''; position: absolute; left: -2px; top: 26px; bottom: 26px; width: 2px; background: var(--cs-grad); transform: scaleY(0); transform-origin: top; transition: transform .45s var(--cs-ease); }
.cs-story-item.is-on { opacity: 1; }
.cs-story-item.is-on::before { transform: scaleY(1); }
.cs-story-item .cs-h3 .elementor-heading-title { font-size: clamp(20px, 1.8vw, 24px); }
.cs-story-stage { position: sticky !important; top: 108px; }
.cs-story-panel { display: none; }
.cs-story-panel.is-on { display: block; animation: csStoryIn .5s var(--cs-ease); }
@keyframes csStoryIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.cs-story-panel .cs-figure { box-shadow: 0 24px 50px -28px rgba(27, 95, 196, .3); }
@media (max-width: 1024px) {
	.cs-story-stage { display: none !important; }
	.cs-story-item { min-height: 0; opacity: 1; padding: 18px 0 18px 20px !important; }
	.cs-story-item::before { transform: scaleY(1); opacity: .35; }
}

/* LLMOps & AI governance diagram */
.cs-llmops { padding: 18px 20px 16px; }
.cs-llm-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.2fr) minmax(0, .9fr); gap: 18px; align-items: center; }
.cs-llm-col, .cs-llm-core { display: grid; gap: 8px; position: relative; }
.cs-llm-app, .cs-llm-prov { position: relative; padding: 10px 12px; border: 1px solid var(--cs-line); border-radius: 10px; background: #fff; }
.cs-llm-app b, .cs-llm-prov b { display: block; font-size: 13px; font-weight: 600; color: var(--cs-ink); }
.cs-llm-app small, .cs-llm-prov small { font-size: 12px; color: #6b7b93; }
.cs-llm-app::after, .cs-llm-prov::before { content: ''; position: absolute; top: 50%; width: 18px; height: 1px; background: #9fb4d1; }
.cs-llm-app::after { right: -19px; } .cs-llm-prov::before { left: -19px; }
.cs-llm-prov .cs-meter { position: relative; height: 6px; margin: 6px 0 4px; border-radius: 3px; background: #E5F2FF; overflow: hidden; }
.cs-llm-prov .cs-meter i { position: absolute; left: 0; top: 0; bottom: 0; border-radius: 3px; background: #7a5af5; transform-origin: left; }
.cs-llm-core { padding: 12px; border: 1px solid #d9d1fb; border-radius: 12px; background: linear-gradient(180deg, #f7f5ff, #fff); }
.cs-llm-ctl { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 10px; border-radius: 8px; background: #fff; border: 1px solid #ece8fb; }
.cs-llm-ctl b { display: block; font-size: 13px; font-weight: 600; color: var(--cs-ink); }
.cs-llm-ctl small { font-size: 12px; color: #6b7b93; }
.cs-llm-gov { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin-top: 14px; padding: 10px 12px; border: 1px dashed #e9b98a; border-radius: 10px; background: #fffaf3; font-size: 13px; color: var(--cs-text); }
.cs-llm-gov b { color: var(--cs-ink); }
@media (max-width: 900px) { .cs-llm-grid { grid-template-columns: 1fr; } .cs-llm-app::after, .cs-llm-prov::before { display: none; } }

/* Integration logo tiles */
.cs-ltiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); gap: 8px; }
.cs-ltile { display: grid; justify-items: center; align-content: center; gap: 6px; min-height: 76px; padding: 10px 6px; border: 1px solid var(--cs-line); border-radius: 10px; background: #fff; text-align: center; }
.cs-ltile .cs-logo-img { height: 24px !important; width: auto !important; max-width: 84px; }
.cs-ltile small { font-size: 12px; color: #4a5d79; line-height: 1.2; }
/* Five clouds in FinOps views; Alibaba Cloud appears only in FinOps contexts */
.cs-cc:not([data-pillar="finops"]) .cs-cc-clouds .is-finops, .cs-cc:not([data-pillar="finops"]) .cs-cc-crumb .c5, .cs-cc[data-pillar="finops"] .cs-cc-crumb .c4 { display: none; }
.cs-cc-clouds .is-finops { display: inline-flex; }
.cs-cc-prov { list-style: none; margin: 0 0 12px; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
.cs-cc-prov li { position: relative; display: grid; gap: 4px; padding: 8px 10px 10px; border: 1px solid var(--cs-line); border-radius: 10px; overflow: hidden; }
.cs-cc-prov-l { display: flex; align-items: center; gap: 6px; min-width: 0; }
.cs-cc .cs-cc-prov .cs-logo-img { height: 16px !important; width: auto !important; flex: none; }
.cs-cc-prov small { font-size: 11.5px; color: #4a5d79; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cs-cc-prov b { font-size: 15px; font-weight: 600; color: var(--cs-ink); font-variant-numeric: tabular-nums; }
.cs-cc-prov i { position: absolute; left: 0; bottom: 0; height: 3px; background: #1746A2; border-radius: 0 2px 2px 0; transform-origin: left; transition: transform .7s var(--cs-ease); }
.cs-motion .cs-cc:not(.ph1) .cs-cc-prov i { transform: scaleX(0); }
.cs-fin-tag { margin-left: 6px; padding: 2px 6px; border-radius: 5px; background: #fff1e6; color: #b45309; font-style: normal; font-size: 11px; font-weight: 600; }
.cs-ltile .cs-fin-tag { margin: 0; }
@media (max-width: 767px) { .cs-cc-prov { grid-template-columns: repeat(3, minmax(0, 1fr)); } .cs-cc-prov small { display: none; } }.cs-cta .cs-text, .cs-cta .cs-text p { color: var(--cs-text) !important; }
.cs-llm-grid { grid-template-columns: minmax(0, .78fr) minmax(0, 1.44fr) minmax(0, .78fr); gap: 16px; }
.cs-llm-ctl { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
.cs-llm-ctl small { display: block; }
.cs-llm-app, .cs-llm-prov { padding: 9px 10px; }
.cs-story > .cs-story-stage { align-self: start !important; height: auto !important; }
.cs-story-item { opacity: .62; }

@media (max-width: 767px) { .cs-cc-kpis:not(.k4) { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; } .cs-cc-kpis:not(.k4) > div { padding: 8px; } .cs-cc-kpis:not(.k4) b { font-size: 15px; } .cs-cc-kpis small { font-size: 11px; line-height: 1.3; } }

/* ==========================================================================
   17. Homepage scroll scene (light): CloudScore core, cloud cables with data
   packets, a statement whose key phrases outline in sequence, and product
   cards that settle around the core. --p (0…1) comes from scroll progress.
   ========================================================================== */
.cs-scene-sec { background: linear-gradient(180deg, #F1F2F3 0%, #f3f8ff 100%); padding-top: 0 !important; padding-bottom: 0 !important; }
.cs-scene-sec > .e-con-inner { max-width: 1240px !important; }
.cs-scene { --p: 1; position: relative; }
.cs-scene-stage { position: relative; padding: 56px 0 40px; }
.cs-scene-text { max-width: 820px; margin: 0 0 24px !important; font-size: clamp(24px, 2.7vw, 38px); line-height: 1.45; font-weight: 500; letter-spacing: -.015em; color: var(--cs-ink); }
.cs-scene-text .w { color: var(--cs-ink); transition: color .35s var(--cs-ease); }
.cs-scene-text .w.key { padding: 0 .3em; margin: 0 -.06em; border: 1.5px solid transparent; border-radius: 999px; transition: color .35s, border-color .45s var(--cs-ease), background .45s var(--cs-ease); }
.cs-scene-text .w.key.is-on { border-color: #9cc2f7; background: #EDF5FF; color: var(--cs-blue-dark); }
.cs-scene-art { position: relative; width: 100%; aspect-ratio: 1200 / 640; container-type: size; }
.cs-scene-wires { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.cs-scene-wires .cable { stroke: #c9d8ec; stroke-width: 1.5; vector-effect: non-scaling-stroke; stroke-dasharray: 2 5; }
.cs-scene-badge { position: absolute; z-index: 2; display: grid; justify-items: center; gap: 6px; padding: 10px 12px; min-width: 96px; border: 1px solid var(--cs-line); border-radius: 12px; background: #fff; box-shadow: 0 10px 24px -14px rgba(16, 42, 84, .3); transform: translate(-50%, -50%); }
.cs-scene-badge .cs-logo-img { height: 22px !important; width: auto !important; }
.cs-scene-badge small { font-size: 12px; color: #4a5d79; white-space: nowrap; }
.cs-pkt { position: absolute; z-index: 1; width: 9px; height: 9px; margin: -4.5px 0 0 -4.5px; border-radius: 2px; background: #1746A2; box-shadow: 0 0 0 3px rgba(27, 95, 196, .15); opacity: 0; }
.cs-motion .cs-scene.is-live .cs-pkt { animation: csPkt 3.2s var(--cs-ease) var(--d) infinite; }
@keyframes csPkt { 0% { transform: translate(0, 0) rotate(45deg); opacity: 0; } 12% { opacity: 1; } 85% { opacity: 1; } 100% { transform: translate(var(--dx), var(--dy)) rotate(45deg); opacity: 0; } }
.cs-core { position: absolute; z-index: 2; left: 35%; top: 42%; width: 30%; transform: translateY(-50%) scale(calc(.84 + var(--p) * .16)); transform-origin: center; }
.cs-core-svg { display: block; width: 100%; height: auto; }
.cs-core-mark { position: absolute; left: 50%; top: 40%; width: 22% !important; height: auto !important; transform: translate(-50%, -50%); filter: drop-shadow(0 6px 12px rgba(27, 95, 196, .25)); }
.cs-core-glow { opacity: calc(.3 + var(--p) * .7); }
.cs-motion .cs-scene.is-live .cs-core-ring { animation: csCoreRing 2.6s var(--cs-ease) 2; transform-box: fill-box; transform-origin: center; }
@keyframes csCoreRing { 0% { transform: scale(1); opacity: .9; } 100% { transform: scale(1.25); opacity: 0; } }
.cs-scene-card { position: absolute; z-index: 3; display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 12px; width: 21%; min-width: 220px; padding: 14px; border: 1px solid var(--cs-line); border-top: 3px solid var(--c); border-radius: 14px; background: #fff; box-shadow: 0 24px 50px -26px rgba(16, 42, 84, .35); transition: opacity .6s var(--cs-ease), transform .7s var(--cs-ease); }
.cs-scene-card .ic { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 9px; background: color-mix(in srgb, var(--c) 12%, #fff); color: var(--c); }
.cs-scene-card .ic svg { width: 18px; height: 18px; }
.cs-scene-card small { display: block; font-size: 12px; font-weight: 600; color: var(--c); }
.cs-scene-card b { display: block; font-size: 13.5px; font-weight: 600; line-height: 1.35; color: var(--cs-ink); }
.cs-scene-card em { display: block; margin-top: 4px; font-style: normal; font-size: 22px; font-weight: 600; color: var(--cs-ink); font-variant-numeric: tabular-nums; }
.cs-scene-card span:not(.ic) { font-size: 12px; color: #6b7b93; }
.cs-scene-note { margin: 8px 0 0 !important; text-align: right; font-size: 12px; color: #8a9ab0; }

/* Pinned behaviour (desktop with motion): the section is tall, the stage sticks */
@media (min-width: 1025px) {
	.cs-motion .cs-scene.is-pin { height: 260vh; }
	.cs-motion .cs-scene.is-pin .cs-scene-stage { position: sticky; top: 76px; min-height: calc(100vh - 76px); display: flex; flex-direction: column; justify-content: center; padding: 28px 0 16px; }
	.cs-motion .cs-scene.is-pin .cs-scene-art { width: min(100%, calc((100vh - 330px) * 1.875)); margin: 0 auto; }
	.cs-motion .cs-scene.is-pin .cs-scene-text .w { color: #b4c2d4; }
	.cs-motion .cs-scene.is-pin .cs-scene-text .w.is-read { color: var(--cs-ink); }
	.cs-motion .cs-scene.is-pin .cs-scene-text .w.key.is-on { color: var(--cs-blue-dark); }
	.cs-motion .cs-scene.is-pin .cs-scene-card:not(.is-in) { opacity: 0; transform: translate(var(--from), 34px) rotate(calc(var(--from) / 12px * 1deg)) scale(.92); }
	.cs-motion .cs-scene.is-pin .cs-scene-badge, .cs-motion .cs-scene.is-pin .cs-scene-wires { transition: opacity .5s; }
	.cs-motion .cs-scene.is-pin:not(.is-wired) .cs-scene-badge, .cs-motion .cs-scene.is-pin:not(.is-wired) .cs-scene-wires { opacity: 0; }
}
/* Tablets and phones: no pinning; core, then cards in a grid */
@media (max-width: 1024px) {
	.cs-scene-text { font-size: clamp(22px, 4.6vw, 30px); }
	.cs-scene-art { aspect-ratio: auto; container-type: normal; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
	.cs-scene-wires, .cs-pkt { display: none; }
	.cs-scene-badge { position: static; transform: none; grid-auto-flow: column; justify-content: start; align-items: center; min-width: 0; }
	.cs-core { position: relative; left: auto; top: auto; grid-column: 1 / -1; width: min(420px, 80%); margin: 6px auto; transform: none; }
	.cs-scene-card { position: static; width: auto; min-width: 0; }
	.cs-scene-text .w.key { border-color: #9cc2f7; background: #EDF5FF; color: var(--cs-blue-dark); }
}
@media (max-width: 767px) { .cs-scene-art { grid-template-columns: 1fr; } .cs-scene-badge { display: inline-grid; } }

/* Control Center: views slide in like an app screen */
.cs-motion .cs-cc-view.is-on { animation: ccSlide .45s var(--cs-ease); }
@keyframes ccSlide { from { opacity: 0; transform: translateX(18px); } to { opacity: 1; transform: none; } }@media (max-width: 767px) {
	.cs-scene-stage { padding: 36px 0 28px; }
	.cs-scene-art { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
	.cs-scene-badge { display: inline-flex !important; gap: 6px; padding: 6px 9px; border-radius: 8px; box-shadow: none; }
	.cs-scene-badge .cs-logo-img { height: 16px !important; }
	.cs-scene-badge small { font-size: 11.5px; }
	.cs-core { width: 78%; margin: 4px auto 0; }
	.cs-scene-card { width: calc(50% - 4px); grid-template-columns: 1fr; gap: 6px; padding: 12px; }
	.cs-scene-card .ic { width: 30px; height: 30px; }
	.cs-scene-card b { font-size: 12.5px; }
	.cs-scene-card em { font-size: 18px; }
}
/* Scroll scene, larger: on desktop the art fills the pinned viewport and the statement overlays it */
.cs-scene-sec > .e-con-inner { max-width: 1440px !important; }
@media (min-width: 1025px) {
	.cs-scene-art { aspect-ratio: 1400 / 780; }
	.cs-scene .cs-scene-text { position: absolute; z-index: 4; left: 1.5%; top: 2%; width: 47%; max-width: none; margin: 0 !important; font-size: clamp(22px, 2.15vw, 34px); }
	.cs-core { left: 35%; top: 60%; width: 30%; }
	.cs-scene-card { width: 17%; min-width: 230px; padding: 16px; }
	.cs-scene-card em { font-size: 26px; }
	.cs-scene-card b { font-size: 14px; }
	.cs-scene-badge { min-width: 112px; padding: 12px 14px; }
	.cs-scene-badge .cs-logo-img { height: 26px !important; }
	.cs-scene-badge small { font-size: 12.5px; }
	.cs-pkt { width: 11px; height: 11px; margin: -5.5px 0 0 -5.5px; }
	.cs-motion .cs-scene.is-pin { height: 280vh; }
	.cs-motion .cs-scene.is-pin .cs-scene-stage { padding: 12px 0; }
	.cs-motion .cs-scene.is-pin .cs-scene-art { width: min(100%, calc((100vh - 100px) * 1.795)); }
	.cs-scene-note { position: absolute; right: 2%; bottom: 0; }
}
@media (max-width: 1024px) {
	.cs-scene .cs-scene-text { order: -1; width: 100%; }
	.cs-scene-art > .cs-scene-text { flex: 1 1 100%; grid-column: 1 / -1; }
}
@media (min-width: 1025px) { .cs-core { left: 33%; top: 55%; width: 34%; } }

@media (min-width: 1025px) {
	.cs-motion .cs-scene.is-pin .cs-scene-stage { justify-content: flex-start; padding: 14px 0 0; }
	.cs-motion .cs-scene.is-pin .cs-scene-art { width: min(100%, calc((100vh - 150px) * 1.795)); }
	.cs-scene-sec.e-con, .cs-scene-sec { --padding-top: 0px; --padding-bottom: 0px; }
}
@media (min-width: 768px) and (max-width: 1024px) {
	.cs-scene-art { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
	.cs-scene-badge { display: inline-flex !important; gap: 8px; padding: 8px 12px; box-shadow: none; }
	.cs-core { width: min(420px, 60%); }
	.cs-scene-card { width: calc(50% - 4px); }
}
@media (max-width: 1024px) { .cs-scene-art > .cs-core { width: min(420px, 78%); margin: 6px calc((100% - min(420px, 78%)) / 2) 2px !important; } }

/* Scroll scene in two phases (desktop, pinned): the statement first, alone and centred;
   then it gives way to the full-size animation. Text and animation never overlap. */
@media (min-width: 1025px) {
	.cs-motion .cs-scene.is-pin { height: 330vh; }
	.cs-motion .cs-scene.is-pin .cs-scene-text { left: 50%; top: 46%; width: 76%; transform: translate(-50%, -50%); text-align: center; font-size: clamp(30px, 3.3vw, 52px); line-height: 1.4; transition: opacity .5s var(--cs-ease), transform .6s var(--cs-ease); }
	.cs-motion .cs-scene.is-pin.is-art .cs-scene-text { opacity: 0; transform: translate(-50%, -62%); pointer-events: none; }
	.cs-motion .cs-scene.is-pin .cs-scene-art > :not(.cs-scene-text) { transition: opacity .6s var(--cs-ease), transform .7s var(--cs-ease); }
	.cs-motion .cs-scene.is-pin:not(.is-art) .cs-core { opacity: 0; transform: translateY(-46%) scale(.9); }
	.cs-motion .cs-scene.is-pin:not(.is-art) .cs-scene-badge, .cs-motion .cs-scene.is-pin:not(.is-art) .cs-scene-wires, .cs-motion .cs-scene.is-pin:not(.is-art) .cs-pkt { opacity: 0; }
	/* Without pinning (reduced motion), stack the statement above the art */
	.cs-scene:not(.is-pin) .cs-scene-text { position: static; width: 100%; max-width: 900px; margin: 0 auto 28px !important; text-align: center; }
	.cs-scene:not(.is-pin) .cs-scene-art { aspect-ratio: auto; height: auto; }
}@media (min-width: 1025px) {
	.cs-scene:not(.is-pin) .cs-scene-art { aspect-ratio: auto; container-type: normal; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
	.cs-scene:not(.is-pin) .cs-scene-text { flex: 1 1 100%; }
	.cs-scene:not(.is-pin) .cs-scene-wires, .cs-scene:not(.is-pin) .cs-pkt { display: none; }
	.cs-scene:not(.is-pin) .cs-scene-badge { position: static; transform: none; display: inline-flex; gap: 8px; min-width: 0; padding: 8px 12px; box-shadow: none; }
	.cs-scene:not(.is-pin) .cs-core { position: relative; left: auto; top: auto; width: min(460px, 40%); margin: 8px calc((100% - min(460px, 40%)) / 2); transform: none; }
	.cs-scene:not(.is-pin) .cs-scene-card { position: static; width: calc(25% - 8px); min-width: 0; }
}
@media (min-width: 1025px) { .cs-motion .cs-scene.is-pin:not(.is-art) .cs-pkt { visibility: hidden; } }

/* ==========================================================================
   18. Scroll scene, side by side (desktop): statement left, animation right,
   both on screen together. Fixed lanes inside the animation (badges on the
   edges, core centre, cards in the corners) and sizes in container units,
   so nothing overlaps at any screen size.
   ========================================================================== */
@media (min-width: 1025px) {
	.cs-scene-stage { display: grid !important; grid-template-columns: minmax(0, 33fr) minmax(0, 67fr); align-items: center; column-gap: 3%; }
	.cs-scene .cs-scene-text, .cs-motion .cs-scene.is-pin .cs-scene-text, .cs-motion .cs-scene.is-pin.is-art .cs-scene-text { position: static !important; left: auto; top: auto; width: auto; max-width: none; transform: none !important; opacity: 1 !important; text-align: left !important; margin: 0 !important; font-size: clamp(24px, 2.2vw, 38px); line-height: 1.45; pointer-events: auto; }
	.cs-scene-art, .cs-motion .cs-scene.is-pin .cs-scene-art { aspect-ratio: 1200 / 760; width: 100%; margin: 0; container-type: size; }
	.cs-motion .cs-scene.is-pin .cs-scene-art { width: min(100%, calc((100vh - 130px) * 1.579)); justify-self: center; }
	.cs-motion .cs-scene.is-pin { height: 260vh; }
	.cs-motion .cs-scene.is-pin .cs-scene-stage { justify-content: initial; padding: 12px 0; }
	/* Lanes */
	.cs-core, .cs-motion .cs-scene.is-pin:not(.is-art) .cs-core { left: 32%; top: 50%; width: 36%; opacity: 1; transform: translateY(-50%) scale(calc(.9 + var(--p) * .1)); }
	.cs-scene-badge { min-width: 0; width: 11.5cqw; padding: 1cqw .6cqw; gap: .5cqw; border-radius: 1.1cqw; }
	.cs-scene-badge .cs-logo-img { height: clamp(14px, 2.1cqw, 26px) !important; }
	.cs-scene-badge small { font-size: clamp(10px, 1.05cqw, 13px); }
	.cs-scene-card { width: 24cqw; min-width: 0; padding: 1.3cqw; gap: 1cqw; grid-template-columns: 3cqw minmax(0, 1fr); border-radius: 1.2cqw; }
	.cs-scene-card .ic { width: 3cqw; height: 3cqw; border-radius: .8cqw; }
	.cs-scene-card .ic svg { width: 1.6cqw; height: 1.6cqw; }
	.cs-scene-card small { font-size: clamp(10px, 1cqw, 12.5px); }
	.cs-scene-card b { font-size: clamp(11px, 1.2cqw, 15px); line-height: 1.3; }
	.cs-scene-card em { margin-top: .3cqw; font-size: clamp(16px, 2.3cqw, 30px); }
	.cs-scene-card span:not(.ic) { font-size: clamp(10px, 1cqw, 12.5px); }
	.cs-pkt { width: .9cqw; height: .9cqw; margin: -.45cqw 0 0 -.45cqw; }
	.cs-motion .cs-scene.is-pin .cs-scene-card:not(.is-in) { transform: translate(calc(var(--from) / 3), 24px) scale(.94); }
}@media (min-width: 1025px) {
	.cs-scene-card { width: 25cqw; padding: 1.2cqw 1.3cqw; }
	.cs-scene-card small { font-size: clamp(11.5px, 1.05cqw, 13px); }
	.cs-scene-card b { font-size: clamp(12.5px, 1.25cqw, 16px); }
	.cs-scene-card em { font-size: clamp(18px, 2.4cqw, 30px); }
	.cs-scene-card span:not(.ic) { font-size: clamp(11.5px, 1.05cqw, 13px); }
	.cs-scene-badge small { font-size: clamp(11px, 1.1cqw, 13px); }
	.cs-scene-card[data-card="0"], .cs-scene-card[data-card="1"] { top: 0 !important; }
	.cs-scene-card[data-card="2"], .cs-scene-card[data-card="3"] { top: auto !important; bottom: 0; }
	.cs-scene-card[data-card="0"], .cs-scene-card[data-card="2"] { left: 13.5% !important; }
	.cs-scene-card[data-card="1"], .cs-scene-card[data-card="3"] { left: 61.5% !important; }
}
@media (min-width: 1025px) and (max-width: 1400px) { .cs-core, .cs-motion .cs-scene.is-pin:not(.is-art) .cs-core { left: 35.5%; width: 29%; } }

@media (min-width: 1025px) and (max-width: 1199px) { .cs-core, .cs-motion .cs-scene.is-pin:not(.is-art) .cs-core { left: 38%; width: 24%; } }

@media (min-width: 1025px) and (max-width: 1199px) { .cs-scene-card[data-card="1"], .cs-scene-card[data-card="3"] { left: 63.5% !important; } .cs-scene-card[data-card="0"], .cs-scene-card[data-card="2"] { left: 12.5% !important; } .cs-scene-card { width: 24cqw; } }

@media (min-width: 1025px) { .cs-scene .cs-scene-text, .cs-motion .cs-scene.is-pin .cs-scene-text { padding-left: clamp(0px, calc((100vw - 1240px) / 2), 96px) !important; } }

/* Topology map and automatic tagging visuals */
.cs-topo-dot { display: inline-block; width: 8px; height: 8px; margin-right: 6px; border-radius: 50%; vertical-align: 0; }
.cs-fv-toolbar .cs-topo-scope { margin-left: auto; border: 0 !important; color: #6b7b93; }
.cs-fv-toolbar .cs-topo-scope b { color: var(--cs-ink); font-weight: 600; }
.cs-topo-partial { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin-top: 10px; padding: 9px 12px; border: 1px dashed #e9b98a; border-radius: 10px; background: #fffaf3; font-size: 13px; color: var(--cs-text); }
.cs-at-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px; align-items: start; }
.cs-at-tag { display: inline-block; padding: 2px 7px; border-radius: 5px; background: #E5F2FF; color: var(--cs-blue-dark); font-family: var(--cs-font-mono); font-size: 11.5px; }
.cs-at-root { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; padding: 10px 12px; border: 2px solid #1746A2; border-radius: 10px; background: #f3f8ff; }
.cs-at-root b, .cs-at-node b { font-size: 13px; font-weight: 600; color: var(--cs-ink); }
.cs-at-root small, .cs-at-node small { font-size: 12px; color: #6b7b93; }
.cs-at-tree { list-style: none; margin: 0; padding: 0 0 0 22px; border-left: 1.5px solid #c3d2e6; margin-left: 14px; }
.cs-at-tree li { position: relative; padding-top: 8px; }
.cs-at-tree li::before { content: ''; position: absolute; left: -22px; top: 28px; width: 20px; height: 1.5px; background: #c3d2e6; }
.cs-at-node { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; padding: 8px 10px; border: 1px solid var(--cs-line); border-radius: 10px; background: #fff; }
.cs-at-rel { width: 100%; font-size: 11.5px; color: #6b7b93; }
.cs-at-conf { margin-left: auto; font-size: 12px; font-weight: 600; color: #0e7a64; font-variant-numeric: tabular-nums; }
.cs-at-ignored { display: flex; flex-wrap: wrap; gap: 6px 8px; align-items: center; margin-top: 12px; font-size: 12.5px; color: #4a5d79; }
.cs-at-ignored b { width: 100%; color: var(--cs-ink); font-weight: 600; }
.cs-at-ignored span { padding: 3px 8px; border-radius: 6px; background: #F1F2F3; text-decoration: line-through; text-decoration-color: #9fb4d1; }
@media (max-width: 767px) { .cs-at-grid { grid-template-columns: 1fr; } .cs-fv-toolbar .cs-topo-scope { margin-left: 0; } }
/* Header: solid white so page content scrolling underneath never shows through the menu */
.cs-header { background: #ffffff !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; border-bottom: 1px solid var(--cs-line); }
.cs-header .cs-nav-trigger, .cs-header .cs-nav-link { color: #24364f !important; }
.cs-header .cs-nav-trigger:hover, .cs-header .cs-nav-trigger[aria-expanded="true"], .cs-header .cs-nav-link:hover { color: var(--cs-blue-dark) !important; }
/* Dynamic Reporting page */
.cs-rp-src { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 12px; padding-top: 10px; border-top: 1px dashed var(--cs-line); }
.cs-fv .cs-rp-src .cs-logo-img { height: 16px !important; }
.cs-rp-chip { display: inline-flex; align-items: center; padding: 2px 8px; border: 1px solid var(--cs-line); border-radius: 6px; background: #fff; font-size: 12px; font-weight: 600; color: #23324b; }
.cs-rp-mono { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 6px; background: #0b2140; color: #fff; font-size: 13px; font-weight: 700; }
.cs-rp-problem { align-items: start; }
.cs-rp-problems { border-top: 1px solid var(--cs-line); }
.cs-rp-problems > .cs-problem { padding: 18px 0 !important; }
.cs-rp-result p { margin: 4px 0 0 !important; padding: 12px 14px; border-left: 3px solid var(--cs-crit); border-radius: 0 8px 8px 0; background: #fdf3f2; color: var(--cs-text); }
.cs-rp-flow { display: grid; grid-template-columns: minmax(0, 1fr) 22px minmax(0, .8fr) 22px minmax(0, 1fr); gap: 8px; align-items: center; padding: 18px; }
.cs-rp-flow::before, .cs-rp-flow::after { display: none; }
.cs-rp-logos { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.cs-rp-flow .cs-logo-img { height: 18px !important; }
.cs-rp-arrow { height: 2px; background: #9fb4d1; position: relative; }
.cs-rp-arrow::after { content: ''; position: absolute; right: -2px; top: -4px; border: 5px solid transparent; border-left-color: #9fb4d1; }
.cs-rp-core { display: grid; gap: 6px; justify-items: center; padding: 16px 10px; border-radius: 12px; background: #EDF5FF; border: 1px solid #c9dcf6; text-align: center; }
.cs-rp-core b { font-size: 14px; font-weight: 600; color: var(--cs-ink); }
.cs-rp-core span { font-size: 12px; padding: 2px 8px; border-radius: 6px; background: #fff; color: #33445c; }
.cs-rp-out { display: grid; padding: 8px 10px; margin-bottom: 6px; border: 1px solid var(--cs-line); border-radius: 8px; background: #fff; }
.cs-rp-out b { font-size: 13px; font-weight: 600; color: var(--cs-ink); }
.cs-rp-out small { font-size: 12px; color: #6b7b93; }
.cs-rp-caps { margin: 20px 0; align-items: stretch; }
.cs-rp-card { padding: 22px !important; border: 1px solid var(--cs-line); border-radius: 12px; background: #fff; }
.cs-rp-platforms { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.cs-rp-ba { width: 100%; border-collapse: separate; border-spacing: 0; overflow: hidden; border: 1px solid var(--cs-line); border-radius: 12px; background: #fff; font-size: 15px; }
.cs-rp-ba th { padding: 14px 18px; text-align: left; font-size: 13px; font-weight: 600; color: #6b7b93; background: #F1F2F3; border-bottom: 1px solid var(--cs-line); }
.cs-rp-ba th:last-child { color: var(--cs-blue-dark); background: #EDF5FF; }
.cs-rp-ba td { padding: 14px 18px; border-bottom: 1px solid #edf2f8; color: #6b7b93; }
.cs-rp-ba td:last-child { color: var(--cs-ink); font-weight: 600; background: #F1F2F3; }
.cs-rp-ba tr:last-child td { border-bottom: 0; }
@media (max-width: 900px) { .cs-rp-flow { grid-template-columns: 1fr; } .cs-rp-arrow { width: 2px; height: 16px; justify-self: center; } .cs-rp-arrow::after { right: -4px; top: auto; bottom: -6px; border-left-color: transparent; border-top-color: #9fb4d1; } .cs-rp-platforms { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.cs-viz .cs-logo-img[src*="nebius"], .cs-ltile .cs-logo-img[src*="nebius"] { border-radius: 4px; }

/* AI Observability page */
.cs-ao-evidence { padding: 18px; }
.cs-ao-entity { display: grid; justify-items: center; gap: 2px; margin: 0 auto 16px; padding: 12px 18px; width: fit-content; border: 2px solid #d9822b; border-radius: 12px; background: #fffaf3; text-align: center; }
.cs-ao-entity small { font-size: 11.5px; font-weight: 600; color: #a85d16; }
.cs-ao-entity b { font-size: 16px; font-weight: 600; color: var(--cs-ink); }
.cs-ao-entity span { font-size: 12px; color: #6b7b93; }
.cs-ao-sigs { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.cs-ao-sig { display: grid; grid-template-columns: 34px minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 10px; padding: 12px; border: 1px solid var(--cs-line); border-top: 3px solid var(--c); border-radius: 10px; background: #fff; }
.cs-ao-sig .ic { grid-row: span 2; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 8px; background: color-mix(in srgb, var(--c) 12%, #fff); color: var(--c); }
.cs-ao-sig .ic svg { width: 17px; height: 17px; }
.cs-ao-sig b { font-size: 14px; font-weight: 600; color: var(--cs-ink); }
.cs-ao-sig small { font-size: 12.5px; line-height: 1.4; color: #4a5d79; }
.cs-ao-value p { border-left-color: var(--cs-ok) !important; background: #f1faf6 !important; }
.cs-ao-flow { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; counter-reset: ao; }
.cs-ao-flow li { position: relative; display: grid; gap: 6px; padding: 20px 18px; border: 1px solid var(--cs-line); border-radius: 12px; background: #fff; counter-increment: ao; }
.cs-ao-flow li::before { content: counter(ao, decimal-leading-zero); font-size: 13px; font-weight: 600; color: #d9822b; }
.cs-ao-flow li:not(:last-child)::after { content: ''; position: absolute; right: -12px; top: 50%; width: 10px; height: 2px; background: #9fb4d1; }
.cs-ao-flow b { font-size: 17px; font-weight: 600; color: var(--cs-ink); }
.cs-ao-flow span { font-size: 14px; line-height: 1.5; color: var(--cs-text); }
.cs-ao-tools { align-items: stretch; }
.cs-ao-tool { padding: 18px !important; border: 1px solid var(--cs-line); border-radius: 12px; background: #fff; }
.cs-ao-q p { margin: 0 !important; font-size: 14px; color: #23324b; }
.cs-ao-q em { font-style: normal; }
.cs-ao-run { padding: 18px; display: grid; gap: 12px; }
.cs-ao-agents { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.cs-ao-agents span { padding: 5px 10px; border: 1px solid var(--cs-line); border-radius: 999px; background: #fff; font-size: 12.5px; color: #33445c; }
.cs-ao-agents span.lead { background: #0b2140; border-color: #0b2140; color: #fff; }
.cs-ao-result { display: grid; gap: 10px; padding: 14px; border: 1px solid #f0c79e; border-radius: 12px; background: #fffaf3; }
.cs-ao-result small { display: block; font-size: 12px; color: #6b7b93; }
.cs-ao-result b { font-size: 14px; font-weight: 600; color: var(--cs-ink); }
.cs-ao-meta { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.cs-ao-meta span { padding: 8px 10px; border-radius: 8px; background: #fff; border: 1px solid #f4dcc0; }
.cs-ao-fix { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; padding-top: 10px; border-top: 1px dashed #f0c79e; font-size: 13px; color: #4a5d79; }
.cs-ao-note { margin: 0 !important; font-size: 12.5px; color: #6b7b93; }
.cs-ao-policy { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; counter-reset: ap; }
.cs-ao-policy li { display: grid; gap: 4px; padding: 14px; border: 1px solid var(--cs-line); border-radius: 12px; background: #fff; counter-increment: ap; }
.cs-ao-policy li::before { content: counter(ap); display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: #E5F2FF; color: var(--cs-blue-dark); font-size: 12px; font-weight: 600; }
.cs-ao-policy li.gate { border: 2px solid #d9822b; background: #fffaf3; }
.cs-ao-policy li.gate::before { background: #d9822b; color: #fff; }
.cs-ao-policy b { font-size: 15px; font-weight: 600; color: var(--cs-ink); }
.cs-ao-policy small { font-size: 13px; color: #4a5d79; }
.cs-ao-kill { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin-top: 12px; padding: 12px 14px; border: 1px dashed #c8473a; border-radius: 10px; background: #fdf3f2; font-size: 13.5px; color: var(--cs-text); }
.cs-ao-kill b { color: var(--cs-crit); font-weight: 600; }
.cs-ltile--text { background: #F1F2F3; }
.cs-ltile--text b { font-size: 12.5px; font-weight: 600; color: #23324b; line-height: 1.3; }
@media (max-width: 1024px) { .cs-ao-flow { grid-template-columns: 1fr 1fr; } .cs-ao-flow li::after { display: none; } }
@media (max-width: 767px) { .cs-ao-flow, .cs-ao-sigs, .cs-ao-policy, .cs-ao-meta { grid-template-columns: 1fr; } }
/* ==========================================================================
   19. Revamp (inspired by CloudZero and Finout), light and on-brand:
   monospace uppercase labels, highlighted headline words, hairline grids,
   isometric line-art, product cards, answers accordion, agents, quote, FAQ card.
   ========================================================================== */
/* Site-wide: labels and highlighted words */
.cs-eyebrow .elementor-heading-title, .cs-hz-label .elementor-heading-title { font-family: var(--cs-font-mono) !important; font-size: 12px !important; font-weight: 500 !important; letter-spacing: .1em !important; text-transform: uppercase !important; color: var(--cs-blue-dark) !important; }
.cs-kicker.cs-hz-kicker .elementor-heading-title { font-family: var(--cs-font-mono) !important; font-size: 12px !important; letter-spacing: .12em !important; text-transform: uppercase !important; font-weight: 500 !important; }
.cs-kicker.cs-hz-kicker .elementor-heading-title::before { display: none !important; }
.elementor-heading-title em, .cs-h2 .elementor-heading-title em, .cs-hz-h1 .elementor-heading-title em { font-style: normal !important; color: inherit !important; background: linear-gradient(transparent 10%, #DBECFF 10%, #DBECFF 94%, transparent 94%) !important; -webkit-background-clip: border-box !important; background-clip: border-box !important; padding: 0 .1em; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.cs-hz-h1 .elementor-heading-title { font-size: clamp(40px, 5.2vw, 70px) !important; line-height: 1.06 !important; letter-spacing: -.035em !important; font-weight: 700 !important; }

/* Hero */
.cs-hz-hero { position: relative; }
.cs-hz-decos { position: absolute !important; inset: 0; pointer-events: none; z-index: 0; }
.cs-hz-deco { position: absolute; top: 90px; width: 230px; height: auto; opacity: .55; }
.cs-hz-deco--left { left: -40px; } .cs-hz-deco--right { right: -40px; }
.cs-hz-hero .cs-home-center, .cs-hz-hero .cs-cc-wrap { position: relative; z-index: 1; }
@media (max-width: 1100px) { .cs-hz-deco { display: none; } }

/* Cloud logo grid (bordered cells) */
.cs-hz-band { background: #fff; border-top: 1px solid var(--cs-line); border-bottom: 1px solid var(--cs-line); }
.cs-hz-band > .e-con-inner { align-items: center; gap: 18px !important; }
.cs-hz-label .elementor-heading-title { text-align: center; color: #6b7b93 !important; }
.cs-hz-cloudgrid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border-left: 1px solid var(--cs-line); width: 100%; }
.cs-hz-cloudgrid span { display: grid; justify-items: center; gap: 8px; padding: 22px 10px; border-right: 1px solid var(--cs-line); }
.cs-hz-cloudgrid .cs-logo-img { height: 30px !important; width: auto !important; }
.cs-hz-cloudgrid small { font-size: 13px; color: #4a5d79; }

/* Why CloudScore pillars */
.cs-hz-sticky { position: sticky !important; top: 110px; align-self: start; }
.cs-hz-pillars { list-style: none; margin: 0; padding: 0; border: 1px solid var(--cs-line); border-radius: 14px; background: #fff; overflow: hidden; }
.cs-hz-pillars li { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 18px; align-items: start; padding: 24px 26px; border-bottom: 1px solid var(--cs-line); }
.cs-hz-pillars li:last-child { border-bottom: 0; }
.cs-hz-iso { width: 56px; height: 56px; }
.cs-hz-pillars b { display: block; font-size: 19px; font-weight: 600; color: var(--cs-ink); margin-bottom: 4px; }
.cs-hz-pillars p { margin: 0 !important; font-size: 15px; line-height: 1.6; color: var(--cs-text); }

/* Product cards */
.cs-hz-products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.cs-hz-product { display: grid; align-content: start; gap: 10px; padding: 24px 22px; border: 1px solid var(--cs-line); border-top: 3px solid var(--c); border-radius: 14px; background: #fff; text-decoration: none !important; color: inherit; transition: box-shadow .25s, border-color .25s, transform .25s; }
.cs-hz-product:hover { box-shadow: 0 18px 40px -22px rgba(16, 42, 84, .35); transform: translateY(-2px); }
.cs-hz-product .ic { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 10px; background: color-mix(in srgb, var(--c) 12%, #fff); color: var(--c); }
.cs-hz-product .ic svg { width: 20px; height: 20px; }
.cs-hz-product b { font-size: 19px; font-weight: 600; color: var(--cs-ink); }
.cs-hz-product p { margin: 0 !important; font-size: 15px; line-height: 1.5; color: var(--cs-text); }
.cs-hz-product ul { list-style: none; margin: 4px 0 0; padding: 12px 0 0; border-top: 1px dashed var(--cs-line); display: grid; gap: 6px; }
.cs-hz-product li { position: relative; padding-left: 16px; font-size: 13.5px; color: #4a5d79; }
.cs-hz-product li::before { content: ''; position: absolute; left: 0; top: 8px; width: 6px; height: 6px; border-radius: 2px; background: var(--c); }
.cs-hz-product em { margin-top: 6px; font-style: normal; font-family: var(--cs-font-mono); font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--cs-blue-dark); }

/* Answers accordion + visual */
.cs-hz-answers { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 40px; align-items: start; }
.cs-hz-acc { display: grid; border-top: 1px solid var(--cs-line); }
.cs-hz-acc-item { display: grid; grid-template-columns: 34px minmax(0, 1fr) 20px; gap: 12px; align-items: start; width: 100%; padding: 20px 4px; border: 0 !important; border-bottom: 1px solid var(--cs-line) !important; border-radius: 0 !important; background: none !important; text-align: left; cursor: pointer; color: inherit; font: inherit; box-shadow: none !important; }
.cs-hz-acc-item .n { font-family: var(--cs-font-mono); font-size: 13px; color: #9fb4d1; padding-top: 3px; }
.cs-hz-acc-item b { display: block; font-size: 19px; font-weight: 600; color: #6b7b93; transition: color .25s; }
.cs-hz-acc-item small { display: none; margin-top: 6px; font-size: 15px; line-height: 1.55; color: var(--cs-text); }
.cs-hz-acc-item i { font-style: normal; font-size: 20px; line-height: 1; color: #d9822b; transition: transform .25s; }
.cs-hz-acc-item.is-on b { color: var(--cs-ink); }
.cs-hz-acc-item.is-on .n { color: var(--cs-blue-dark); }
.cs-hz-acc-item.is-on small { display: block; }
.cs-hz-acc-item.is-on i { transform: rotate(45deg); }
.cs-hz-acc-item:focus-visible { outline: 2px solid var(--cs-blue); outline-offset: 2px; }
.cs-hz-accpanel { display: none; }
.cs-hz-accpanel.is-on { display: block; animation: csStoryIn .45s var(--cs-ease); }
.cs-hz-accvis { position: sticky; top: 110px; }

/* Agents */
.cs-hz-agents { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.cs-hz-agent { display: grid; align-content: start; gap: 6px; padding: 22px; border: 1px solid var(--cs-line); border-radius: 14px; background: #fff; }
.cs-hz-agent .ic { display: grid; place-items: center; width: 46px; height: 46px; margin-bottom: 6px; border-radius: 50%; background: color-mix(in srgb, var(--c) 13%, #fff); color: var(--c); }
.cs-hz-agent .ic svg { width: 22px; height: 22px; }
.cs-hz-agent b { font-size: 18px; font-weight: 600; color: var(--c); }
.cs-hz-agent small { font-family: var(--cs-font-mono); font-size: 11.5px; letter-spacing: .06em; text-transform: uppercase; color: #6b7b93; }
.cs-hz-agent p { margin: 6px 0 0 !important; font-size: 14.5px; line-height: 1.55; color: var(--cs-text); }
.cs-hz-agent blockquote { position: relative; margin: 10px 0 0; padding: 12px 14px 12px 34px; border: 1px solid var(--cs-line); border-radius: 10px; background: #F1F2F3; font-size: 13.5px; line-height: 1.5; color: #23324b; }
.cs-hz-agent blockquote::before { content: '“'; position: absolute; left: 12px; top: 6px; font-size: 26px; line-height: 1; color: var(--c); font-family: Georgia, serif; }

/* Integrations band (pale, light-only) */
.cs-hz-intband { background: linear-gradient(180deg, #EDF5FF 0%, #f6faff 100%); border-top: 1px solid #d6e4f7; border-bottom: 1px solid #d6e4f7; }
.cs-hz-intband > .e-con-inner { align-items: center; gap: 26px !important; }
.cs-hz-intband .cs-ltiles { width: 100%; grid-template-columns: repeat(6, minmax(0, 1fr)); }
.cs-hz-intband .cs-ltile { min-height: 92px; box-shadow: 0 6px 16px -12px rgba(16, 42, 84, .35); }

/* Quote */
.cs-hz-quote { position: relative; max-width: 980px; margin: 0 auto; padding: 8px 0; }
.cs-hz-quote .mark { display: block; font-family: Georgia, serif; font-size: 96px; line-height: .8; color: #d9822b; }
.cs-hz-quote blockquote { margin: 8px 0 22px; font-size: clamp(26px, 2.8vw, 40px); line-height: 1.3; font-weight: 600; letter-spacing: -.015em; color: var(--cs-ink); }
.cs-hz-quote mark { background: #d9822b; color: #fff; padding: 0 .15em; border-radius: 4px; }
.cs-hz-quote figcaption { display: grid; gap: 2px; font-size: 15px; }
.cs-hz-quote figcaption b { color: var(--cs-ink); font-weight: 600; }
.cs-hz-quote figcaption span { font-family: var(--cs-font-mono); font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: #6b7b93; }

/* FAQ card with an accent frame */
.cs-hz-faqsec > .e-con-inner { max-width: 1040px !important; }
.cs-hz-faq { position: relative; padding: 48px 56px !important; border: 1px solid var(--cs-line); border-radius: 22px; background: #fff; box-shadow: -14px 14px 0 0 #dbeafe, -14px 14px 0 1px #DBECFF; }
.cs-hz-faq-h .elementor-heading-title { text-align: center; font-size: clamp(34px, 4vw, 54px) !important; }

@media (max-width: 1024px) {
	.cs-hz-products, .cs-hz-agents { grid-template-columns: 1fr 1fr; }
	.cs-hz-answers { grid-template-columns: 1fr; }
	.cs-hz-accvis { position: static; }
	.cs-hz-intband .cs-ltiles { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.cs-hz-sticky { position: static !important; }
}
@media (max-width: 767px) {
	.cs-hz-products, .cs-hz-agents { grid-template-columns: 1fr; }
	.cs-hz-cloudgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--cs-line); }
	.cs-hz-cloudgrid span { border-bottom: 1px solid var(--cs-line); }
	.cs-hz-intband .cs-ltiles { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.cs-hz-pillars li { grid-template-columns: 44px minmax(0, 1fr); padding: 18px; }
	.cs-hz-iso { width: 40px; height: 40px; }
	.cs-hz-faq { padding: 28px 18px !important; box-shadow: -8px 8px 0 0 #dbeafe; }
}.cs-hz-intband .cs-btn-row { justify-content: center !important; width: 100%; }
.cs-hz-quote blockquote, .cs-hz-agent blockquote { font-style: normal !important; border-left: 0 !important; padding-left: 0; }
.cs-hz-agent blockquote { padding-left: 34px !important; border: 1px solid var(--cs-line) !important; }
.cs-hz-quote blockquote { padding: 0 !important; }
.cs-hz-faq .e-n-accordion-item-title-text, .cs-hz-faq .e-n-accordion-item-title { font-size: 18px !important; font-weight: 600 !important; }
.cs-hz-faq .e-n-accordion-item { border-bottom: 1px solid var(--cs-line) !important; padding: 6px 0; }
.cs-hz-faq .e-n-accordion-item-title { padding: 18px 4px !important; }
/* Platform constellation: four products */
.cs-constellation { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
@media (max-width: 767px) { .cs-constellation { grid-template-columns: 1fr 1fr !important; } }

/* Hero, CloudZero-style: short headline, rounded highlight, plain mono label */
.cs-hz-hero .cs-kicker.cs-hz-kicker .elementor-heading-title { border: 0 !important; background: none !important; padding: 0 !important; color: #5d6d84 !important; font-size: 13px !important; letter-spacing: .14em !important; }
.cs-hz-h1 .elementor-heading-title { font-size: clamp(44px, 6.2vw, 92px) !important; line-height: 1.04 !important; letter-spacing: -.045em !important; font-weight: 700 !important; max-width: 1080px; margin: 0 auto; }
.cs-hz-h1 .elementor-heading-title em { background: #DBECFF !important; border-radius: .16em; padding: 0 .14em !important; margin: 0 -.02em; }
.cs-hz-lead, .cs-hz-lead p { font-size: clamp(18px, 1.6vw, 22px) !important; color: #4a5d79 !important; }
.cs-hz-h1 .elementor-heading-title em { white-space: nowrap; }
@media (max-width: 767px) { .cs-hz-h1 .elementor-heading-title { font-size: clamp(38px, 11vw, 52px) !important; } .cs-hz-hero .cs-kicker.cs-hz-kicker .elementor-heading-title { font-size: 11px !important; letter-spacing: .1em !important; } }
@media (max-width: 767px) { .cs-hz-h1 .elementor-heading-title { line-height: 1.16 !important; } }

/* ==========================================================================
   20. Whole-site revamp (CloudZero / Finout inspired, light, on-brand).
   Typography, heroes, cards, tiles, steps, outcomes, FAQ, CTA, motion.
   ========================================================================== */
/* Typography */
.cs-h1 .elementor-heading-title { font-size: clamp(40px, 4.8vw, 68px) !important; line-height: 1.12 !important; letter-spacing: -.04em !important; font-weight: 700 !important; }
.cs-h2 .elementor-heading-title { font-size: clamp(30px, 3.2vw, 48px) !important; line-height: 1.1 !important; letter-spacing: -.03em !important; font-weight: 700 !important; }
.cs-h3 .elementor-heading-title { letter-spacing: -.01em; }
.cs-lead, .cs-lead p { font-size: clamp(17px, 1.35vw, 20px) !important; line-height: 1.6 !important; color: #4a5d79 !important; }
.cs-text, .cs-text p, .elementor-widget-text-editor { color: #4a5d79; }

/* Highlight: rounded box that wipes in */
.elementor .elementor-widget-heading .elementor-heading-title em { background: linear-gradient(transparent 14%, #DBECFF 14%, #DBECFF 94%, transparent 94%) 0 50% / 100% 100% no-repeat !important; -webkit-background-clip: border-box !important; background-clip: border-box !important; color: inherit !important; font-style: normal !important; border-radius: .16em; padding: 0 .12em !important; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.cs-motion .cs-reveal:not(.is-in) .elementor .elementor-widget-heading .elementor-heading-title em { background-size: 0% 100% !important; }
.cs-motion .elementor .elementor-widget-heading .elementor-heading-title em { transition: background-size .9s cubic-bezier(.2, .7, .2, 1) .25s; }
.cs-motion:not(.cs-ready) .cs-hero .elementor .elementor-widget-heading .elementor-heading-title em, .cs-motion:not(.cs-ready) .cs-hz-hero .elementor .elementor-widget-heading .elementor-heading-title em { background-size: 0% 100% !important; }

/* Inner heroes: soft wash, hairline grid, isometric line-art */
.cs-hero { position: relative; background: radial-gradient(900px 420px at 85% 0%, #E5F2FF 0, rgba(230, 240, 255, 0) 70%), linear-gradient(180deg, #EDF5FF 0%, #ffffff 100%) !important; border-bottom: 1px solid var(--cs-line); overflow: hidden; }
.cs-hero::after { content: ''; position: absolute; left: -30px; bottom: -40px; width: 260px; height: 220px; background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22260%22%20height%3D%22220%22%20viewBox%3D%220%200%20260%20220%22%20fill%3D%22none%22%20stroke-width%3D%221%22%3E%3Cg%20stroke%3D%22%239fb4d1%22%20opacity%3D%22.6%22%3E%3Cpath%20d%3D%22M60%2040l28%2016-28%2016-28-16z%22%20fill%3D%22%23fff%22%2F%3E%3Cpath%20d%3D%22M32%2056v32l28%2016V72z%22%20fill%3D%22%23EDF5FF%22%2F%3E%3Cpath%20d%3D%22M88%2056v32l-28%2016V72z%22%20fill%3D%22%23E5F2FF%22%2F%3E%3Cpath%20d%3D%22M118%2074l28%2016-28%2016-28-16z%22%20fill%3D%22%23fff%22%2F%3E%3Cpath%20d%3D%22M90%2090v32l28%2016v-32z%22%20fill%3D%22%23EDF5FF%22%2F%3E%3Cpath%20d%3D%22M146%2090v32l-28%2016v-32z%22%20fill%3D%22%23E5F2FF%22%2F%3E%3Cpath%20d%3D%22M60%20108l28%2016-28%2016-28-16z%22%20fill%3D%22%23fff%22%2F%3E%3Cpath%20d%3D%22M32%20124v32l28%2016v-32z%22%20fill%3D%22%23EDF5FF%22%2F%3E%3Cpath%20d%3D%22M88%20124v32l-28%2016v-32z%22%20fill%3D%22%23E5F2FF%22%2F%3E%3C%2Fg%3E%3Cg%20stroke%3D%22%231746A2%22%20opacity%3D%22.55%22%3E%3Cpath%20d%3D%22M176%20108l28%2016-28%2016-28-16z%22%20fill%3D%22%23fff%22%2F%3E%3Cpath%20d%3D%22M148%20124v32l28%2016v-32z%22%20fill%3D%22%23EDF5FF%22%2F%3E%3Cpath%20d%3D%22M204%20124v32l-28%2016v-32z%22%20fill%3D%22%23E5F2FF%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat; opacity: .7; pointer-events: none; }
.cs-hero > .e-con-inner { position: relative; z-index: 1; }
.cs-hero .cs-eyebrow .elementor-heading-title { color: #5d6d84 !important; }
.cs-crumbs { font-family: var(--cs-font-mono); font-size: 12px !important; letter-spacing: .06em; text-transform: uppercase; color: #8392aa; }
.cs-crumbs a { color: #5d6d84 !important; text-decoration: none; } .cs-crumbs strong { color: var(--cs-blue-dark); font-weight: 500; }
.cs-motion .cs-hero::after, .cs-motion .cs-hz-deco { animation: csFloat 7s ease-in-out 3 alternate; }
@keyframes csFloat { from { transform: translateY(0); } to { transform: translateY(-8px); } }

/* Section headings: big headline, quiet description */
.cs-headline { gap: 12px !important; }
.cs-headline .cs-text, .cs-headline .cs-text p { font-size: 17px !important; max-width: 720px; }
.cs-headline--center .cs-text, .cs-headline--center .cs-text p { margin-left: auto; margin-right: auto; }

/* Cards: hairline, flat, mono link */
.elementor-widget.cs-card { border-radius: 14px !important; box-shadow: none !important; padding: 28px !important; transition: border-color .25s, transform .25s, box-shadow .25s !important; }
.elementor-widget.cs-card:hover { border-color: #DBECFF !important; transform: translateY(-2px) !important; box-shadow: 0 18px 40px -26px rgba(16, 42, 84, .35) !important; }
.cs-card .elementor-icon { border-radius: 10px !important; }
.cs-card .elementor-icon-box-title { font-size: 19px !important; font-weight: 600 !important; letter-spacing: -.01em; }
.cs-card .elementor-icon-box-description { font-size: 15px !important; line-height: 1.6 !important; }
.cs-card.cs-link .elementor-icon-box-content::after { content: 'Learn more \2192' !important; font-family: var(--cs-font-mono); font-size: 12px !important; font-weight: 500 !important; letter-spacing: .08em; text-transform: uppercase; color: var(--cs-blue-dark) !important; }

/* Capability tiles: hairline list rows with a mono arrow */
.cs-tiles { gap: 0 !important; border-top: 1px solid var(--cs-line); }
.elementor-widget.cs-tile { border: 0 !important; border-bottom: 1px solid var(--cs-line) !important; border-radius: 0 !important; background: none !important; padding: 20px 36px 20px 4px !important; transform: none !important; }
.elementor-widget.cs-tile:hover { background: #EDF5FF !important; }
.elementor-widget.cs-tile::after { content: '\2192'; position: absolute; right: 10px; top: 50%; transform: translateY(-50%); font-family: var(--cs-font-mono); color: #9fb4d1; transition: color .2s, right .2s; }
.elementor-widget.cs-tile:hover::after { color: var(--cs-blue-dark); right: 6px; }
.cs-tile .elementor-icon-box-title { font-size: 16.5px !important; }
.cs-tile .elementor-icon-box-description { font-size: 14px !important; }

/* Steps: numbered with a progress rule */
.cs-steps { gap: 0 !important; border-top: 2px solid #DBECFF; }
.cs-step { position: relative; padding: 24px 22px 8px 0 !important; background: none !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
.cs-step::before { content: ''; position: absolute; left: 0; right: 14px; top: -2px; height: 2px; background: var(--cs-grad); transform: scaleX(0); transform-origin: left; transition: transform .6s var(--cs-ease); }
.cs-step.is-lit::before, .cs-steps.is-done .cs-step::before, html:not(.cs-motion) .cs-step::before { transform: scaleX(1); }
.cs-step-num .elementor-heading-title { font-family: var(--cs-font-mono) !important; font-size: 13px !important; font-weight: 500 !important; color: var(--cs-blue-dark) !important; background: none !important; padding: 0 !important; letter-spacing: .08em; }
.cs-step .elementor-widget-text-editor, .cs-step p { font-size: 15.5px; line-height: 1.55; color: var(--cs-ink); }

/* Outcomes: big mono numbers, hairline columns */
.cs-outcome { padding: 26px 24px 26px 0 !important; border: 0 !important; border-top: 1px solid var(--cs-line) !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; }
.cs-outcome .cs-eyebrow .elementor-heading-title { font-size: 28px !important; letter-spacing: 0 !important; color: #9fb4d1 !important; }
.cs-outcome p { font-size: 16px; line-height: 1.55; color: var(--cs-ink); }

/* Highlight panels */
.cs-highlight { background: #fff !important; border: 1px solid var(--cs-line) !important; border-left: 4px solid var(--cs-blue-dark) !important; border-radius: 12px !important; }

/* FAQ rows */
.cs-faq .e-n-accordion-item { border: 0 !important; border-bottom: 1px solid var(--cs-line) !important; border-radius: 0 !important; background: none !important; }
.cs-faq .e-n-accordion-item-title { padding: 20px 4px !important; background: none !important; }
.cs-faq .e-n-accordion-item-title-text { font-size: 17px !important; font-weight: 600 !important; color: var(--cs-ink) !important; }
.cs-faq .e-n-accordion-item-title-icon svg { fill: #d9822b !important; }

/* Buttons: arrow nudges on hover */
.elementor-button .elementor-button-icon, .cs-btn svg { transition: transform .2s var(--cs-ease); }
.elementor-button:hover .elementor-button-icon, .cs-btn:hover svg { transform: translateX(3px); }

/* CTA band: bigger headline */
.cs-cta .cs-h2 .elementor-heading-title { font-size: clamp(28px, 3vw, 44px) !important; }
@media (max-width: 767px) { .cs-hero::after { display: none; } .cs-step { padding-right: 0 !important; } }
/* 20b. Light-only: inner visual panels that were navy become tinted light surfaces. */
.cs-context, .cs-pask, .cs-io-core, .cs-capmap-goal, .cs-arch-core { background: #E5F2FF !important; border: 1px solid #DBECFF !important; color: #0b2140 !important; }
.cs-context b, .cs-io-core b, .cs-capmap-goal b, .cs-arch-core b, .cs-pask b { color: #0b2140 !important; }
.cs-context span, .cs-io-core span, .cs-arch-core span, .cs-pask span { background: #fff !important; color: #24406b !important; border: 1px solid #DBECFF; }
.cs-capmap-goal span, .cs-capmap-goal small, .cs-io-core small, .cs-arch-core small, .cs-pask small { color: #4a5d79 !important; }
.cs-fv-policy-head { background: #E5F2FF !important; color: #0b2140 !important; border-bottom: 1px solid #DBECFF; }

/* 20c. Split inner heroes: keep long headlines to three lines. */
.cs-hero .cs-h1 .elementor-heading-title { font-size: clamp(38px, 4.1vw, 60px) !important; }

/* 20d. Single-column mega panels (Platform): lay the links out two by two. */
@media (min-width: 1025px) {
  .cs-mega-cols:has(> .cs-mega-col:only-child) { display: block; }
  .cs-mega-col:only-child { display: grid; grid-template-columns: repeat(2, minmax(0, 340px)); gap: 4px 32px; align-content: start; }
  .cs-mega-col:only-child > h4 { grid-column: 1 / -1; }
}
/* ==========================================================================
   21. Product window + charts for inner-page dashboards (homepage untouched).
   ========================================================================== */
.cs-figure.cs-app { padding: 0 !important; border: 1px solid #DBECFF; border-radius: 14px; overflow: hidden; background: #fff; box-shadow: 0 1px 2px rgba(16, 42, 84, .06), 0 30px 60px -30px rgba(16, 42, 84, .34) !important; }
.cs-figure.cs-app::before, .cs-figure.cs-app::after { display: none; }
.cs-app-bar { display: flex; align-items: center; gap: 12px; height: 44px; padding: 0 14px; border-bottom: 1px solid #DBECFF; background: #F1F2F3; font-size: 12px; color: #5d6d84; }
.cs-app-brand { display: inline-flex; align-items: center; gap: 7px; flex: none; }
.cs-app-brand b { color: #0b2140; font-weight: 600; font-size: 12.5px; }
.cs-app-mark { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 6px; background: linear-gradient(135deg, #1746A2, #4f86d9); color: #fff; }
.cs-app-mark svg { width: 14px; height: 14px; }
.cs-app-crumb { display: inline-flex; gap: 6px; align-items: center; min-width: 0; padding-left: 12px; border-left: 1px solid #DBECFF; white-space: nowrap; overflow: hidden; }
.cs-app-crumb i { color: #b4c2d6; font-style: normal; }
.cs-app-crumb em { min-width: 0; overflow: hidden; text-overflow: ellipsis; font-style: normal; font-weight: 500; color: #0b2140; }
.cs-app-tools { display: inline-flex; align-items: center; gap: 8px; margin-left: auto; flex: none; }
.cs-app-search, .cs-app-date { display: inline-flex; align-items: center; gap: 6px; height: 26px; padding: 0 10px; border: 1px solid #DBECFF; border-radius: 7px; background: #fff; color: #6b7b93; }
.cs-app-search { min-width: 110px; }
.cs-app-bar .cs-ic { width: 13px; height: 13px; stroke-width: 2; }
.cs-app-av { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: #E5F2FF; color: #1746A2; }
.cs-app-av .cs-ic { width: 14px; height: 14px; }
.cs-app-body { display: grid; grid-template-columns: 48px minmax(0, 1fr); }
.cs-app-rail { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 12px 0; border-right: 1px solid #E5F2FF; background: #F1F2F3; }
.cs-app-rail i { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 8px; color: #8a9ab1; }
.cs-app-rail i.is-on { background: #E5F2FF; color: #1746A2; box-shadow: inset 0 0 0 1px #DBECFF; }
.cs-app-rail .cs-ic { width: 16px; height: 16px; }
.cs-app-main { min-width: 0; padding: 16px 18px 14px; }
.cs-figure-title.cs-app-head { align-items: center; margin-bottom: 12px; }
.cs-app-head b { font-size: 15.5px !important; letter-spacing: -.01em; }
.cs-app-tag { display: inline-flex; flex: none; padding: 3px 9px; border: 1px solid #DBECFF; border-radius: 999px; background: #fff; font-size: 11.5px; color: #5d6d84; }
.cs-app .cs-figure-title + .cs-pblock { padding-top: 0; }
.cs-app .cs-pblock { padding: 12px 0; }
.cs-app .cs-pblock--kpi { border-top: 0; padding-top: 0; }
.cs-app figcaption { margin-top: 10px; }

/* KPI tiles */
.cs-kpis2 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.cs-kpi2 { position: relative; min-width: 0; padding: 11px 12px 10px; border: 1px solid #DBECFF; border-radius: 10px; background: linear-gradient(180deg, #fff, #F1F2F3); }
.cs-kpi2 small { display: block; overflow: hidden; font-size: 11.5px; color: #6b7b93; white-space: nowrap; text-overflow: ellipsis; }
.cs-kpi2:has(.cs-kpi2-spark) small { padding-right: 48px; }
.cs-kpi2 b { display: block; margin-top: 4px; font-size: 21px; line-height: 1.15; font-weight: 650; letter-spacing: -.02em; color: #0b2140; font-variant-numeric: tabular-nums; white-space: nowrap; }
.cs-kpi2-spark { position: absolute; right: 10px; top: 9px; width: 44px; height: 16px; }
.cs-delta { display: block; margin-top: 3px; overflow: hidden; font-size: 11px; font-weight: 500; color: #6b7b93; white-space: nowrap; text-overflow: ellipsis; }
td .cs-delta { display: inline; }
.cs-delta--ok { color: #0e7a64; }
.cs-delta--warn { color: #b06a1f; }
.cs-delta--crit { color: #b23b30; }

/* Charts */
.cs-ch { display: block; width: 100%; height: auto; overflow: visible; }
.cs-ch-grid line { stroke: #E5F2FF; }
.cs-ch-grid text { fill: #8392aa; font-size: 10.5px; font-family: var(--cs-font-mono); }
.cs-ch-budget line { stroke: #c8473a; stroke-width: 1.2; stroke-dasharray: 4 4; }
.cs-ch-budget text { fill: #b23b30; font-size: 10.5px; font-weight: 600; }
.cs-ch-mark line { stroke: #d9822b; stroke-dasharray: 3 3; }
.cs-ch-mark text { fill: #a85d16; font-size: 10.5px; }
.cs-ch-legend { display: flex; flex-wrap: wrap; gap: 4px 14px; margin-top: 6px; font-size: 11.5px; color: #5d6d84; }
.cs-ch-legend i { display: inline-block; width: 8px; height: 8px; margin-right: 6px; border-radius: 2px; }
.cs-motion .cs-viz .cs-ch-plot { clip-path: inset(0 100% 0 0); transition: clip-path 1.5s cubic-bezier(.2, .7, .2, 1) .25s; }
.cs-motion .cs-viz.is-play .cs-ch-plot { clip-path: inset(0 0 0 0); }
.cs-motion .cs-viz .cs-ch-col { transform: scaleY(0); transform-box: fill-box; transform-origin: 50% 100%; transition: transform .7s cubic-bezier(.2, .7, .2, 1); transition-delay: calc(var(--i, 0) * 45ms + 200ms); }
.cs-motion .cs-viz.is-play .cs-ch-col { transform: none; }
.cs-motion .cs-viz .cs-ch-dot, .cs-motion .cs-viz .cs-ch-fill { opacity: 0; transition: opacity .6s ease 1.1s; }
.cs-motion .cs-viz.is-play .cs-ch-dot, .cs-motion .cs-viz.is-play .cs-ch-fill { opacity: 1; }

/* Tables */
.cs-pblock.cs-pblock--table { margin-top: 4px; padding: 0 !important; border: 1px solid #DBECFF !important; border-radius: 10px; overflow-x: auto; }
.cs-app-table { width: 100%; border-collapse: collapse; font-size: 12.5px; color: #23324b; }
.cs-app-table th { padding: 7px 10px; border-bottom: 1px solid #DBECFF; background: #F1F2F3; font-family: var(--cs-font-mono); font-size: 10.5px; font-weight: 500; letter-spacing: .06em; text-align: left; text-transform: uppercase; color: #8392aa; white-space: nowrap; }
.cs-app-table td { padding: 7px 10px; border-bottom: 1px solid #E5F2FF; vertical-align: middle; white-space: nowrap; }
.cs-app-table td:first-child { white-space: normal; }
.cs-app-table tr:last-child td { border-bottom: 0; }
.cs-app-table .r { text-align: right; font-variant-numeric: tabular-nums; }
.cs-app-table b { font-weight: 600; color: #0b2140; }
.cs-app-table .cs-lchip { padding: 0; border: 0; background: none; font-size: 12.5px; }
.cs-app-table .cs-logo-img { height: 16px !important; }
.cs-app-table .cs-st { font-size: 11px; padding: 3px 7px; }
.cs-share { display: inline-block; width: 64px; height: 6px; overflow: hidden; border-radius: 3px; background: #E5F2FF; vertical-align: middle; }
.cs-share i { display: block; height: 100%; border-radius: 3px; background: #1746A2; }
.cs-share i.violet { background: #7a5af5; }

@media (max-width: 1180px) { .cs-app-search { display: none; } }
@media (max-width: 640px) {
  .cs-app-body { grid-template-columns: minmax(0, 1fr); }
  .cs-app-rail, .cs-app-crumb, .cs-app-av { display: none; }
  .cs-app-main { padding: 14px 12px 12px; }
  .cs-kpis2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cs-kpis2 .cs-kpi2:nth-child(3) { grid-column: 1 / -1; }
}.cs-kpi2 svg.cs-kpi2-spark { position: absolute; right: 10px; top: 9px; width: 44px !important; height: 16px !important; min-width: 0 !important; }
.cs-app-table, .cs-app-table th, .cs-app-table td { border-left: 0 !important; border-right: 0 !important; border-top: 0 !important; }
.cs-app-table { margin: 0 !important; border: 0 !important; }.cs-fv-toolbar span.is-on { background: #1746A2 !important; border-color: #1746A2 !important; color: #fff !important; }
.cs-app .cs-pask { gap: 6px; padding: 12px 14px; border-radius: 10px; background: linear-gradient(180deg, #EDF5FF, #eef1fe) !important; border: 1px solid #d7dcfa !important; }
.cs-app .cs-pask span { display: block; padding: 8px 10px; border: 1px solid #dfe3fb !important; border-radius: 8px; background: #fff !important; font-size: 13px; color: #0b2140 !important; }
.cs-app .cs-pask em { font-style: normal; font-size: 11.5px; color: #4f5bd5 !important; }.cs-cellic { display: inline-grid; place-items: center; width: 24px; height: 24px; margin-right: 8px; border-radius: 6px; background: #E5F2FF; color: #1746A2; vertical-align: middle; }
.cs-cellic .cs-ic { width: 14px; height: 14px; }
.cs-app-table td:first-child b { vertical-align: middle; }
.cs-muted { color: #8392aa; }
.cs-st.cs-st--violet { background: #f1edfe; color: #5b3fd6; }
/* 21b. Light-only: the former dark platform panel becomes a light product panel. */
.cs-dark-panel { background: radial-gradient(700px 300px at 90% 0%, #E5F2FF 0, rgba(230, 240, 255, 0) 70%), #fff !important; border: 1px solid #DBECFF; box-shadow: 0 30px 60px -36px rgba(16, 42, 84, .3); }
.cs-dark-panel .elementor-heading-title { color: #0b2140 !important; }
.cs-dark-panel .elementor-widget-text-editor, .cs-dark-panel .cs-text, .cs-dark-panel .cs-text p, .cs-dark-panel p { color: #4a5d79 !important; }
.cs-dark-panel .cs-eyebrow .elementor-heading-title { color: #1746A2 !important; }
.cs-dark-panel .cs-pills span { background: #EDF5FF !important; border-color: #DBECFF !important; color: #24406b !important; }
.cs-dark-panel .cs-flowviz { background: #f5f8fd; border-color: #dbe6f4; }@media (max-width: 640px) {
  .cs-app-table--prov th:nth-child(3), .cs-app-table--prov td:nth-child(3) { display: none; }
  .cs-app-table th, .cs-app-table td { padding: 7px 8px; }
  .cs-app-table { font-size: 12px; }
}
/* 22. Ask Dex chat window */
.cs-dx-wrap { display: grid; grid-template-columns: 148px minmax(0, 1fr); gap: 14px; }
.cs-dx--compact .cs-dx-wrap { grid-template-columns: minmax(0, 1fr); }
.cs-dx-side { display: flex; flex-direction: column; gap: 6px; padding: 10px; border: 1px solid #DBECFF; border-radius: 10px; background: #F1F2F3; }
.cs-dx-new { display: block; padding: 7px 8px; border-radius: 7px; background: #1746A2; color: #fff; font-size: 12px; font-weight: 600; text-align: center; }
.cs-dx-k { margin: 6px 0 0 !important; font-family: var(--cs-font-mono); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; color: #8392aa; }
.cs-dx-recent { padding: 7px 8px; border-radius: 7px; font-size: 11.5px; line-height: 1.3; color: #4a5d79; }
.cs-dx-recent b { display: block; overflow: hidden; font-weight: 500; color: #23324b; white-space: nowrap; text-overflow: ellipsis; }
.cs-dx-recent small { font-size: 10.5px; color: #8392aa; }
.cs-dx-recent.is-on { background: #E5F2FF; box-shadow: inset 0 0 0 1px #DBECFF; }
.cs-dx-main { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.cs-dx-head { display: flex; align-items: center; gap: 10px; padding-bottom: 10px; border-bottom: 1px solid #E5F2FF; }
.cs-dx-head b { display: block; font-size: 13.5px; color: #0b2140; }
.cs-dx-head small { font-size: 11.5px; color: #6b7b93; }
.cs-dx-avatar { display: grid; place-items: center; flex: none; width: 30px; height: 30px; border-radius: 50%; background: linear-gradient(135deg, #4f5bd5, #1746A2); color: #fff; }
.cs-dx-avatar .cs-ic { width: 15px; height: 15px; }
.cs-dx-avatar.sm { display: inline-grid; width: 18px; height: 18px; margin-right: 6px; vertical-align: middle; }
.cs-dx-avatar.sm .cs-ic { width: 10px; height: 10px; }
.cs-dx-q { align-self: flex-end; max-width: 82%; padding: 9px 13px; border-radius: 14px 14px 4px 14px; background: #1746A2; color: #fff; font-size: 12.5px; line-height: 1.45; }
.cs-dx-a { padding: 12px 14px; border: 1px solid #DBECFF; border-radius: 12px; background: #fff; font-size: 12.5px; line-height: 1.55; color: #23324b; }
.cs-dx-a p { margin: 0 0 8px !important; }
.cs-dx-a b { color: #0b2140; font-weight: 600; }
.cs-dx-who { font-size: 11px !important; font-weight: 600; color: #4f5bd5; }
.cs-dx-h { margin: 10px 0 4px !important; font-weight: 600; color: #0b2140; }
.cs-dx-a ul { margin: 0 0 8px; padding-left: 16px; }
.cs-dx-a li { margin: 2px 0; }
.cs-dx-chart { margin-top: 8px; padding: 10px 10px 4px; border: 1px solid #E5F2FF; border-radius: 10px; background: #F1F2F3; }
.cs-dx-chart-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 4px; font-size: 12px; }
.cs-dx-toggle { display: inline-flex; gap: 4px; }
.cs-dx-toggle i { padding: 2px 8px; border: 1px solid #DBECFF; border-radius: 6px; background: #fff; font-style: normal; font-size: 10.5px; color: #6b7b93; }
.cs-dx-toggle i.is-on { border-color: #DBECFF; background: #E5F2FF; color: #1746A2; }
.cs-dx-acts { display: flex; gap: 8px; margin-top: 8px; }
.cs-dx-acts span { display: inline-flex; align-items: center; gap: 5px; padding: 3px 8px; border: 1px solid #DBECFF; border-radius: 6px; font-size: 11px; color: #5d6d84; }
.cs-dx-acts .cs-ic { width: 12px; height: 12px; }
.cs-dx-follow { display: flex; flex-wrap: wrap; gap: 6px; }
.cs-dx-follow span { padding: 5px 10px; border: 1px solid #DBECFF; border-radius: 999px; background: #EDF5FF; font-size: 11.5px; color: #1746A2; }
.cs-dx-input { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 6px 6px 6px 14px; border: 1px solid #DBECFF; border-radius: 999px; background: #fff; font-size: 12px; color: #8392aa; box-shadow: 0 6px 16px -12px rgba(16, 42, 84, .4); }
.cs-dx-input i { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: #1746A2; color: #fff; }
.cs-dx-input .cs-ic { width: 14px; height: 14px; }
.cs-dx-examples { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 12px; }
.cs-dx-examples span { display: flex; align-items: center; gap: 10px; padding: 16px 18px; border: 1px solid var(--cs-line); border-radius: 12px; background: #fff; font-size: 15px; color: var(--cs-ink); transition: border-color .2s, transform .2s; }
.cs-dx-examples span:hover { border-color: #DBECFF; transform: translateY(-2px); }
.cs-dx-examples .cs-ic { color: #4f5bd5; }
.cs-dx-setting { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 0; border-top: 1px solid #E5F2FF; }
.cs-dx-setting:first-of-type { border-top: 0; }
.cs-dx-setting b { display: block; font-size: 13.5px; color: #0b2140; }
.cs-dx-setting small { font-size: 12px; color: #6b7b93; }
.cs-dx-switch { position: relative; flex: none; width: 38px; height: 22px; border-radius: 999px; background: #c9d6e8; }
.cs-dx-switch::after { content: ''; position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%; background: #fff; box-shadow: 0 1px 2px rgba(0, 0, 0, .2); transition: left .3s; }
.cs-dx-switch.is-on { background: #1746A2; }
.cs-dx-switch.is-on::after { left: 19px; }
@media (max-width: 640px) { .cs-dx-wrap { grid-template-columns: minmax(0, 1fr); } .cs-dx-side { display: none; } }
/* 22b. Light-only code and log panels (GitHub-light style). */
.cs-fv-code { border-color: #DBECFF !important; background: #F1F2F3 !important; }
.cs-fv-code-head { background: #F1F2F3 !important; color: #4a5d79 !important; border-bottom: 1px solid #DBECFF; }
.cs-fv-code pre { color: #23324b !important; }
.cs-fv-code pre span i { color: #9fb0c6 !important; }
.cs-fv-code pre span.del { background: #fdecea !important; color: #9b2c22 !important; }
.cs-fv-code pre span.add { background: #e3f6ef !important; color: #0e6b57 !important; }
.cs-fv-logs pre { background: #F1F2F3 !important; color: #23324b !important; border: 1px solid #DBECFF !important; }
.cs-fv-logs pre .w { color: #a85d16 !important; }
.cs-fv-logs pre .e { color: #b23b30 !important; }.cs-dx-bars { display: grid; gap: 6px; margin: 4px 0 6px; padding: 0; list-style: none; }
.cs-dx-bars li { display: grid; grid-template-columns: 74px minmax(0, 1fr) 52px; align-items: center; gap: 8px; margin: 0 !important; font-size: 11.5px; color: #4a5d79; }
.cs-dx-bars .cs-meter { position: relative; height: 8px; border-radius: 4px; background: #E5F2FF; overflow: hidden; }
.cs-dx-bars .cs-meter i { position: absolute; left: 0; top: 0; bottom: 0; border-radius: 4px; background: linear-gradient(90deg, #4f86d9, #1746A2); transform-origin: left center; }
.cs-dx-bars b { text-align: right; font-variant-numeric: tabular-nums; }.cs-app--dex .cs-app-main { padding: 14px; }
.cs-app--dex .cs-app-crumb em { color: #1746A2; font-weight: 600; }
.cs-dx-none { margin: 2px 0 0 !important; font-size: 11.5px; color: #8392aa; }
.cs-dx-start { display: grid; justify-items: center; gap: 4px; padding: 18px 0 6px; text-align: center; }
.cs-dx-start b { font-size: 17px; color: #0b2140; letter-spacing: -.01em; }
.cs-dx-start small { font-size: 12.5px; color: #6b7b93; }
.cs-dx-spark { display: grid; place-items: center; width: 44px; height: 44px; margin-bottom: 6px; border-radius: 50%; background: #E5F2FF; color: #1746A2; }
.cs-dx-spark .cs-ic { width: 20px; height: 20px; }
.cs-dx-sugg { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 6px 0 4px; }
.cs-dx-sugg span { display: grid; place-items: center; min-height: 52px; padding: 10px 12px; border: 1px solid #DBECFF; border-radius: 10px; background: #fff; font-size: 12.5px; line-height: 1.35; text-align: center; color: #23324b; transition: border-color .2s, box-shadow .2s; }
.cs-dx-sugg span:hover { border-color: #DBECFF; box-shadow: 0 8px 18px -14px rgba(16, 42, 84, .4); }
.cs-dx-empty { max-width: 920px; margin: 0 auto; }
@media (max-width: 640px) { .cs-dx-sugg { grid-template-columns: minmax(0, 1fr); } }
/* 23. Answers accordion autoplay progress */
.cs-hz-acc-item { position: relative; }
.cs-hz-prog { position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; overflow: hidden; pointer-events: none; }
.cs-hz-prog i { display: block; height: 100%; background: linear-gradient(90deg, #1746A2, #4f86d9); transform: scaleX(0); transform-origin: left center; }
.cs-hz-acc-item.is-on .cs-hz-prog { background: #DBECFF; }
.cs-hz-acc-item.is-run .cs-hz-prog i { animation: csAccProg var(--cs-acc-dur, 6500ms) linear forwards; }
@keyframes csAccProg { to { transform: scaleX(1); } }
.cs-hz-prog { height: 3px; bottom: -2px; border-radius: 2px; }

/* ==========================================================================
   24. Brand palette: #FFFFFF and #EDF5FF as the main surfaces; #1746A2 brand;
   #DBECFF / #E5F2FF tints; #F1F2F3 neutral.
   ========================================================================== */
:root { --cs-blue: #1746A2; --cs-blue-dark: #1746A2; --cs-grad: #1746A2; --cs-soft: #EDF5FF; --cs-tint: #EDF5FF; --cs-sky: #E5F2FF; --cs-line: #DBECFF; --cs-brand-hover: #123A87; }
body, .cs-header { background-color: #FFFFFF; }
.cs-header { border-bottom-color: #DBECFF !important; }
.cs-sec--soft, .e-con.cs-sec--soft { background: #EDF5FF !important; }
.cs-hero { background: radial-gradient(900px 420px at 85% 0%, #DBECFF 0, rgba(219, 236, 255, 0) 70%), linear-gradient(180deg, #EDF5FF 0%, #FFFFFF 100%) !important; border-bottom-color: #DBECFF; }
.cs-footer { background: #EDF5FF !important; border-top: 1px solid #DBECFF; }
.elementor-heading-title em, .elementor .elementor-widget-heading .elementor-heading-title em { --cs-hl: #DBECFF; }
.elementor .elementor-widget-heading .elementor-heading-title em { background-image: linear-gradient(transparent 14%, #DBECFF 14%, #DBECFF 94%, transparent 94%) !important; }
a { color: #1746A2; }
.cs-btn--primary, .cs-btn-primary .elementor-button, .elementor-button.elementor-size-sm:not(.cs-ghost), .cs-cta .elementor-button { background-color: #1746A2; }
.cs-btn--primary:hover, .cs-btn-primary .elementor-button:hover, .cs-cta .elementor-button:hover { background-color: #123A87 !important; }
.cs-btn-outline .elementor-button, .cs-btn--outline { border-color: #DBECFF !important; color: #1746A2 !important; }
.cs-btn-outline .elementor-button:hover, .cs-btn--outline:hover { background: #EDF5FF !important; border-color: #1746A2 !important; }
.elementor-widget.cs-card, .elementor-widget.cs-tile, .cs-kpi2, .cs-figure, .cs-pblock.cs-pblock--table, .cs-dx-a, .cs-dx-examples span, .cs-dx-sugg span { border-color: #DBECFF !important; }
.elementor-widget.cs-card:hover { border-color: #1746A2 !important; }
.cs-card .elementor-icon, .cs-cellic, .cs-app-av, .cs-dx-spark { background: #E5F2FF !important; color: #1746A2 !important; }
.cs-app-bar, .cs-app-rail, .cs-app-table th, .cs-dx-side, .cs-dx-chart { background: #F1F2F3 !important; }
.cs-app-rail i.is-on, .cs-dx-recent.is-on { background: #DBECFF !important; color: #1746A2; box-shadow: none; }
.cs-crumbs strong, .cs-eyebrow .elementor-heading-title { color: #1746A2; }
.cs-faq .e-n-accordion-item-title-icon svg, .cs-hz-acc-item i { fill: #1746A2 !important; color: #1746A2 !important; }
.cs-st { background: #E5F2FF; color: #1746A2; }
.cs-meter, .cs-share, .cs-panel .cs-meter, .cs-dx-bars .cs-meter { background: #E5F2FF !important; }
.cs-hz-acc-item.is-on .cs-hz-prog { background: #DBECFF; }
.cs-hz-prog i, .cs-dx-bars .cs-meter i { background: #1746A2 !important; }
.cs-mega { border-top-color: #DBECFF !important; }
.cs-mega-intro { background: #EDF5FF !important; border-color: #DBECFF !important; }
.cs-pills span, .cs-tags span, .cs-pchips span { background: #EDF5FF !important; border-color: #DBECFF !important; color: #1746A2 !important; }
.cs-home-hero, .e-con.cs-home-hero { background: radial-gradient(1200px 520px at 50% -8%, #DBECFF 0, rgba(219, 236, 255, 0) 70%), linear-gradient(180deg, #EDF5FF 0%, #FFFFFF 100%) !important; }


/* ---------- Calm headings, like the homepage hero (2026-11-06) ----------
   Accent words in headings: brand blue text, no highlight box behind them.
   Labels above headings: a small white pill in the body face, sentence case (no spaced monospace capitals).
   Breadcrumbs: body face, normal case. */
.elementor .elementor-widget-heading .elementor-heading-title em,
.elementor-heading-title em, .cs-h1 .elementor-heading-title em, .cs-h2 .elementor-heading-title em,
.cs-home-h1 .elementor-heading-title em, .cs-hz-h1 .elementor-heading-title em,
.cs-motion .cs-reveal:not(.is-in) .elementor .elementor-widget-heading .elementor-heading-title em,
.cs-motion:not(.cs-ready) .cs-hero .elementor .elementor-widget-heading .elementor-heading-title em,
.cs-motion:not(.cs-ready) .cs-hz-hero .elementor .elementor-widget-heading .elementor-heading-title em {
	background: none !important; background-image: none !important; -webkit-background-clip: border-box !important; background-clip: border-box !important;
	color: #1746A2 !important; -webkit-text-fill-color: #1746A2 !important; padding: 0 !important; margin: 0 !important; border-radius: 0 !important; transition: none !important; white-space: normal !important; font-style: normal !important;
}
.cs-eyebrow:not(.cs-outcome .cs-eyebrow) .elementor-heading-title, .cs-hz-label .elementor-heading-title, .cs-hero .cs-eyebrow .elementor-heading-title, .cs-dark-panel .cs-eyebrow .elementor-heading-title, .cs-cta .cs-eyebrow .elementor-heading-title {
	display: inline-block; font-family: var(--cs-font) !important; font-size: 13px !important; font-weight: 600 !important; line-height: 1 !important;
	letter-spacing: 0 !important; text-transform: none !important; color: #1746A2 !important;
	background: #fff; border: 1px solid #DBECFF; border-radius: 999px; padding: 9px 14px !important;
}
p.cs-eyebrow, .cs-eyebrow-txt { font-family: var(--cs-font) !important; letter-spacing: 0 !important; text-transform: none !important; color: #1746A2 !important; }
.cs-crumbs { font-family: var(--cs-font) !important; font-size: 13px !important; letter-spacing: 0 !important; text-transform: none !important; }
/* Page heroes: plain white like the homepage hero (no blue wash, no cube sketch) */
.cs-hero, .cs-hz-hero { background: #fff !important; }
.cs-hero::before, .cs-hero::after, .cs-motion .cs-hero::after { display: none !important; }
}
