/*
 * Shared module library (template-parts/modules/ss_*.php).
 * Builds on base.css tokens and components; every class here is .ss-core-*
 * or a scoped tweak of a base class inside a module.
 */

/* ---------- shared bits ---------- */
.ss-core--flush-top { padding-top: 0; }
.ss-core-note { margin: 24px 0 0; font-size: 14px; color: var(--vm-muted); }
.ss-core-note--center { text-align: center; }
.ss-section--dark .ss-core-note { color: #a9b8d4; }
.ss-core-empty { max-width: 560px; margin: 0 auto; padding: 28px 24px; border-radius: var(--vm-radius-lg); border: 1px dashed #c8dbf4; background: #fff; text-align: center; color: var(--vm-muted); }
.ss-section--dark .ss-core-empty { background: rgba(255, 255, 255, .04); border-color: var(--vm-line-dark); color: #a9b8d4; }
.ss-core-stretch { color: inherit; text-decoration: none !important; }
.ss-core-stretch::after { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: inherit; }
.ss-core-stretch:focus-visible { outline: none; }
.ss-core-stretch:focus-visible::after { outline: 2px solid var(--vm-orange); outline-offset: 3px; }
.ss-core-arrow { display: inline-block; width: 8px; height: 8px; margin-left: 8px; border-top: 2px solid currentColor; border-right: 2px solid currentColor; transform: rotate(45deg); transition: transform .2s var(--vm-ease); }
a:hover > .ss-core-arrow { transform: translateX(3px) rotate(45deg); }
.ss-core-media { position: relative; }
.ss-core-media img { width: 100%; height: auto; }
.ss-core-media--art .ss-art-todo { min-height: 300px; }
.ss-section--dark .ss-checklist--dark li::before, .ss-card--dark .ss-checklist li::before { border-color: #6fd07a; }
.ss-btn-row--center { justify-content: center; }
.ss-section--dark .ss-head__text { color: var(--vm-on-dark); }

/* ---------- ss_hero ---------- */
.ss-core-hero .ss-hero__copy { min-width: 0; }
.ss-core-hero--tight { padding-bottom: 56px; }
.ss-core-hero--center .ss-hero__inner { grid-template-columns: minmax(0, 1fr); max-width: 940px; margin: 0 auto; text-align: center; }
.ss-core-hero--center .ss-hero__text { margin-left: auto; margin-right: auto; }
.ss-core-hero--center .ss-btn-row, .ss-core-hero--center .ss-crumbs, .ss-core-hero--center .ss-core-hero__stats { justify-content: center; }
.ss-core-hero--center .ss-core-hero__logo { margin-left: auto; margin-right: auto; }
.ss-core-crumbs { margin-bottom: 18px; }
.ss-core-crumbs .ss-crumbs { margin: 0; }
.ss-core-crumbs [aria-current] { color: #e4ecfa; }
.ss-core-hero__logo { display: inline-flex; align-items: center; max-width: 320px; margin-bottom: 20px; padding: 12px 18px; border-radius: var(--vm-radius); background: rgba(255, 255, 255, .95); box-shadow: 0 10px 30px rgba(7, 21, 51, .25); }
.ss-core-hero__logo img { width: auto; max-width: 100%; max-height: 56px; }
.ss-core-hero__badge { margin: 0 0 14px; }
.ss-core-hero__tagline { margin-top: 14px; color: #fff; font-size: 16px; }
.ss-hero__text p + p { margin-top: 1em; }
.ss-core-hero__stats { display: flex; flex-wrap: wrap; gap: 14px; list-style: none; margin: 32px 0 0; padding: 0; }
.ss-core-hero__stats li { min-width: 130px; padding: 14px 18px; border-radius: var(--vm-radius); border: 1px solid rgba(98, 150, 235, .4); background: rgba(10, 31, 71, .45); }
.ss-core-hero__stat-value { display: block; font-family: var(--vm-font-head); font-size: 28px; font-weight: 500; line-height: 1.1; color: #fff; }
.ss-core-hero__stat-label { display: block; margin-top: 4px; font-family: var(--vm-font-head); font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--vm-orange); }
.ss-core-hero__media { position: relative; }
.ss-core-hero__media .ss-media img { margin: 0 auto; max-height: 640px; width: auto; max-width: 100%; }
.ss-core-hero .ss-art-todo { min-height: 360px; }
.ss-core-promo__label { display: inline-block; padding: 3px 10px; border-radius: 999px; background: rgba(63, 174, 73, .16); color: #7fd28a; font-family: var(--vm-font-head); font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.ss-core-promo .ss-promo__meta { margin: 0; }
.ss-core-promo .ss-promo__title { margin: 8px 0 4px; font-size: clamp(15px, 1.4vw, 17px); }
.ss-core-promo .ss-promo__link { flex: 0 0 auto; color: #8bbcff; text-decoration: none; }
.ss-core-promo .ss-promo__link:hover { color: #fff; }
/* Hero webinar strip: the whole strip is the link. A slow light sweep and a pulsing play
   button draw the eye at rest; on hover it lifts, the border lights blue-to-orange and the
   play button grows. */
.ss-core-promo { position: relative; overflow: hidden; isolation: isolate; transition: transform .4s var(--vm-ease), border-color .4s var(--vm-ease), box-shadow .4s var(--vm-ease), background .4s var(--vm-ease); }
.ss-core-promo::before { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: -40%; width: 40%; background: linear-gradient(100deg, transparent, rgba(127, 176, 255, .16), transparent); transform: skewX(-18deg); animation: ss-promo-sweep 6.5s var(--vm-ease) infinite; pointer-events: none; }
.ss-core-promo::after { content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 1px; background: linear-gradient(110deg, var(--vm-blue-400), var(--vm-orange) 55%, var(--vm-green)); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; opacity: 0; transition: opacity .4s var(--vm-ease); pointer-events: none; }
.ss-core-promo:hover, .ss-core-promo:focus-within { transform: translateY(-3px); border-color: transparent; background: rgba(14, 43, 84, .78); box-shadow: 0 18px 40px rgba(4, 12, 32, .45), 0 0 34px rgba(79, 143, 232, .25); }
.ss-core-promo:hover::after, .ss-core-promo:focus-within::after { opacity: 1; }
.ss-core-promo:hover .ss-promo__title { color: #fff; }
.ss-core-promo:hover .ss-promo__link { color: #fff; }
.ss-core-promo__play { transition: transform .35s var(--vm-ease), box-shadow .35s var(--vm-ease), background .35s var(--vm-ease); }
.ss-core-promo__play::before { content: ""; position: absolute; inset: -4px; border-radius: 8px; border: 2px solid rgba(79, 143, 232, .55); animation: ss-promo-pulse 2.4s var(--vm-ease) infinite; }
.ss-core-promo:hover .ss-core-promo__play { transform: scale(1.14); background: linear-gradient(180deg, #f6a043, var(--vm-orange)); box-shadow: 0 6px 20px rgba(241, 140, 33, .5); }
.ss-core-promo:hover .ss-core-promo__play::before { border-color: rgba(241, 140, 33, .6); }
.ss-core-promo__label { position: relative; padding-left: 22px; }
.ss-core-promo__label::before { content: ""; position: absolute; left: 10px; top: 50%; width: 6px; height: 6px; margin-top: -3px; border-radius: 50%; background: #7fd28a; box-shadow: 0 0 0 0 rgba(127, 210, 138, .6); animation: ss-promo-dot 2s ease-out infinite; }
@keyframes ss-promo-sweep { 0%, 55% { left: -40%; } 100% { left: 120%; } }
@keyframes ss-promo-pulse { 0% { opacity: .9; transform: scale(1); } 100% { opacity: 0; transform: scale(1.35); } }
@keyframes ss-promo-dot { 0% { box-shadow: 0 0 0 0 rgba(127, 210, 138, .6); } 100% { box-shadow: 0 0 0 7px rgba(127, 210, 138, 0); } }
.ss-core-promo__play { position: relative; width: 36px; height: 26px; border-radius: 5px; background: linear-gradient(180deg, #2f7de0, #1f5fba); box-shadow: 0 4px 14px rgba(31, 95, 186, .45); }
.ss-core-promo__play::after { content: ""; position: absolute; left: 50%; top: 50%; margin: -5px 0 0 -3px; border-left: 8px solid #fff; border-top: 5px solid transparent; border-bottom: 5px solid transparent; }
@media (max-width: 960px) {
	.ss-core-hero__media .ss-media img { max-height: 460px; }
}
@media (max-width: 600px) {
	.ss-core-hero .ss-btn-row .ss-btn { flex: 1 1 100%; }
	.ss-core-promo { padding: 16px 18px; }
}

/* ---------- cards (ss_cards, ss_tabs_cards) ---------- */
.ss-core-card { display: flex; flex-direction: column; height: 100%; }
.ss-core-card > p:last-of-type { margin-bottom: 0; }
.ss-core-card .ss-card__title { position: static; }
.ss-core-card--dark { overflow: hidden; isolation: isolate; }
.ss-core-card--dark::before { content: ""; position: absolute; z-index: -1; inset: -30% -20% auto -20%; height: 90%; background: radial-gradient(closest-side, rgba(56, 120, 230, .32), transparent 75%); pointer-events: none; }
.ss-core-card--light { background: #fff; }
.ss-core-card--outline { background: transparent; box-shadow: none; border-color: #cfe0f5; }
.ss-section--dark .ss-core-card--outline { border-color: var(--vm-line-dark); color: var(--vm-on-dark); }
.ss-section--dark .ss-core-card--outline .ss-card__title { color: #fff; }
.ss-section--sky .ss-core-card--flat, .ss-section--sky-fade .ss-core-card--flat { background: #fff; }
.ss-core-card__top { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 10px 12px; margin-bottom: 18px; }
.ss-core-card__icon .ss-card__icon { width: 72px; height: 72px; margin: 0; }
.ss-core-card__icon svg.ss-card__icon { width: 56px; height: 56px; color: var(--vm-blue-600); }
.ss-core-card--dark .ss-core-card__icon svg.ss-card__icon { color: #8bbcff; }
.ss-core-card__badge { position: relative; z-index: 2; max-width: 100%; }
.ss-core-card__badge .ss-badge { white-space: normal; text-align: left; }
.ss-core-card:not(.has-icon) .ss-core-card__top { margin-bottom: 14px; }
.ss-core-card__list { margin-top: 14px; font-size: 14.5px; gap: 6px; }
.ss-core-card__more { margin-top: auto; padding-top: 16px; align-items: center; position: relative; z-index: 2; }
.ss-core-card--dark .ss-core-card__more { color: #8bbcff; }
/* A badge never pushes the title down: it drops to the card's foot, so every title in a row lines up. */
.ss-core-card--badge .ss-core-card__top { display: contents; }
.ss-core-card--badge.has-icon .ss-core-card__icon { margin-bottom: 18px; }
.ss-core-card--badge .ss-core-card__badge { order: 1; margin-top: auto; padding-top: 18px; }
.ss-core-card--badge .ss-core-card__more { order: 2; }
.ss-core-card--badge .ss-core-card__badge ~ .ss-core-card__more { margin-top: 0; padding-top: 14px; }
.ss-core-card--link:hover .ss-card__title { color: var(--vm-blue-600); }
.ss-core-card--dark.ss-core-card--link:hover .ss-card__title { color: #fff; }
.ss-core-cards__grid { align-items: stretch; }
.ss-core-cards__head { margin: 0 0 clamp(32px, 4vw, 48px); }
.ss-core-cards__head--center { text-align: center; max-width: 1000px; margin-left: auto; margin-right: auto; }
.ss-core-cards__head .ss-head { margin-bottom: 0; }
.ss-core-cards__badge { margin: 0 0 18px; }
.ss-core-cards__tagline { margin: 14px 0 0; font-size: clamp(15px, 1.3vw, 17px); }
.ss-core-cards__intro { margin-top: 18px; max-width: none; }
.ss-core-cards__head--center .ss-core-cards__intro { margin-left: auto; margin-right: auto; }
.ss-core-cards__media { max-width: 760px; margin: 0 auto clamp(32px, 4vw, 48px); }
.ss-core-cards__media img { max-height: 480px; width: auto; margin: 0 auto; }
.ss-core-cards .ss-grid--5 .ss-card { padding: 24px 20px; }

/* ---------- ss_split ---------- */
.ss-split.ss-core-split__grid--solo { grid-template-columns: minmax(0, 1fr); max-width: 900px; }
.ss-core-split__head { margin-bottom: 20px; }
.ss-core-split__text { font-size: 16px; }
.ss-section--dark .ss-core-split__text { color: var(--vm-on-dark); }
.ss-core-split__tagline { margin: 16px 0 0; }
.ss-core-split__list { margin-top: 20px; }
.ss-core-split__logo { margin-bottom: 18px; }
.ss-core-split__logo img { max-height: 64px; width: auto; }
.ss-core-split__media img { max-height: 520px; width: auto; margin: 0 auto; }
.ss-core-panel { position: relative; overflow: hidden; padding: clamp(28px, 4vw, 48px); border-radius: var(--vm-radius-lg); border: 1px solid var(--vm-line); background: linear-gradient(135deg, #f6faff 0%, #eef5fe 55%, #f8fbff 100%); }
.ss-section--dark .ss-core-panel { background: rgba(255, 255, 255, .04); border-color: var(--vm-line-dark); }
.ss-core-minis { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 18px; }
.ss-core-mini { padding: 24px 24px 22px; border-radius: var(--vm-radius-lg); border: 1px solid var(--vm-line); background: #f5f9ff; }
.ss-core-minis > .ss-core-mini:last-child:nth-child(odd) { grid-column: 1 / -1; }
.ss-core-mini { position: relative; overflow: hidden; transition: border-color .25s var(--vm-ease), box-shadow .25s var(--vm-ease), transform .25s var(--vm-ease); }
.ss-core-mini::before { content: ""; position: absolute; left: 0; top: 22px; bottom: 22px; width: 3px; border-radius: 0 3px 3px 0; background: var(--vm-orange); opacity: .85; }
.ss-core-mini:hover { border-color: #bcd3f0; box-shadow: var(--vm-shadow); transform: translateY(-2px); }
/* An odd last item spans the row, so it is styled as the featured item rather than left looking orphaned. */
.ss-core-minis > .ss-core-mini:last-child:nth-child(odd) { background: linear-gradient(135deg, #12305f 0%, var(--vm-navy-900) 100%); border-color: var(--vm-line-dark); color: var(--vm-on-dark); }
.ss-core-minis > .ss-core-mini:last-child:nth-child(odd) .ss-core-mini__title { color: #fff; }
.ss-core-minis > .ss-core-mini:last-child:nth-child(odd) p { color: var(--vm-on-dark); }
.ss-core-mini__title { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-bottom: 10px; font-size: 20px; font-weight: 500; }
.ss-core-mini p { font-size: 15px; }
.ss-section--dark .ss-core-mini { background: rgba(255, 255, 255, .04); border-color: var(--vm-line-dark); }
@media (max-width: 720px) { .ss-core-minis { grid-template-columns: 1fr; } }

/* ---------- ss_stats ---------- */
.ss-core-stats__grid { display: grid; gap: 20px; list-style: none; margin: 0; padding: 0; }
.ss-core-stats__grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ss-core-stats__grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ss-core-stats__grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 760px; margin: 0 auto; }
.ss-core-stat { display: flex; flex-direction: column; justify-content: flex-start; min-height: 140px; padding: 26px 18px; }
.ss-core-stat .ss-stat__value { color: var(--vm-blue-600); font-size: clamp(34px, 3.4vw, 46px); }
.ss-core-stat .ss-stat__label { line-height: 1.55; }
.ss-section--dark .ss-core-stat { background: linear-gradient(160deg, #0f2d5e 0%, #0a1f47 100%); border-color: var(--vm-line-dark); box-shadow: 0 0 22px rgba(42, 108, 220, .18) inset; }
.ss-section--dark .ss-core-stat .ss-stat__value { color: #fff; }
@media (max-width: 1024px) { .ss-core-stats__grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 680px) { .ss-core-stats__grid--3 { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .ss-core-stats__grid { gap: 12px; } .ss-core-stat { min-height: 0; padding: 20px 12px; } }
@media (max-width: 340px) { .ss-core-stats__grid--4, .ss-core-stats__grid--2 { grid-template-columns: 1fr; } }

/* ---------- ss_logos ---------- */
.ss-core-logos .ss-head { margin-bottom: clamp(28px, 3vw, 40px); }
/* Val p.18: badges about 10-15% larger than the 9/4 strip */
.ss-core-logos--awards .ss-logos__item { width: 172px; height: 138px; padding: 16px; border-radius: var(--vm-radius-lg); background: linear-gradient(180deg, #f7fbff, #edf4fd); }
.ss-core-logos--awards .ss-logos__item img { max-height: 106px; max-width: 100%; }
.ss-core-logos .ss-logos { list-style: none; margin: 0; padding: 0; }
.ss-core-logos .ss-logos__item a { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
.ss-core-marquee { overflow: hidden; padding: 6px 0; mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.ss-core-marquee .ss-logos__list { display: flex; flex-wrap: nowrap; justify-content: flex-start; gap: 0; width: max-content; animation: ss-core-marquee var(--marquee-duration, 48s) linear infinite; }
/* Award tiles: lift, a navy-to-orange ring and a soft glow on hover; the badge itself scales a touch. */
.ss-core-marquee { padding: 14px 0 18px; }
.ss-core-logos--awards .ss-logos__item { position: relative; border: 1px solid #dbe6f4; transition: transform .35s var(--vm-ease), box-shadow .35s var(--vm-ease), border-color .35s var(--vm-ease), background .35s var(--vm-ease); }
.ss-core-logos--awards .ss-logos__item::after { content: ""; position: absolute; inset: -1px; border-radius: inherit; padding: 2px; background: linear-gradient(135deg, var(--vm-blue-400), var(--vm-orange)); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; opacity: 0; transition: opacity .35s var(--vm-ease); pointer-events: none; }
.ss-core-logos--awards .ss-logos__item img { transition: transform .45s var(--vm-ease), filter .45s var(--vm-ease); }
.ss-core-logos--awards .ss-logos__item:hover, .ss-core-logos--awards .ss-logos__item:focus-within { transform: translateY(-6px); background: #fff; border-color: transparent; box-shadow: 0 14px 30px rgba(14, 43, 84, .14), 0 0 0 6px rgba(79, 143, 232, .08); }
.ss-core-logos--awards .ss-logos__item:hover::after, .ss-core-logos--awards .ss-logos__item:focus-within::after { opacity: 1; }
.ss-core-logos--awards .ss-logos__item:hover img, .ss-core-logos--awards .ss-logos__item:focus-within img { transform: scale(1.07); filter: drop-shadow(0 6px 10px rgba(14, 43, 84, .18)); }
.ss-core-marquee .ss-logos__list > li { flex: 0 0 auto; margin-right: 24px; }
.ss-core-marquee:hover .ss-logos__list, .ss-core-marquee:focus-within .ss-logos__list { animation-play-state: paused; }
@keyframes ss-core-marquee { to { transform: translateX(-50%); } }
@media (max-width: 600px) {
	.ss-core-logos--awards .ss-logos__item { width: 140px; height: 116px; }
	.ss-core-logos--awards .ss-logos__item img { max-height: 86px; }
	.ss-core-logos .ss-container .ss-logos { gap: 12px; }
}
@media (prefers-reduced-motion: reduce) {
	.ss-core-marquee { mask-image: none; -webkit-mask-image: none; }
	.ss-core-marquee .ss-logos__list { animation: none; flex-wrap: wrap; justify-content: center; width: auto; gap: 18px; padding-inline: var(--vm-gutter); }
	.ss-core-marquee .ss-logos__list > li { margin-right: 0; }
}

/* ---------- ss_cta_panel + ss_newsletter ---------- */
.ss-core-cta__panel { padding: clamp(40px, 5vw, 64px) clamp(22px, 6vw, 96px); }
.ss-core-cta__dots { position: absolute; inset: auto 0 0 0; height: 55%; z-index: -1; pointer-events: none; opacity: .5; background-image: radial-gradient(rgba(120, 170, 255, .45) 1px, transparent 1.4px); background-size: 14px 14px; mask-image: linear-gradient(180deg, transparent, #000 70%); -webkit-mask-image: linear-gradient(180deg, transparent, #000 70%); }
.ss-core-cta__panel .ss-panel__logo { width: 270px; max-width: 70%; height: auto; margin: 0 auto 22px; }
.ss-core-cta__title { margin: 0 auto 16px; max-width: 920px; color: #fff; }
.ss-core-cta__text { max-width: 720px; margin: 0 auto; color: #d5def0; font-size: 16px; }
.ss-core-cta__actions .ss-btn-row { margin-top: 30px; }
.ss-core-cta__form { max-width: 720px; margin: 28px auto 0; text-align: left; }
.ss-core-cta__panel--split { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 32px 56px; align-items: center; text-align: left; }
.ss-core-cta__panel--split .ss-panel__logo, .ss-core-cta__panel--split .ss-core-cta__title, .ss-core-cta__panel--split .ss-core-cta__text { margin-left: 0; }
.ss-core-cta__panel--split .ss-btn-row { justify-content: flex-start; margin-top: 0; }
.ss-core-cta__panel--split .ss-core-cta__form { margin-top: 0; }
.ss-core-newsletter__form { max-width: 560px; margin: 28px auto 0; text-align: left; }
.ss-core-newsletter__note { max-width: 560px; margin: 14px auto 0; font-size: 12.5px; color: #a9b8d4; }
.ss-core-newsletter__note a { color: #cfe0ff; text-decoration: underline; }
@media (max-width: 860px) {
	.ss-core-cta__panel--split { grid-template-columns: 1fr; text-align: center; }
	.ss-core-cta__panel--split .ss-panel__logo, .ss-core-cta__panel--split .ss-core-cta__title, .ss-core-cta__panel--split .ss-core-cta__text { margin-left: auto; }
	.ss-core-cta__panel--split .ss-btn-row { justify-content: center; }
}
@media (max-width: 600px) { .ss-core-cta .ss-btn-row .ss-btn { flex: 1 1 100%; } }

/* ---------- ss_tabs_cards ---------- */
.ss-core-tabs__scroller { max-width: 100%; overflow-x: auto; scrollbar-width: none; margin-bottom: 32px; padding: 2px; }
.ss-core-tabs__scroller::-webkit-scrollbar { display: none; }
.ss-core-tabs__scroller .ss-tabs__list { flex-wrap: nowrap; margin-bottom: 0; }
.ss-core-tabs .ss-tabs__tab { white-space: nowrap; transition: background .2s var(--vm-ease), color .2s var(--vm-ease); }
.ss-core-tabs .ss-tabs__tab:hover { color: var(--vm-blue-600); }
.ss-core-tabs .ss-tabs__tab[aria-selected=true]:hover { color: #fff; }
.ss-core-tabs__panel:focus-visible { outline-offset: 8px; }
.ss-core-tabs__panel.is-entering { animation: ss-core-fade .45s var(--vm-ease); }
@keyframes ss-core-fade { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.ss-core-tabs__intro { max-width: 820px; margin: 0 auto 28px; text-align: center; }
.ss-section--dark .ss-core-tabs__intro { color: var(--vm-on-dark); }
.ss-core-tabs__panel--media .ss-core-tabs__body { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 40px; align-items: center; }
.ss-core-tabs__media img { max-height: 460px; width: auto; margin: 0 auto; }
@media (max-width: 960px) { .ss-core-tabs__panel--media .ss-core-tabs__body { grid-template-columns: 1fr; } .ss-core-tabs__media { order: -1; max-width: 520px; margin: 0 auto; } }
@media (max-width: 640px) { .ss-core-tabs__scroller .ss-tabs__list { justify-content: flex-start; } .ss-core-tabs .ss-tabs__tab { padding: 9px 16px; font-size: 13.5px; } }

/* ---------- ss_list_panel ---------- */
.ss-core-listpanel__top { margin-bottom: clamp(36px, 4vw, 56px); grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); }
@media (max-width: 900px) { .ss-core-listpanel__top { grid-template-columns: 1fr; } }
.ss-core-listpanel__top .ss-head { margin-bottom: 20px; }
.ss-core-listpanel__media img { max-height: 420px; width: auto; margin: 0 auto; }
.ss-core-listpanel__panel { position: relative; padding: clamp(28px, 3.5vw, 44px) clamp(22px, 3.5vw, 40px) clamp(24px, 3vw, 36px); border-radius: var(--vm-radius-lg); border: 1px solid #dbe6f4; background: #fff; box-shadow: var(--vm-shadow); }
.ss-core-listpanel__panel.has-title { margin-top: 16px; }
.ss-core-listpanel__title { position: absolute; top: 0; left: clamp(18px, 3vw, 30px); transform: translateY(-50%); margin: 0; padding: 0 12px; background: inherit; font-size: clamp(19px, 1.8vw, 24px); font-weight: 500; color: var(--vm-blue-600); line-height: 1.3; }
.ss-section--sky .ss-core-listpanel__title, .ss-section--sky-fade .ss-core-listpanel__title { background: linear-gradient(180deg, var(--vm-sky-50) 50%, #fff 50%); }
.ss-section--dark .ss-core-listpanel__title { background: linear-gradient(180deg, transparent 50%, #fff 50%); color: #fff; }
.ss-core-listpanel__list { display: grid; gap: 22px 56px; list-style: none; margin: 0; padding: 0; }
.ss-core-listpanel__list--2 { display: block; columns: 2; column-gap: 56px; }
.ss-core-listpanel__list--2 > li { break-inside: avoid; margin-bottom: 22px; }
.ss-core-listpanel__list--2 > li:last-child { margin-bottom: 0; }
.ss-core-listpanel__item { position: relative; padding-left: 30px; }
.ss-core-listpanel__item::before { content: ""; position: absolute; left: 2px; top: .4em; width: 9px; height: 15px; border-right: 3px solid var(--vm-green); border-bottom: 3px solid var(--vm-green); transform: rotate(40deg); }
.ss-core-listpanel__name { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 0 0 6px; font-family: var(--vm-font-head); font-weight: 600; font-size: 16px; color: var(--vm-ink); }
.ss-core-listpanel__name a { color: inherit; }
.ss-core-listpanel__name a:hover { color: var(--vm-blue-600); }
.ss-core-listpanel__text { margin: 0; font-size: 15px; }
.ss-core-listpanel .ss-btn-row { margin-top: 32px; }
@media (max-width: 760px) { .ss-core-listpanel__list--2 { columns: 1; } }

/* ---------- ss_steps ---------- */
.ss-core-steps__list { list-style: none; margin: 0; padding: 0; counter-reset: none; }
.ss-core-step__node { position: relative; z-index: 1; display: grid; place-items: center; width: 72px; height: 72px; border-radius: 50%; background: #fff; border: 1px solid #cfe0f5; box-shadow: 0 8px 22px rgba(14, 43, 84, .1); }
.ss-core-step__num { font-family: var(--vm-font-head); font-size: 22px; font-weight: 600; color: var(--vm-blue-600); }
.ss-core-step__icon { width: 46px; height: 46px; object-fit: contain; color: var(--vm-blue-600); }
.ss-core-step__label { margin: 0 0 6px; font-family: var(--vm-font-head); font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--vm-orange); }
.ss-core-step__title { margin-bottom: 8px; font-size: 18px; font-weight: 500; }
.ss-core-step__text { font-size: 15px; }
.ss-section--dark .ss-core-step__node { background: #0f2d5e; border-color: var(--vm-line-dark); box-shadow: 0 0 20px rgba(60, 130, 255, .25); }
.ss-section--dark .ss-core-step__num { color: #fff; }
.ss-section--dark .ss-core-step__text { color: var(--vm-on-dark); }
/* row: nodes on one line */
.ss-core-steps--row .ss-core-steps__list { display: grid; grid-template-columns: repeat(var(--steps, 4), minmax(0, 1fr)); gap: 28px; }
.ss-core-steps--row .ss-core-step { position: relative; text-align: center; }
.ss-core-steps--row .ss-core-step__node { margin: 0 auto 20px; }
.ss-core-steps--row .ss-core-step:not(:last-child)::after { content: ""; position: absolute; top: 36px; left: calc(50% + 44px); right: calc(-50% + 30px); height: 2px; background: linear-gradient(90deg, var(--vm-orange), rgba(31, 95, 186, .35)); }
/* zigzag: alternating down a centre line */
.ss-core-steps--zigzag .ss-core-steps__list { position: relative; display: grid; gap: 28px; max-width: 1000px; margin: 0 auto; }
.ss-core-steps--zigzag .ss-core-steps__list::before { content: ""; position: absolute; top: 0; bottom: 0; left: 50%; width: 2px; margin-left: -1px; background: linear-gradient(180deg, var(--vm-orange), rgba(31, 95, 186, .3)); }
.ss-core-steps--zigzag .ss-core-step { display: grid; grid-template-columns: 1fr 72px 1fr; gap: 0 28px; align-items: center; }
.ss-core-steps--zigzag .ss-core-step__node { grid-column: 2; grid-row: 1; }
.ss-core-steps--zigzag .ss-core-step__body { grid-column: 1; grid-row: 1; text-align: right; padding: 22px 24px; border-radius: var(--vm-radius-lg); background: #fff; border: 1px solid var(--vm-line); box-shadow: var(--vm-shadow); }
.ss-core-steps--zigzag .ss-core-step:nth-child(even) .ss-core-step__body { grid-column: 3; text-align: left; }
.ss-section--dark.ss-core-steps--zigzag .ss-core-step__body { background: rgba(255, 255, 255, .04); border-color: var(--vm-line-dark); box-shadow: none; }
/* cards: numbered card grid */
.ss-core-steps--cards .ss-core-steps__list { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 24px; }
.ss-core-steps--cards .ss-core-step__node { width: 56px; height: 56px; margin-bottom: 18px; }
.ss-core-steps--cards .ss-core-step__num { font-size: 18px; }
/* below 900px every style is a vertical timeline */
@media (max-width: 900px) {
	.ss-core-steps--row .ss-core-steps__list, .ss-core-steps--zigzag .ss-core-steps__list { display: grid; grid-template-columns: 1fr; gap: 0; max-width: 620px; margin: 0 auto; }
	.ss-core-steps--zigzag .ss-core-steps__list::before { display: none; }
	.ss-core-steps--row .ss-core-step, .ss-core-steps--zigzag .ss-core-step { position: relative; display: grid; grid-template-columns: 56px 1fr; gap: 0 18px; align-items: start; text-align: left; padding-bottom: 28px; }
	.ss-core-steps--row .ss-core-step__node, .ss-core-steps--zigzag .ss-core-step__node { grid-column: 1; grid-row: 1; width: 56px; height: 56px; margin: 0; }
	.ss-core-steps--row .ss-core-step__body, .ss-core-steps--zigzag .ss-core-step__body, .ss-core-steps--zigzag .ss-core-step:nth-child(even) .ss-core-step__body { grid-column: 2; grid-row: 1; text-align: left; padding: 4px 0 0; background: none; border: 0; box-shadow: none; }
	.ss-core-steps--row .ss-core-step:not(:last-child)::after, .ss-core-steps--zigzag .ss-core-step:not(:last-child)::after { content: ""; position: absolute; top: 60px; bottom: 4px; left: 27px; right: auto; width: 2px; height: auto; background: linear-gradient(180deg, var(--vm-orange), rgba(31, 95, 186, .3)); }
	.ss-core-step__icon { width: 36px; height: 36px; }
}

/* ---------- ss_compare ---------- */
.ss-core-compare__wrap { overflow-x: auto; border-radius: var(--vm-radius-lg); border: 1px solid var(--vm-line); background: #fff; box-shadow: var(--vm-shadow); }
.ss-core-compare__table { width: 100%; border-collapse: collapse; font-size: 15px; }
.ss-core-compare__table th, .ss-core-compare__table td { padding: 16px 20px; border-bottom: 1px solid var(--vm-line); text-align: center; vertical-align: middle; color: var(--vm-text); }
.ss-core-compare__table thead th { font-family: var(--vm-font-head); font-size: 15px; font-weight: 600; color: var(--vm-ink); background: var(--vm-sky-50); }
.ss-core-compare__table thead th.is-highlight { background: var(--vm-navy-800); color: #fff; }
.ss-core-compare__table tbody th { text-align: left; font-family: var(--vm-font-head); font-weight: 500; color: var(--vm-ink); }
.ss-core-compare__table td.is-highlight { background: rgba(234, 243, 253, .7); color: var(--vm-ink); font-weight: 600; }
.ss-core-compare__table tbody tr:last-child > * { border-bottom: 0; }
.ss-core-compare__corner { background: var(--vm-sky-50); }
.ss-core-compare__yes { display: inline-block; width: 10px; height: 17px; border-right: 3px solid var(--vm-green); border-bottom: 3px solid var(--vm-green); transform: rotate(40deg) translateY(-3px); }
.ss-core-compare__no { color: #a5b2c6; }
.ss-section--dark .ss-core-compare__wrap { border-color: var(--vm-line-dark); }
@media (max-width: 720px) {
	.ss-core-compare__wrap { overflow: visible; border: 0; background: none; box-shadow: none; }
	.ss-core-compare__table, .ss-core-compare__table tbody, .ss-core-compare__table tr, .ss-core-compare__table th, .ss-core-compare__table td { display: block; width: 100%; }
	.ss-core-compare__table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.ss-core-compare__table tbody tr { margin-bottom: 16px; border-radius: var(--vm-radius-lg); border: 1px solid var(--vm-line); background: #fff; box-shadow: var(--vm-shadow); overflow: hidden; }
	.ss-core-compare__table tbody th { padding: 14px 18px; background: var(--vm-sky-50); }
	.ss-core-compare__table td { display: flex; justify-content: space-between; gap: 16px; padding: 12px 18px; text-align: right; }
	.ss-core-compare__table td::before { content: attr(data-label); flex: 1 1 auto; text-align: left; font-family: var(--vm-font-head); font-size: 13px; font-weight: 600; color: var(--vm-muted); }
	.ss-core-compare__table tbody tr:last-child > * { border-bottom: 1px solid var(--vm-line); }
	.ss-core-compare__table tbody tr > :last-child { border-bottom: 0; }
}

/* ---------- ss_faq ---------- */
.ss-core-faq__q { margin: 0; font-size: inherit; }
.ss-core-faq .ss-acc__btn { padding: 22px 4px; }
.ss-core-faq .ss-acc__btn:hover { color: var(--vm-blue-600); }
.ss-core-faq .ss-acc__body { padding: 0 4px 22px; font-size: 15.5px; }
.ss-section--dark .ss-core-faq .ss-accordion, .ss-section--dark .ss-core-faq .ss-acc { border-color: var(--vm-line-dark); }
.ss-section--dark .ss-core-faq .ss-acc__btn { color: #fff; }
.ss-section--dark .ss-core-faq .ss-acc__body { color: var(--vm-on-dark); }

/* ---------- ss_webinars ---------- */
.ss-core-webinars__list { list-style: none; margin: 0; padding: 0; }
.ss-core-webinar { display: flex; }
.ss-core-webinar__card { display: flex; flex-direction: column; width: 100%; overflow: hidden; border-radius: var(--vm-radius-lg); background: linear-gradient(170deg, #12305f 0%, var(--vm-navy-900) 100%); border: 1px solid var(--vm-line-dark); box-shadow: 0 16px 34px rgba(7, 21, 51, .18); transition: transform .3s var(--vm-ease), box-shadow .3s var(--vm-ease); }
.ss-core-webinar__card:hover { transform: translateY(-4px); box-shadow: 0 22px 40px rgba(7, 21, 51, .26); }
.ss-core-webinar__thumb { margin: 10px 10px 0; aspect-ratio: 3 / 2; overflow: hidden; border-radius: var(--vm-radius); background: #0b2350; }
/* Webinar title cards carry their own text: never crop them (mixed 3:2 and 16:9 sources). */
.ss-core-webinar__thumb img { width: 100%; height: 100%; object-fit: contain; transition: transform .6s var(--vm-ease); }
.ss-core-webinar__card:hover .ss-core-webinar__thumb img { transform: scale(1.04); }
.ss-core-webinar__ph { display: grid; place-items: center; width: 100%; height: 100%; padding: 18%; }
.ss-core-webinar__ph img { object-fit: contain; }
.ss-core-webinar__body { display: flex; flex: 1 1 auto; flex-direction: column; padding: 20px 20px 22px; }
.ss-core-webinar__title { margin: 0 0 10px; color: #fff; font-size: 18px; font-weight: 500; line-height: 1.35; }
.ss-core-webinar__meta { display: flex; flex-wrap: wrap; gap: 4px 8px; margin: 0 0 12px; font-size: 13.5px; color: #c9d5ea; }
.ss-core-webinar__hosts { color: #6fb1ff; }
.ss-core-webinar__sep { opacity: .6; }
.ss-core-webinar__time { color: #fff; font-weight: 600; }
.ss-core-webinar__text { margin: 0 0 18px; font-size: 14.5px; color: #b9c6de; }
.ss-core-webinar__cta { margin-top: auto; }
/* carousel */
.ss-core-webinars__wrap { position: relative; }
.ss-core-carousel__track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 48px) / 3); gap: 24px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; padding: 6px 4px 40px; margin: 0 -4px -28px; }
.ss-core-carousel__track::-webkit-scrollbar { display: none; }
.ss-core-carousel__track > li { scroll-snap-align: start; }
.ss-core-carousel__btn { position: absolute; top: 34%; z-index: 3; display: grid; place-items: center; width: 44px; height: 44px; border: 0; border-radius: 50%; background: linear-gradient(180deg, #4cbb57, var(--vm-green-700)); box-shadow: 0 6px 18px rgba(38, 163, 75, .35); cursor: pointer; transition: opacity .2s, transform .2s var(--vm-ease); }
.ss-core-carousel__btn:hover { transform: scale(1.06); }
.ss-core-carousel__btn span { width: 10px; height: 10px; border-top: 2.5px solid #fff; border-right: 2.5px solid #fff; }
.ss-core-carousel__btn--prev { left: -18px; }
.ss-core-carousel__btn--prev span { transform: translateX(2px) rotate(-135deg); }
.ss-core-carousel__btn--next { right: -18px; }
.ss-core-carousel__btn--next span { transform: translateX(-2px) rotate(45deg); }
.ss-core-carousel__btn[disabled] { opacity: 0; pointer-events: none; }
.ss-core-carousel__btn[hidden] { display: none; }
@media (max-width: 1080px) { .ss-core-carousel__track { grid-auto-columns: calc((100% - 24px) / 2); } }
@media (max-width: 680px) {
	.ss-core-carousel__track { grid-auto-columns: 86%; }
	.ss-core-carousel__btn { display: none; }
}
@media (max-width: 1280px) { .ss-core-carousel__btn--prev { left: -8px; } .ss-core-carousel__btn--next { right: -8px; } }
@media (prefers-reduced-motion: reduce) { .ss-core-carousel__track { scroll-behavior: auto; } }

/* ---------- ss_resources ---------- */
.ss-core-resource { display: flex; flex-direction: column; height: 100%; }
.ss-core-resource.ss-card--dark { overflow: hidden; isolation: isolate; }
.ss-core-resource.ss-card--dark::before { content: ""; position: absolute; z-index: -1; inset: -30% -20% auto -20%; height: 80%; background: radial-gradient(closest-side, rgba(56, 120, 230, .28), transparent 75%); pointer-events: none; }
.ss-core-resource__cover { margin: -10px -8px 18px; aspect-ratio: 16 / 9; overflow: hidden; border-radius: var(--vm-radius); background: var(--vm-sky-100); }
.ss-core-resource__cover img { width: 100%; height: 100%; object-fit: cover; }
.ss-core-resource__type { margin: 0 0 8px; font-family: var(--vm-font-head); font-size: 11.5px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--vm-orange); }
.ss-core-resource__text { font-size: 14.5px; }
.ss-core-resource__cta { margin-top: auto; padding-top: 18px; position: relative; z-index: 2; }
.ss-core-resource__form { margin-top: 16px; padding: 18px; border-radius: var(--vm-radius); background: #fff; text-align: left; }
.ss-core-resource__form .ss-form label { color: var(--vm-ink); }
.ss-core-resources__grid.is-single { grid-template-columns: minmax(0, 520px); justify-content: center; }

/* ---------- ss_form_section ---------- */
.ss-core-form__grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(32px, 5vw, 72px); align-items: start; }
.ss-core-form--center .ss-core-form__grid { grid-template-columns: minmax(0, 1fr); gap: 8px; }
.ss-core-form__card-wrap { padding: clamp(24px, 3.5vw, 40px); border-radius: var(--vm-radius-lg); background: #fff; border: 1px solid var(--vm-line); box-shadow: 0 20px 50px rgba(14, 43, 84, .1); }
.ss-core-form__card-wrap:empty { display: none; }
.ss-core-form__note { margin: 16px 0 0; }
.ss-core-form__aside { display: grid; gap: 14px; list-style: none; margin: 0; padding: 0; }
.ss-core-form--center .ss-core-form__aside { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); margin-bottom: 28px; }
.ss-core-form__card { display: grid; grid-template-columns: 44px 1fr; gap: 14px; align-items: start; padding: 18px 20px; border-radius: var(--vm-radius-lg); background: #fff; border: 1px solid var(--vm-line); }
.ss-core-form__icon { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; background: var(--vm-sky-100); color: var(--vm-blue-600); }
.ss-core-form__icon svg, .ss-core-form__icon img { width: 22px; height: 22px; object-fit: contain; }
.ss-core-form__card-title { margin: 0 0 4px; font-family: var(--vm-font-head); font-weight: 600; color: var(--vm-ink); }
.ss-core-form__card-title a { color: inherit; }
.ss-core-form__card-title a:hover { color: var(--vm-blue-600); }
.ss-core-form__card-text { margin: 0; font-size: 14.5px; }
.ss-core-form__card-cta { margin-top: 12px; }
.ss-core-form__note a { text-decoration: underline; }
.ss-section--dark .ss-core-form__card { background: rgba(255, 255, 255, .05); border-color: var(--vm-line-dark); }
.ss-section--dark .ss-core-form__card-title { color: #fff; }
.ss-section--dark .ss-core-form__card-text { color: var(--vm-on-dark); }
.ss-section--dark .ss-core-form__card-wrap .ss-form label { color: var(--vm-ink); }
@media (max-width: 900px) { .ss-core-form__grid { grid-template-columns: minmax(0, 1fr); } }

/* ---------- ss_feature_rows ---------- */
.ss-core-rows__list { display: grid; gap: clamp(56px, 7vw, 96px); }
.ss-core-row__title { margin-bottom: 14px; }
.ss-core-row__copy p { font-size: 16px; }
.ss-section--dark .ss-core-row__copy p { color: var(--vm-on-dark); }
.ss-core-row__list { margin-top: 18px; }
.ss-core-row__media img { max-height: 460px; width: auto; margin: 0 auto; }

/* ---------- ss_text ---------- */
.ss-core-text .ss-head { margin-bottom: 24px; }
.ss-core-text__body > :first-child { margin-top: 0; }
.ss-core-text__body--dark { color: var(--vm-on-dark); }
.ss-core-text__body--dark a { color: #8bbcff; }
.ss-core-text__body a { text-decoration: underline; text-underline-offset: 2px; }

/* ---------- motion safety ---------- */
@media (prefers-reduced-motion: reduce) {
	.ss-core-webinar__card, .ss-core-webinar__thumb img, .ss-core-tabs__panel.is-entering { transition: none; animation: none; }
	.ss-core-webinar__card:hover { transform: none; }
}

/* ---------- generic single / listing (single.php, index.php) ---------- */
.ss-core-single__figure { margin: 0 0 36px; overflow: hidden; border-radius: var(--vm-radius-lg); box-shadow: var(--vm-shadow); }
.ss-core-single__figure img { width: 100%; height: auto; }
.ss-core-pagination { margin-top: 40px; }
.ss-core-pagination .nav-links, .ss-core-pagination { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.ss-core-pagination .page-numbers, .ss-core-pagination .post-page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; padding: 0 12px; border-radius: var(--vm-radius-sm); border: 1px solid var(--vm-line); color: var(--vm-ink); font-family: var(--vm-font-head); font-size: 14px; text-decoration: none; }
.ss-core-pagination .current { background: var(--vm-navy-800); border-color: var(--vm-navy-800); color: #fff; }
.ss-core-pagination .screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* CTA and newsletter panels sit closer to the section above (the panel is its own frame) */
.ss-core-cta:not(.ss-section--tight):not(.ss-core--flush-top), .ss-core-newsletter:not(.ss-section--tight):not(.ss-core--flush-top) { padding-top: calc(var(--vm-section) * .45); }

/* ---------- illustration motion (components.js adds .vm-art) ---------- */
.vm-art { transition: opacity .8s ease, scale .8s cubic-bezier(.2, .7, .2, 1), transform .35s ease-out; will-change: translate; }
.vm-art--pre { opacity: 0; scale: .96; }
.vm-art.is-art-in { animation: vm-art-float 6s ease-in-out infinite, vm-art-glow 4s ease-in-out infinite; }
@keyframes vm-art-float { 0%, 100% { translate: 0 0; } 50% { translate: 0 -8px; } }
@keyframes vm-art-glow {
	0%, 100% { filter: drop-shadow(0 10px 18px rgba(245, 160, 67, .08)); }
	50% { filter: drop-shadow(0 16px 30px rgba(245, 160, 67, .30)); }
}
@media (prefers-reduced-motion: reduce) {
	.vm-art, .vm-art.is-art-in { animation: none; transition: none; opacity: 1; scale: none; transform: none; }
}

/* level 2 pipe-light pulses (components.js wraps the hero image in .vm-flow) */
.vm-flow { position: relative; display: block; transition: transform .35s ease-out; animation: vm-art-float 6s ease-in-out infinite; }
/* inside a flow the wrapper floats (image + pulses move together); the image keeps only the glow */
.vm-art.vm-art--in-flow.is-art-in { animation: vm-art-glow 4s ease-in-out infinite; }
.vm-flow > img { display: block; }
.vm-flow__svg { position: absolute; left: 0; top: 0; width: 100%; height: 100%; pointer-events: none; overflow: visible; }
.vm-flow__dot { fill: #fff3dc; filter: drop-shadow(0 0 4px #ffb35c) drop-shadow(0 0 10px #f5a043) drop-shadow(0 0 18px rgba(245, 160, 67, .9)); }
@media (prefers-reduced-motion: reduce) { .vm-flow__svg { display: none; } .vm-flow { animation: none; } }
.vm-art.vm-art--in-flow { scale: none; }

/* ---------- branded hover layer ----------
   One family of hovers across the page: things lift a little, edges light from
   blue to orange, and buttons get a brief light sweep. Everything is a
   transform, opacity or shadow, so it stays smooth, and none of it runs for
   reduced motion (see the block at the end). */
.ss-btn--primary { position: relative; overflow: hidden; isolation: isolate; }
.ss-btn--primary::after { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: -60%; width: 50%; background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .35), transparent); transform: skewX(-20deg); transition: left .6s var(--vm-ease); pointer-events: none; }
.ss-btn--primary:hover::after, .ss-btn--primary:focus-visible::after { left: 120%; }
.ss-btn--primary:hover { transform: translateY(-2px); box-shadow: 0 10px 22px rgba(38, 163, 75, .38); }
.ss-btn--outline:hover, .ss-btn--outline-white:hover, .ss-hero .ss-btn--outline:hover, .ss-section--dark .ss-btn--outline:hover { transform: translateY(-2px); }

/* Dark cards: the existing lift, plus a blue-to-orange edge and a brighter glow. */
.ss-core-card--dark.ss-core-card--link::after, .ss-core-resource.ss-card--dark::after, .ss-core-webinar__card::after { content: ""; position: absolute; inset: 0; z-index: 3; border-radius: inherit; padding: 1px; background: linear-gradient(135deg, var(--vm-blue-400), var(--vm-orange)); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; opacity: 0; transition: opacity .35s var(--vm-ease); pointer-events: none; }
.ss-core-card--dark.ss-core-card--link:hover::after, .ss-core-resource.ss-card--dark:hover::after, .ss-core-webinar__card:hover::after { opacity: 1; }
.ss-core-card--dark .ss-core-card__icon img, .ss-core-card--dark .ss-core-card__icon svg { transition: transform .45s var(--vm-ease); }
.ss-core-card--dark:hover .ss-core-card__icon img, .ss-core-card--dark:hover .ss-core-card__icon svg { transform: translateY(-3px) scale(1.06); }
.ss-core-resource { transition: transform .3s var(--vm-ease), box-shadow .3s var(--vm-ease); }
.ss-core-resource:hover { transform: translateY(-4px); box-shadow: 0 18px 36px rgba(7, 21, 51, .24); }
.ss-core-webinar__card { position: relative; }
.ss-core-webinar__card .ss-btn { transition-delay: 0s; }
.ss-core-webinar__card:hover .ss-btn--primary::after { left: 120%; }

/* Stats: a lift with the figure warming to orange. */
.ss-core-stat { transition: transform .35s var(--vm-ease), box-shadow .35s var(--vm-ease), border-color .35s var(--vm-ease); }
.ss-core-stat .ss-stat__value { transition: color .35s var(--vm-ease); }
.ss-core-stat:hover { transform: translateY(-4px); border-color: #bcd3f0; box-shadow: 0 14px 30px rgba(14, 43, 84, .12); }
.ss-core-stat:hover .ss-stat__value { color: var(--vm-orange); }

/* Platform ecosystem list: each row slides a touch and its tick turns orange. */
.ss-core-listpanel__item { transition: transform .3s var(--vm-ease); }
.ss-core-listpanel__item::before { transition: border-color .3s var(--vm-ease); }
.ss-core-listpanel__item:hover { transform: translateX(4px); }
.ss-core-listpanel__item:hover::before { border-color: var(--vm-orange); }

@media (hover: none) {
	.ss-core-logos--awards .ss-logos__item:hover, .ss-core-promo:hover, .ss-core-stat:hover, .ss-core-resource:hover, .ss-core-listpanel__item:hover, .ss-core-mini:hover { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
	.ss-core-promo::before, .ss-core-promo__play::before, .ss-core-promo__label::before { animation: none; }
	.ss-core-promo, .ss-core-logos--awards .ss-logos__item, .ss-core-logos--awards .ss-logos__item img, .ss-btn--primary, .ss-core-stat, .ss-core-resource, .ss-core-listpanel__item, .ss-core-mini, .ss-core-card--dark .ss-core-card__icon img, .ss-core-card--dark .ss-core-card__icon svg { transition: none; transform: none !important; }
	.ss-btn--primary::after { display: none; }
}

/* ---------- Home refinements (10/11) ---------- */

/* Newsletter: field and button share one height and centre line; the consent line is readable on navy. */
.ss-core-newsletter__form { max-width: 620px; }
.ss-core-newsletter__form .ss-fx-form--inline .ss-form__fields { align-items: center; row-gap: 14px; }
.ss-core-newsletter__form .ss-fx-form--inline .ss-fx-form__submit-row { align-self: stretch; }
.ss-core-newsletter__form input[type=email] { height: 54px; margin: 0; }
.ss-core-newsletter__form .ss-form__submit { height: 54px; min-height: 54px; margin: 0; white-space: nowrap; }
/* The form renders in its light variant on this navy panel, so its !important label colour is matched here. */
.ss-core-newsletter__form .ss-fx-check { align-items: center; gap: 10px; color: #e6eefb !important; font-size: 14px !important; line-height: 1.5; }
.ss-core-newsletter__form .ss-fx-check sup { color: inherit; }
.ss-core-newsletter__form .ss-fx-check input { flex: 0 0 auto; width: 18px; height: 18px; margin: 0; accent-color: var(--vm-green-700); }
.ss-core-newsletter__form .ss-fx-form__req { color: #ffb066; }
.ss-core-newsletter__form .ss-form__error { color: #ffb4a8; }

/* Stats: a navy band. Big gradient figures between thin rules, an orange tick over each label. */
.ss-core-stats.ss-section--dark { position: relative; overflow: hidden; background: radial-gradient(60% 120% at 50% 0%, rgba(54, 120, 230, .32), transparent 70%), linear-gradient(180deg, var(--vm-navy-900), var(--vm-navy-950)); }
.ss-core-stats.ss-section--dark::before { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(143, 184, 255, .16) 1px, transparent 1px); background-size: 22px 22px; mask-image: linear-gradient(180deg, transparent, #000 30%, #000 70%, transparent); -webkit-mask-image: linear-gradient(180deg, transparent, #000 30%, #000 70%, transparent); pointer-events: none; }
.ss-core-stats.ss-section--dark .ss-container { position: relative; }
.ss-section--dark .ss-core-stats__grid { gap: 0; }
.ss-section--dark .ss-core-stat { min-height: 0; padding: 18px 22px 22px; background: none; border: 0; border-radius: 0; box-shadow: none; }
.ss-section--dark .ss-core-stat + .ss-core-stat { border-left: 1px solid rgba(120, 165, 240, .22); }
.ss-section--dark .ss-core-stat .ss-stat__value { font-size: clamp(46px, 4.8vw, 68px); font-weight: 600; letter-spacing: -.02em; background: linear-gradient(180deg, #fff 30%, #8bbcff); -webkit-background-clip: text; background-clip: text; color: transparent; transition: filter .4s var(--vm-ease), transform .4s var(--vm-ease); }
.ss-section--dark .ss-core-stat .ss-stat__label { position: relative; margin-top: 18px; padding-top: 14px; color: #ffb066; }
.ss-section--dark .ss-core-stat .ss-stat__label::before { content: ""; position: absolute; top: 0; left: 50%; width: 28px; height: 2px; margin-left: -14px; border-radius: 2px; background: var(--vm-orange); transition: width .4s var(--vm-ease), margin .4s var(--vm-ease); }
.ss-section--dark .ss-core-stat:hover { transform: none; box-shadow: none; }
.ss-section--dark .ss-core-stat:hover .ss-stat__value { transform: translateY(-3px); filter: drop-shadow(0 0 18px rgba(127, 176, 255, .55)); }
.ss-section--dark .ss-core-stat:hover .ss-stat__label::before { width: 64px; margin-left: -32px; }
@media (max-width: 1024px) {
	.ss-section--dark .ss-core-stat:nth-child(odd) { border-left: 0; }
	.ss-section--dark .ss-core-stat:nth-child(n+3) { border-top: 1px solid rgba(120, 165, 240, .22); }
}

/* Capabilities: a bento grid. The first tile (the one with the most to say) is a featured navy
   tile two columns wide and two rows tall; the other eight fill the four columns around and
   below it, so every row is full. Icons sit on a shared baseline with no box behind them:
   the isometric art differs in height, and a box made that look like misalignment. */
.ss-core-cards__grid--tiles { gap: 18px; grid-auto-flow: dense; }
.ss-core-card--tiles { padding: 22px 22px 20px; background: #fff; border: 1px solid #dfe8f4; border-radius: var(--vm-radius-lg); box-shadow: 0 2px 6px rgba(14, 43, 84, .04); transition: transform .35s var(--vm-ease), box-shadow .35s var(--vm-ease), border-color .35s var(--vm-ease); }
.ss-core-card--tiles .ss-core-card__top { margin: 0 0 14px; }
.ss-core-card--tiles .ss-core-card__icon { display: flex; align-items: flex-end; width: 64px; height: 64px; margin: 0 0 14px; transition: transform .45s var(--vm-ease); }
.ss-core-card--tiles .ss-core-card__top .ss-core-card__icon { margin: 0; }
.ss-core-card--tiles .ss-core-card__icon .ss-card__icon { width: 100%; height: 100%; object-fit: contain; object-position: 0 100%; }
.ss-core-card--tiles .ss-card__title { margin: 0 0 8px; font-size: 17px; line-height: 1.3; }
.ss-core-card--tiles p { font-size: 14.5px; line-height: 1.6; color: var(--vm-text); }
.ss-core-card--tiles .ss-core-card__more { padding-top: 14px; font-family: var(--vm-font-head); font-size: 13px; font-weight: 600; letter-spacing: .02em; color: var(--vm-blue-600); }
.ss-core-card--tiles .ss-core-card__more span:first-child { background: linear-gradient(currentColor, currentColor) 0 100% / 0 1.5px no-repeat; transition: background-size .35s var(--vm-ease); padding-bottom: 2px; }
.ss-core-card--tiles .ss-core-arrow { display: none; }
.ss-core-card--tiles::after { content: ""; position: absolute; inset: -1px; border-radius: inherit; padding: 1.5px; background: linear-gradient(135deg, var(--vm-blue-400), var(--vm-orange)); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; opacity: 0; transition: opacity .35s var(--vm-ease); pointer-events: none; }
.ss-core-card--tiles:hover { transform: translateY(-4px); border-color: transparent; box-shadow: 0 16px 34px rgba(14, 43, 84, .12); }
.ss-core-card--tiles:hover::after { opacity: 1; }
.ss-core-card--tiles:hover .ss-core-card__icon { transform: translateY(-3px) scale(1.05); }
.ss-core-card--tiles:hover .ss-core-card__more span:first-child { background-size: 100% 1.5px; }

/* The featured tile. */
.ss-core-cards__grid--tiles.ss-grid--4 > .ss-core-card--tiles:first-child { grid-column: span 2; grid-row: span 2; padding: clamp(28px, 3vw, 40px); overflow: hidden; isolation: isolate; border: 0; background: linear-gradient(150deg, #173a6e 0%, var(--vm-navy-900) 60%, var(--vm-navy-950) 100%); box-shadow: 0 18px 40px rgba(10, 31, 71, .22); }
.ss-core-cards__grid--tiles.ss-grid--4 > .ss-core-card--tiles:first-child::before { content: ""; position: absolute; z-index: -1; right: -18%; top: -24%; width: 75%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(closest-side, rgba(79, 143, 232, .4), transparent 72%); pointer-events: none; }
.ss-core-cards__grid--tiles.ss-grid--4 > .ss-core-card--tiles:first-child .ss-core-card__icon { width: 112px; height: 112px; margin-bottom: 22px; }
.ss-core-cards__grid--tiles.ss-grid--4 > .ss-core-card--tiles:first-child .ss-card__title { color: #fff; font-size: clamp(24px, 2.2vw, 30px); margin-bottom: 14px; }
.ss-core-cards__grid--tiles.ss-grid--4 > .ss-core-card--tiles:first-child p { color: var(--vm-on-dark); font-size: 16.5px; line-height: 1.7; max-width: 520px; }
.ss-core-cards__grid--tiles.ss-grid--4 > .ss-core-card--tiles:first-child p + p { margin-top: 14px; color: #fff; font-family: var(--vm-font-head); font-size: 15px; font-weight: 500; }
.ss-core-cards__grid--tiles.ss-grid--4 > .ss-core-card--tiles:first-child .ss-core-card__badge { padding-top: 22px; }
.ss-core-cards__grid--tiles.ss-grid--4 > .ss-core-card--tiles:first-child .ss-core-card__more { color: #8bbcff; font-size: 14px; }
.ss-core-cards__grid--tiles.ss-grid--4 > .ss-core-card--tiles:first-child:hover { box-shadow: 0 24px 50px rgba(10, 31, 71, .3); }
.ss-core-cards__grid--tiles.ss-grid--4 > .ss-core-card--tiles:first-child:hover .ss-card__title { color: #fff; }
@media (max-width: 1080px) { .ss-core-cards__grid--tiles.ss-grid--4 > .ss-core-card--tiles:first-child { grid-row: auto; } }
@media (max-width: 680px) { .ss-core-cards__grid--tiles.ss-grid--4 > .ss-core-card--tiles:first-child { grid-column: auto; } }

/* AI Digital Workforce: copy beside the art, then the three ideas as a light row under a rule. */
.ss-core-cards__split { grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); align-items: center; margin-bottom: clamp(36px, 4vw, 56px); }
.ss-core-cards__split .ss-core-cards__head { margin: 0; }
.ss-core-cards__split .ss-core-cards__intro { font-size: 16px; }
.ss-core-cards__splitmedia { margin: 0; max-width: none; }
.ss-core-cards__splitmedia img { max-height: 420px; width: auto; margin: 0 auto; }
.ss-core-cards__grid--line { gap: clamp(24px, 3vw, 44px); }
.ss-core-card--line { padding: 24px 0 0; background: none; border: 0; border-top: 2px solid var(--vm-line); border-radius: 0; box-shadow: none; }
.ss-core-card--line::before { content: ""; position: absolute; top: -2px; left: 0; width: 56px; height: 2px; background: linear-gradient(90deg, var(--vm-orange), var(--vm-blue-400)); transition: width .6s var(--vm-ease); }
.ss-core-card--line:hover::before { width: 100%; }
.ss-core-card--line .ss-card__title { font-size: 19px; margin-bottom: 8px; }
.ss-core-card--line p { font-size: 15px; }
.ss-section--dark .ss-core-card--line { border-top-color: var(--vm-line-dark); }
.ss-section--dark .ss-core-card--line .ss-card__title { color: #fff; }

/* Why ValidationMaster®: a smaller illustration and a numbered criteria rail in the copy column. */
.ss-core-split__grid--criteria { grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); }
.ss-core-split__grid--criteria .ss-core-split__media img { max-height: 400px; }
.ss-core-criteria { margin-top: 26px; }
.ss-core-criteria__rail { display: flex; flex-wrap: wrap; gap: 8px; }
.ss-core-criteria__tab { position: relative; overflow: hidden; display: inline-flex; align-items: center; gap: 9px; padding: 7px 14px 7px 7px; border: 1px solid #d5e3f5; border-radius: 999px; background: #fff; color: var(--vm-ink); font-family: var(--vm-font-head); font-size: 13.5px; font-weight: 500; line-height: 1.2; cursor: pointer; transition: background .3s var(--vm-ease), color .3s var(--vm-ease), border-color .3s var(--vm-ease), transform .3s var(--vm-ease), box-shadow .3s var(--vm-ease); }
.ss-core-criteria__num { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--vm-sky-100); color: var(--vm-blue-600); font-size: 11px; font-weight: 600; letter-spacing: .02em; transition: background .3s var(--vm-ease), color .3s var(--vm-ease); }
.ss-core-criteria__tab:hover { border-color: var(--vm-blue-400); transform: translateY(-1px); box-shadow: 0 6px 14px rgba(14, 43, 84, .08); }
.ss-core-criteria__tab[aria-selected=true] { border-color: transparent; background: linear-gradient(135deg, var(--vm-navy-700), var(--vm-navy-900)); color: #fff; box-shadow: 0 8px 20px rgba(10, 31, 71, .25); }
.ss-core-criteria__tab[aria-selected=true] .ss-core-criteria__num { background: var(--vm-orange); color: #fff; }
.ss-core-criteria.is-auto.is-visible .ss-core-criteria__tab[aria-selected=true]::after { content: ""; position: absolute; left: 0; bottom: 0; width: 100%; height: 3px; background: linear-gradient(90deg, var(--vm-orange), var(--vm-green)); transform-origin: 0 50%; animation: ss-tabs-progress 6s linear forwards; }
.ss-core-criteria:hover .ss-core-criteria__tab[aria-selected=true]::after { animation-play-state: paused; }
@keyframes ss-tabs-progress { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.ss-core-criteria__panels { display: grid; margin-top: 16px; }
.ss-core-criteria__panel { grid-area: 1 / 1; position: relative; padding: 22px 26px 22px 28px; border: 1px solid #dfe8f4; border-radius: var(--vm-radius-lg); background: #fff; box-shadow: 0 10px 26px rgba(14, 43, 84, .06); }
.ss-core-criteria__panel::before { content: ""; position: absolute; left: 0; top: 20px; bottom: 20px; width: 3px; border-radius: 0 3px 3px 0; background: var(--vm-orange); }
.ss-core-criteria__panel[hidden] { display: block; visibility: hidden; }
.ss-core-criteria__panel.is-entering { animation: ss-criteria-in .45s var(--vm-ease); }
@keyframes ss-criteria-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.ss-core-criteria__title { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: 0 0 8px; font-size: 20px; font-weight: 500; }
.ss-core-criteria__panel p { margin: 0; font-size: 15px; line-height: 1.65; }
.ss-core-split .ss-core-criteria ~ .ss-btn-row { margin-top: 24px; }
@media (max-width: 900px) { .ss-core-split__grid--criteria .ss-core-split__media img { max-height: 280px; } }

/* Sticky header: once the page scrolls, the floating card becomes a full-width frosted bar, so the
   reading-progress line runs along its bottom edge instead of sticking out past a card. */
.ss-header__bar, .ss-header > .ss-container, .ss-header__logo img, .ss-header__top { transition: border-radius .35s var(--vm-ease), max-width .35s var(--vm-ease), padding .35s var(--vm-ease), width .35s var(--vm-ease), background-color .35s var(--vm-ease), box-shadow .35s var(--vm-ease); }
.ss-header.is-scrolled { padding-top: 0; }
.ss-header.is-scrolled > .ss-container { max-width: none; padding: 0; }
.ss-header.is-scrolled .ss-header__bar { border-radius: 0; background: rgba(255, 255, 255, .94); -webkit-backdrop-filter: saturate(1.4) blur(14px); backdrop-filter: saturate(1.4) blur(14px); box-shadow: 0 1px 0 rgba(14, 43, 84, .08), 0 10px 28px rgba(7, 21, 51, .1); }
.ss-header.is-scrolled .ss-header__top { max-width: 1380px; margin: 0 auto; padding: 8px calc(var(--vm-gutter) + 22px); }
.ss-header.is-scrolled .ss-header__logo img { width: 184px; }
.ss-header.is-scrolled .ss-progress { bottom: 0; }
@media (min-width: 1341px) {
	.ss-header.is-scrolled .ss-header__nav { max-width: 1380px; margin: 0 auto; padding-left: calc(var(--vm-gutter) + 14px); padding-right: calc(var(--vm-gutter) + 14px); }
}
@media (max-width: 600px) { .ss-header.is-scrolled .ss-header__top { padding: 8px 16px; } .ss-header.is-scrolled .ss-header__logo img { width: 150px; } }

@media (prefers-reduced-motion: reduce) {
	.ss-core-criteria__panel.is-entering { animation: none; }
	.ss-core-card--tiles, .ss-core-card--tiles .ss-core-card__icon, .ss-core-criteria__tab, .ss-section--dark .ss-core-stat .ss-stat__value { transition: none; transform: none !important; }
}

/* Trademark marks inside animated headlines (data-words) are not clipped or slid: the clip box
   sat above the raised <sup> and hid the ® (or left a stray sliver of it). */
.ss-motion [data-words] sup .ss-word { overflow: visible; vertical-align: baseline; padding: 0; margin: 0; }
.ss-motion [data-words] sup .ss-word > span { transform: none; transition: none; }

/* Home rhythm: when a white section follows another white section, both paddings stacked into a
   ~180px gap. The second one starts at half the usual spacing; sections that change background
   keep full spacing, since the colour change already separates them. */
.home .ss-section:not(.ss-section--sky):not(.ss-section--sky-fade):not(.ss-section--dark) + .ss-section:not(.ss-section--sky):not(.ss-section--sky-fade):not(.ss-section--dark) { padding-top: calc(var(--vm-section) * .45); }
.home .ss-core-logos--awards { padding-bottom: calc(var(--vm-section) * .4); }

/* Platform ecosystem: eight linked product tiles (ss_list_panel style 'tiles'). A coloured top
   edge cycles through the brand colours so the eight read as one connected family. */
.ss-core-eco__label { margin: 0 0 16px; font-family: var(--vm-font-head); font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--vm-orange); }
.ss-core-eco { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; }
.ss-core-eco__item { position: relative; display: flex; flex-direction: column; padding: 22px 20px 18px; border: 1px solid #dbe6f4; border-radius: var(--vm-radius-lg); background: #fff; box-shadow: 0 2px 8px rgba(14, 43, 84, .04); overflow: hidden; transition: transform .35s var(--vm-ease), box-shadow .35s var(--vm-ease), border-color .35s var(--vm-ease); }
.ss-core-eco__item::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: var(--eco, var(--vm-blue-600)); transform-origin: 0 50%; transform: scaleX(.22); transition: transform .5s var(--vm-ease); }
.ss-core-eco__item:nth-child(4n+1) { --eco: var(--vm-blue-600); }
.ss-core-eco__item:nth-child(4n+2) { --eco: var(--vm-green-700); }
.ss-core-eco__item:nth-child(4n+3) { --eco: var(--vm-orange); }
.ss-core-eco__item:nth-child(4n+4) { --eco: var(--vm-navy-700); }
.ss-core-eco__name { margin: 4px 0 8px; font-size: 17px; font-weight: 500; line-height: 1.3; }
.ss-core-eco__name a { color: var(--vm-ink); }
.ss-core-eco__badge { margin: 0 0 8px; }
.ss-core-eco__badge .ss-badge { font-size: 10px; }
.ss-core-eco__text { margin: 0; font-size: 14.5px; line-height: 1.6; color: var(--vm-text); }
.ss-core-eco__more { margin-top: auto; padding-top: 14px; font-family: var(--vm-font-head); font-size: 13px; font-weight: 600; color: var(--vm-blue-600); background: linear-gradient(currentColor, currentColor) 0 100% / 0 1.5px no-repeat; align-self: flex-start; transition: background-size .35s var(--vm-ease); }
.ss-core-eco__item.is-link:hover { transform: translateY(-4px); border-color: #c4d7f0; box-shadow: 0 16px 34px rgba(14, 43, 84, .12); }
.ss-core-eco__item.is-link:hover::before { transform: scaleX(1); }
.ss-core-eco__item.is-link:hover .ss-core-eco__name a { color: var(--vm-blue-600); }
.ss-core-eco__item.is-link:hover .ss-core-eco__more { background-size: 100% 1.5px; }
.ss-core-listpanel .ss-core-eco + .ss-btn-row { margin-top: 32px; }
@media (max-width: 1080px) { .ss-core-eco { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .ss-core-eco { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .ss-core-eco__item, .ss-core-eco__item::before { transition: none; } .ss-core-eco__item.is-link:hover { transform: none; } }

/* Webinar cards: every thumbnail fills its frame the same way. The 16:9 artwork is cropped from
   the right (left-anchored) so the title text on it is never cut. The whole card is the link
   (stretched title link); hovering anywhere lifts the card, zooms the art and lights the button. */
.ss-core-webinar__thumb img { object-fit: cover; object-position: 0 50%; }
.ss-core-webinar__title a { color: inherit; }
.ss-core-webinar__cta { position: relative; z-index: 2; }
.ss-core-webinar__card:hover .ss-core-webinar__title { color: #fff; }
.ss-core-webinar__card:hover .ss-btn--primary { transform: translateY(-2px); box-shadow: 0 10px 22px rgba(38, 163, 75, .38); }
.ss-core-webinar__card:focus-within { outline: 2px solid var(--vm-orange); outline-offset: 3px; }
.ss-core-webinar__title a:focus-visible { outline: none; }

/* Resource Library and the sections around it: a section that fades to white counts as white for
   spacing, and the last section before the closing CTA panel doesn't add its full bottom padding. */
.home .ss-section--sky-fade + .ss-section:not(.ss-section--sky):not(.ss-section--sky-fade):not(.ss-section--dark) { padding-top: calc(var(--vm-section) * .55); }
.home .ss-section:has(+ .ss-core-cta) { padding-bottom: calc(var(--vm-section) * .55); }
.home .ss-section:has(+ .ss-core-newsletter) { padding-bottom: calc(var(--vm-section) * .55); }

/* Header: the Validation365™ Blog link is the Validation365 logo (navy lettering for the white bar)
   with a small Blog tag. On hover the logo lifts with a blue glow, a blue-to-orange line draws in
   underneath and the tag turns orange. */
.ss-header__blog { position: relative; display: inline-flex; align-items: center; gap: 8px; margin-right: 10px; padding: 6px 4px 8px; }
.ss-header__blog-logo { display: block; width: auto; height: 34px; transition: transform .4s var(--vm-ease), filter .4s var(--vm-ease); }
.ss-header__blog-tag { padding: 3px 8px; border-radius: 999px; background: var(--vm-sky-100); color: var(--vm-blue-600); font-family: var(--vm-font-head); font-size: 10.5px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; transition: background .3s var(--vm-ease), color .3s var(--vm-ease), transform .3s var(--vm-ease); }
.ss-header__blog::after { content: ""; position: absolute; left: 4px; right: 4px; bottom: 0; height: 2px; border-radius: 2px; background: linear-gradient(90deg, var(--vm-blue-400), var(--vm-orange)); transform: scaleX(0); transform-origin: 0 50%; transition: transform .45s var(--vm-ease); }
.ss-header__blog:hover .ss-header__blog-logo, .ss-header__blog:focus-visible .ss-header__blog-logo { transform: translateY(-2px) scale(1.04); filter: drop-shadow(0 4px 10px rgba(31, 95, 186, .35)); }
.ss-header__blog:hover::after, .ss-header__blog:focus-visible::after { transform: scaleX(1); }
.ss-header__blog:hover .ss-header__blog-tag, .ss-header__blog:focus-visible .ss-header__blog-tag { background: var(--vm-orange); color: #fff; transform: translateX(2px); }
.ss-header.is-scrolled .ss-header__blog-logo { height: 30px; }
@media (prefers-reduced-motion: reduce) { .ss-header__blog-logo, .ss-header__blog::after, .ss-header__blog-tag { transition: none; } }
/* Keep the theme's breakpoint: the header blog link hides below 1180px (it stays in the drawer). */
@media (max-width: 1180px) { .ss-header__blog { display: none; } }

/* Capabilities bento, compact pass: small tiles put the icon on the title row (a 3-row grid:
   icon + title / text / link), so the whole grid is about half as tall. The featured tile keeps
   its two-row span but with a smaller icon and type. */
.ss-core-cards__grid--tiles { gap: 14px; }
.ss-core-card--tiles { display: grid; grid-template-columns: 44px minmax(0, 1fr); grid-template-rows: auto 1fr auto; column-gap: 12px; align-items: center; padding: 18px 18px 16px; }
.ss-core-card--tiles .ss-core-card__top { display: contents; }
.ss-core-card--tiles .ss-core-card__icon { grid-column: 1; grid-row: 1; width: 44px; height: 44px; margin: 0; }
.ss-core-card--tiles .ss-card__title { grid-column: 2; grid-row: 1; margin: 0; font-size: 16px; }
.ss-core-card--tiles > p, .ss-core-card--tiles .ss-core-card__more, .ss-core-card--tiles .ss-core-card__badge { grid-column: 1 / -1; }
.ss-core-card--tiles > p { align-self: start; margin-top: 10px; font-size: 14px; line-height: 1.55; }
.ss-core-card--tiles .ss-core-card__more { align-self: end; justify-self: start; padding-top: 10px; }
/* Featured tile: back to a single column, tighter. */
.ss-core-cards__grid--tiles.ss-grid--4 > .ss-core-card--tiles:first-child { display: flex; flex-direction: column; justify-content: center; padding: 28px 32px; }
.ss-core-cards__grid--tiles.ss-grid--4 > .ss-core-card--tiles:first-child .ss-core-card__icon { width: 72px; height: 72px; margin-bottom: 16px; }
.ss-core-cards__grid--tiles.ss-grid--4 > .ss-core-card--tiles:first-child .ss-card__title { font-size: clamp(22px, 2vw, 26px); margin: 0 0 10px; }
.ss-core-cards__grid--tiles.ss-grid--4 > .ss-core-card--tiles:first-child > p { margin-top: 0; font-size: 15px; line-height: 1.6; }
.ss-core-cards__grid--tiles.ss-grid--4 > .ss-core-card--tiles:first-child p + p { margin-top: 10px; font-size: 14px; }
.ss-core-cards__grid--tiles.ss-grid--4 > .ss-core-card--tiles:first-child .ss-core-card__badge { margin-top: 0; padding-top: 14px; }
.ss-core-cards__grid--tiles.ss-grid--4 > .ss-core-card--tiles:first-child .ss-core-card__more { margin-top: 0; padding-top: 14px; }

/* One underline only: the theme's link hover underline stacked with the drawn one. */
.ss-core-card__more, .ss-core-card__more:hover, .ss-core-card__more span, .ss-core-eco__name a, .ss-core-eco__name a:hover, .ss-core-webinar__title a, .ss-core-webinar__title a:hover, .ss-core-stretch:hover { text-decoration: none !important; }

/* Header blog link, quieter hover: no underline bar, no glow, no text underline. The logo lifts a
   touch and the Blog tag fills navy. */
.ss-header__blog, .ss-header__blog:hover, .ss-header__blog * { text-decoration: none !important; }
.ss-header__blog::after { display: none; }
.ss-header__blog:hover .ss-header__blog-logo, .ss-header__blog:focus-visible .ss-header__blog-logo { transform: translateY(-1px); filter: none; }
.ss-header__blog:hover .ss-header__blog-tag, .ss-header__blog:focus-visible .ss-header__blog-tag { background: var(--vm-navy-800); color: #fff; transform: none; }
.ss-core-cards__grid--tiles.ss-grid--4 > .ss-core-card--tiles:first-child { align-items: flex-start; text-align: left; }
.ss-core-cards__grid--tiles.ss-grid--4 > .ss-core-card--tiles:first-child .ss-core-card__more { align-self: flex-start; }

/* Badges never overflow their tile: tighter tracking in narrow tiles, and a clean two-line wrap
   when even that doesn't fit. */
.ss-core-eco__badge .ss-badge, .ss-core-card--tiles .ss-badge, .ss-core-card__badge .ss-badge { max-width: 100%; white-space: normal; text-align: left; line-height: 1.35; letter-spacing: .06em; border-radius: 12px; }
.ss-core-eco__badge .ss-badge { font-size: 9.5px; padding: 4px 10px; }

/* Resource Library: editorial "publication" cards. A navy art panel with the isometric illustration
   on a dot grid, the category as an orange eyebrow, the publication title as the headline, and a
   foot with the format tag and a named link. The whole card is the link. */
.ss-core-resources__grid { gap: 22px; }
.ss-core-resource--pub { padding: 0; overflow: hidden; background: #fff; border: 1px solid #dfe8f4; box-shadow: 0 4px 14px rgba(14, 43, 84, .06); }
.ss-core-resource__art { position: relative; display: grid; place-items: center; height: 176px; overflow: hidden; background: radial-gradient(70% 90% at 50% 100%, rgba(79, 143, 232, .45), transparent 70%), linear-gradient(160deg, #173a6e, var(--vm-navy-950)); }
.ss-core-resource__art::before { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(143, 184, 255, .22) 1px, transparent 1px); background-size: 18px 18px; mask-image: linear-gradient(180deg, #000, transparent 85%); -webkit-mask-image: linear-gradient(180deg, #000, transparent 85%); }
.ss-core-resource__art::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: linear-gradient(90deg, var(--vm-orange), var(--vm-blue-400)); }
.ss-core-resource__art img { position: relative; max-height: 132px; width: auto; filter: drop-shadow(0 14px 18px rgba(4, 12, 32, .45)); transition: transform .6s var(--vm-ease); }
.ss-core-resource--pub > .ss-core-resource__type, .ss-core-resource--pub > .ss-card__title, .ss-core-resource--pub > .ss-core-resource__text, .ss-core-resource--pub > .ss-core-resource__cta { padding-left: 24px; padding-right: 24px; }
.ss-core-resource--pub > .ss-core-resource__type { margin: 22px 0 8px; font-size: 11px; }
.ss-core-resource--pub > .ss-card__title { margin: 0 0 10px; font-size: 19px; line-height: 1.35; }
.ss-core-resource--pub > .ss-card__title a { color: var(--vm-ink); transition: color .3s var(--vm-ease); }
.ss-core-resource--pub > .ss-core-resource__text { margin: 0; font-size: 14.5px; line-height: 1.6; color: var(--vm-text); }
.ss-core-resource--pub > .ss-core-resource__cta { padding-top: 18px; padding-bottom: 20px; margin-top: auto; }
.ss-core-resource__foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 14px; border-top: 1px solid var(--vm-line); }
.ss-core-resource__meta { padding: 4px 10px; border-radius: 999px; background: var(--vm-sky-100); color: var(--vm-blue-600); font-family: var(--vm-font-head); font-size: 10.5px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
.ss-core-resource__more { font-family: var(--vm-font-head); font-size: 13px; font-weight: 600; color: var(--vm-green-700); text-align: right; background: linear-gradient(currentColor, currentColor) 100% 100% / 0 1.5px no-repeat; padding-bottom: 2px; transition: background-size .35s var(--vm-ease); }
.ss-core-resource--pub:hover { transform: translateY(-5px); border-color: transparent; box-shadow: 0 20px 40px rgba(14, 43, 84, .14); }
.ss-core-resource--pub:hover .ss-core-resource__art img { transform: translateY(-6px) scale(1.05); }
.ss-core-resource--pub:hover > .ss-card__title a { color: var(--vm-blue-600); }
.ss-core-resource--pub:hover .ss-core-resource__more { background-size: 100% 1.5px; background-position: 0 100%; }
.ss-core-resource--pub::after { content: ""; position: absolute; inset: -1px; z-index: 3; border-radius: inherit; padding: 1.5px; background: linear-gradient(135deg, var(--vm-blue-400), var(--vm-orange)); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; opacity: 0; transition: opacity .35s var(--vm-ease); pointer-events: none; }
.ss-core-resource--pub:hover::after { opacity: 1; }
.ss-core-resource--pub .ss-core-resource__more, .ss-core-resource--pub .ss-card__title a { text-decoration: none !important; }
@media (prefers-reduced-motion: reduce) { .ss-core-resource__art img { transition: none; } .ss-core-resource--pub:hover .ss-core-resource__art img { transform: none; } }

/* Business Outcomes (dark card grid): the badge sits in the icon row, top right, instead of adding
   a row at the foot, and a second paragraph (the AI line) is a compact tagline. The AI card then
   matches its neighbours' height, and titles still line up because every icon row is 72px. */
.ss-core-cards__grid--dark .ss-core-card--badge .ss-core-card__top { display: flex; flex-wrap: nowrap; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 18px; }
.ss-core-cards__grid--dark .ss-core-card--badge.has-icon .ss-core-card__icon { margin-bottom: 0; }
.ss-core-cards__grid--dark .ss-core-card--badge .ss-core-card__badge { order: 0; margin: 0; padding: 0; max-width: 62%; }
.ss-core-cards__grid--dark .ss-core-card__badge .ss-badge { font-size: 9.5px; letter-spacing: .06em; padding: 5px 10px; border-radius: 12px; white-space: normal; text-align: left; line-height: 1.35; }
.ss-core-cards__grid--dark .ss-core-card > p + p { margin-top: 10px; font-family: var(--vm-font-head); font-size: 12.5px; font-weight: 500; letter-spacing: .02em; line-height: 1.5; color: #8bbcff; }

/* Newsletter row: the button never drifts off the field's line (no magnetic/hover offset), and
   the consent line is centred under the field-and-button group. */
.ss-core-newsletter__form .ss-form__submit, .ss-core-newsletter__form .ss-form__submit:hover { translate: none !important; transform: none !important; }
.ss-core-newsletter__form .ss-fx-form__field--checkbox { justify-self: center; }
.ss-core-newsletter__form .ss-fx-check { justify-content: center; }

/* ---------- back to top (sitewide) ----------
   Navy disc, bottom right, with a reading-progress ring in the orange-to-green of the header's
   progress line. Fades up after the first screen; lifts and warms to orange on hover. */
.ss-totop { position: fixed; right: clamp(16px, 2.4vw, 32px); bottom: clamp(16px, 2.4vw, 32px); z-index: 90; display: grid; place-items: center; width: 52px; height: 52px; padding: 0; border: 0; border-radius: 50%; background: linear-gradient(160deg, var(--vm-navy-700), var(--vm-navy-950)); box-shadow: 0 10px 26px rgba(7, 21, 51, .35); color: #fff; cursor: pointer; opacity: 0; visibility: hidden; transform: translateY(14px) scale(.9); transition: opacity .35s var(--vm-ease), transform .35s var(--vm-ease), visibility 0s linear .35s, box-shadow .3s var(--vm-ease), background .3s var(--vm-ease); }
.ss-totop.is-visible { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.ss-totop__ring { position: absolute; inset: 0; width: 100%; height: 100%; transform: rotate(-90deg); }
.ss-totop__track { fill: none; stroke: rgba(255, 255, 255, .14); stroke-width: 3; }
.ss-totop__bar { fill: none; stroke: url(#ss-totop-grad); stroke-width: 3; stroke-linecap: round; stroke-dasharray: 100; stroke-dashoffset: 100; transition: stroke-dashoffset .15s linear; }
.ss-totop__arrow { position: relative; width: 11px; height: 11px; margin-top: 5px; border-top: 2.5px solid currentColor; border-left: 2.5px solid currentColor; transform: rotate(45deg); transition: transform .3s var(--vm-ease); }
.ss-totop:hover, .ss-totop:focus-visible { transform: translateY(-3px); background: linear-gradient(160deg, #f6a043, var(--vm-orange)); box-shadow: 0 14px 30px rgba(241, 140, 33, .4); }
.ss-totop:hover .ss-totop__arrow { transform: translateY(-2px) rotate(45deg); }
.ss-totop:hover .ss-totop__track { stroke: rgba(255, 255, 255, .3); }
.ss-totop:focus-visible { outline: 2px solid var(--vm-orange); outline-offset: 3px; }
@media (max-width: 600px) { .ss-totop { width: 46px; height: 46px; } }
@media (prefers-reduced-motion: reduce) { .ss-totop, .ss-totop__arrow, .ss-totop__bar { transition: none; } }

/* Resource publication cards: the footer row no longer sits above the card's link (the old CTA
   stacking rule), so the whole card is clickable. The hover is unmistakable: the art panel
   brightens, the link becomes a filled green pill with an arrow, and the format tag turns navy. */
.ss-core-resource--pub .ss-core-resource__cta { position: static; z-index: auto; }
.ss-core-resource--pub { cursor: pointer; }
.ss-core-resource__art { transition: filter .4s var(--vm-ease); }
.ss-core-resource--pub:hover .ss-core-resource__art { filter: brightness(1.18) saturate(1.1); }
.ss-core-resource--pub .ss-core-resource__more { display: inline-flex; align-items: center; gap: 8px; padding: 7px 14px; border-radius: 999px; border: 1.5px solid currentColor; background: none; transition: background-color .3s var(--vm-ease), color .3s var(--vm-ease), border-color .3s var(--vm-ease), padding .3s var(--vm-ease); }
.ss-core-resource--pub .ss-core-resource__more::after { content: ""; width: 7px; height: 7px; border-top: 2px solid currentColor; border-right: 2px solid currentColor; transform: rotate(45deg); transition: transform .3s var(--vm-ease); }
.ss-core-resource--pub:hover .ss-core-resource__more { background: var(--vm-green-700); border-color: var(--vm-green-700); color: #fff; }
.ss-core-resource--pub:hover .ss-core-resource__more::after { transform: translateX(3px) rotate(45deg); }
.ss-core-resource--pub:hover .ss-core-resource__meta { background: var(--vm-navy-800); color: #fff; }
.ss-core-resource__meta { transition: background-color .3s var(--vm-ease), color .3s var(--vm-ease); }

/* ---------- footer refresh ----------
   No bullets: each link has a short orange dash that stretches and nudges the link right on hover.
   Column titles get an orange underline accent; contact and social icons are rings that fill
   orange on hover; a brand-gradient hairline runs along the top of the footer and the panel. */
.ss-footer { padding-top: 64px; }
.ss-footer::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: linear-gradient(90deg, var(--vm-orange), var(--vm-green)); }
.ss-footer__panel { position: relative; overflow: hidden; gap: 40px; padding: 40px; background: linear-gradient(160deg, rgba(23, 58, 110, .45), rgba(7, 21, 51, .35)); border-color: rgba(98, 150, 235, .22); }
.ss-footer__panel::before { content: ""; position: absolute; inset: 0; z-index: -1; background-image: radial-gradient(rgba(143, 184, 255, .12) 1px, transparent 1px); background-size: 20px 20px; mask-image: linear-gradient(135deg, #000, transparent 60%); -webkit-mask-image: linear-gradient(135deg, #000, transparent 60%); pointer-events: none; }
.ss-footer__panel::after { content: ""; position: absolute; left: 40px; right: 40px; top: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(127, 176, 255, .6), rgba(241, 140, 33, .6), transparent); }
.ss-footer__logo { display: inline-block; transition: opacity .3s var(--vm-ease), transform .3s var(--vm-ease); }
.ss-footer__logo:hover { opacity: .9; transform: translateY(-1px); }
.ss-footer__about { max-width: 360px; }

.ss-footer__title { position: relative; margin-bottom: 20px; padding-bottom: 12px; font-size: 15.5px; letter-spacing: .01em; }
.ss-footer__title::after { content: ""; position: absolute; left: 0; bottom: 0; width: 28px; height: 2px; border-radius: 2px; background: var(--vm-orange); }
.ss-footer ul { gap: 11px; }

.ss-footer__col:not(.ss-footer__contact) li a { position: relative; display: inline-flex; align-items: center; gap: 10px; padding: 1px 0; background: none !important; text-decoration: none !important; transition: color .25s var(--vm-ease), transform .3s var(--vm-ease); }
.ss-footer__col li a::before { content: ""; flex: 0 0 auto; width: 8px; height: 2px; margin: 0; border-radius: 2px; background: #5a76a8; transition: width .3s var(--vm-ease), background-color .3s var(--vm-ease); }
.ss-footer__col:not(.ss-footer__contact) li a:hover, .ss-footer__col:not(.ss-footer__contact) li a:focus-visible { color: #fff; transform: translateX(4px); }
.ss-footer__col li a:hover::before, .ss-footer__col li a:focus-visible::before { width: 16px; background: var(--vm-orange); }

.ss-footer__contact li { grid-template-columns: 36px 1fr; gap: 12px; align-items: center; }
.ss-footer__contact li a::before { display: none; }
.ss-footer__contact .ss-footer__ico { width: 36px; height: 36px; background: rgba(255, 255, 255, .06); box-shadow: inset 0 0 0 1px rgba(127, 176, 255, .35); transition: background-color .3s var(--vm-ease), box-shadow .3s var(--vm-ease), transform .3s var(--vm-ease); }
.ss-footer__contact li:hover .ss-footer__ico { background: var(--vm-orange); box-shadow: inset 0 0 0 1px var(--vm-orange), 0 6px 16px rgba(241, 140, 33, .35); transform: translateY(-2px); }
.ss-footer__contact a { background: none !important; text-decoration: none !important; transition: color .25s var(--vm-ease); }
.ss-footer__contact li:hover a { color: #fff; }
.ss-footer__contact li > span:last-child { line-height: 1.55; }

.ss-footer__social a { width: 38px; height: 38px; background: rgba(255, 255, 255, .06); box-shadow: inset 0 0 0 1px rgba(127, 176, 255, .35); transition: background-color .3s var(--vm-ease), box-shadow .3s var(--vm-ease), transform .3s var(--vm-ease); }
.ss-footer__social a:hover, .ss-footer__social a:focus-visible { background: var(--vm-orange); box-shadow: inset 0 0 0 1px var(--vm-orange), 0 8px 18px rgba(241, 140, 33, .35); transform: translateY(-3px); }

.ss-footer__bottom { margin-top: 18px; padding: 16px 24px; background: rgba(255, 255, 255, .04); border: 1px solid rgba(98, 150, 235, .16); color: #8fa2c4; }
.ss-footer__legal li + li::before { content: ""; display: inline-block; width: 4px; height: 4px; margin: 0 12px 2px 2px; border-radius: 50%; background: #5a76a8; opacity: 1; vertical-align: middle; }
.ss-footer__legal a { background: none !important; text-decoration: none !important; transition: color .25s var(--vm-ease); }
.ss-footer__legal a:hover { color: #fff; }

@media (max-width: 600px) { .ss-footer__panel { padding: 28px 22px; gap: 32px; } .ss-footer__panel::after { left: 22px; right: 22px; } }
@media (prefers-reduced-motion: reduce) { .ss-footer__col li a, .ss-footer__contact .ss-footer__ico, .ss-footer__social a, .ss-footer__logo { transition: none; transform: none !important; } }

/* Footer contact rows: each whole row (icon and text) is the link. */
.ss-footer__contact li { display: block; }
.ss-footer__contact-link { display: grid; grid-template-columns: 36px 1fr; gap: 12px; align-items: center; color: #b9c6de; transition: color .25s var(--vm-ease); }
.ss-footer__contact-link:hover, .ss-footer__contact-link:focus-visible { color: #fff; }
.ss-footer__contact-link:hover .ss-footer__ico, .ss-footer__contact-link:focus-visible .ss-footer__ico { background: var(--vm-orange); box-shadow: inset 0 0 0 1px var(--vm-orange), 0 6px 16px rgba(241, 140, 33, .35); transform: translateY(-2px); }
.ss-footer__contact-link > span:last-child { line-height: 1.55; }
/* Leave room for the back-to-top button so it never covers the legal links. */
.ss-footer__bottom { padding-right: 88px; }
@media (max-width: 600px) { .ss-footer__bottom { padding-right: 24px; padding-bottom: 72px; } }

/* Footer layout v2: the brand (logo, about, social) is a full-width row across the top; Quick
   Links, Other Links and Contact share three equal columns beneath, wide enough that every link
   and each address line sits on one line. Hovers only use transforms, so nothing reflows. */
.ss-footer__panel { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 32px; }
.ss-footer__brand { grid-column: 1 / -1; display: flex; align-items: center; gap: 20px 40px; padding-bottom: 28px; border-bottom: 1px solid rgba(127, 176, 255, .16); }
.ss-footer__brand .ss-footer__logo { flex: 0 0 auto; }
.ss-footer__brand .ss-footer__logo img { margin: 0; }
.ss-footer__brand .ss-footer__about { flex: 1 1 auto; max-width: 620px; margin: 0; }
.ss-footer__brand .ss-footer__social { flex: 0 0 auto; margin: 0 0 0 auto !important; }

.ss-footer__col:not(.ss-footer__contact) li a { white-space: nowrap; }
.ss-footer__col li a::before { width: 14px; transform: scaleX(.55); transform-origin: 0 50%; transition: transform .3s var(--vm-ease), background-color .3s var(--vm-ease); }
.ss-footer__col li a:hover::before, .ss-footer__col li a:focus-visible::before { width: 14px; transform: scaleX(1); }

.ss-footer__contact-link > span:last-child { white-space: nowrap; }
.ss-footer__contact-link { align-items: start; }
.ss-footer__contact-link .ss-footer__ico { margin-top: -6px; }
.ss-footer__contact li:not(:last-child) .ss-footer__contact-link { align-items: center; }
.ss-footer__contact li:not(:last-child) .ss-footer__contact-link .ss-footer__ico { margin-top: 0; }

@media (max-width: 980px) {
	.ss-footer__panel { grid-template-columns: 1fr 1fr; }
	.ss-footer__brand { flex-wrap: wrap; }
	.ss-footer__brand .ss-footer__social { margin-left: 0 !important; }
}
@media (max-width: 600px) {
	.ss-footer__panel { grid-template-columns: 1fr; }
	.ss-footer__col:not(.ss-footer__contact) li a, .ss-footer__contact-link > span:last-child { white-space: normal; }
}

/* Buttons never carry a leftover offset (belt and braces for the retired magnetic effect, and for
   any cached copy of the old script). */
.ss-btn { translate: none !important; }

/* ---------- sitewide rhythm and density (subpage pass) ---------- */
/* Same-colour sections no longer stack both paddings, on every page (was Home only). */
.ss-section:not(.ss-section--sky):not(.ss-section--sky-fade):not(.ss-section--dark) + .ss-section:not(.ss-section--sky):not(.ss-section--sky-fade):not(.ss-section--dark):not(.ss-core-cta):not(.ss-core-newsletter) { padding-top: calc(var(--vm-section) * .45); }
.ss-section--sky-fade + .ss-section:not(.ss-section--sky):not(.ss-section--sky-fade):not(.ss-section--dark) { padding-top: calc(var(--vm-section) * .55); }
.ss-section:has(+ .ss-core-cta), .ss-section:has(+ .ss-core-newsletter) { padding-bottom: calc(var(--vm-section) * .55); }

/* Dense dark card grids (7+ cards): the Home capability treatment. Icon on the title row,
   tighter padding and type, so a 9-10 card grid is roughly half as tall. */
.ss-core-cards__grid--dark:has(> :nth-child(7)) { gap: 16px; }
.ss-core-cards__grid--dark:has(> :nth-child(7)) > .ss-core-card { display: grid; grid-template-columns: 44px minmax(0, 1fr); grid-template-rows: auto 1fr auto; column-gap: 12px; align-items: center; padding: 20px 20px 18px; }
.ss-core-cards__grid--dark:has(> :nth-child(7)) > .ss-core-card:not(.has-icon) { grid-template-columns: minmax(0, 1fr); }
.ss-core-cards__grid--dark:has(> :nth-child(7)) .ss-core-card__top { display: contents; }
.ss-core-cards__grid--dark:has(> :nth-child(7)) .ss-core-card__icon { grid-column: 1; grid-row: 1; width: 44px; height: 44px; margin: 0; }
.ss-core-cards__grid--dark:has(> :nth-child(7)) .ss-core-card__icon .ss-card__icon { width: 44px; height: 44px; object-fit: contain; object-position: 0 100%; }
.ss-core-cards__grid--dark:has(> :nth-child(7)) .ss-card__title { grid-column: -2; grid-row: 1; margin: 0; font-size: 16.5px; line-height: 1.3; }
.ss-core-cards__grid--dark:has(> :nth-child(7)) > .ss-core-card > p, .ss-core-cards__grid--dark:has(> :nth-child(7)) .ss-core-card__list, .ss-core-cards__grid--dark:has(> :nth-child(7)) .ss-core-card__more, .ss-core-cards__grid--dark:has(> :nth-child(7)) .ss-core-card__badge { grid-column: 1 / -1; }
.ss-core-cards__grid--dark:has(> :nth-child(7)) > .ss-core-card > p { align-self: start; margin-top: 10px; font-size: 14px; line-height: 1.55; }
.ss-core-cards__grid--dark:has(> :nth-child(7)) .ss-core-card__badge { order: 0; margin: 10px 0 0; padding: 0; }
.ss-core-cards__grid--dark:has(> :nth-child(7)) .ss-core-card__more { align-self: end; justify-self: start; padding-top: 12px; }

/* ---------- Services: maturity ladder (ss_svc_maturity) ----------
   Five stages side by side on a gradient progress line; one navy panel beneath shows the chosen
   stage (description and note on the left, its checklist on the right). Auto-advances via
   [data-tabs-auto] until the visitor picks a stage. */
body .ss-svc-ladder__rail { position: relative; display: grid; grid-template-columns: repeat(var(--n, 5), minmax(0, 1fr)); gap: 12px; }
body .ss-svc-ladder__rail::before { content: ""; position: absolute; left: 4%; right: 4%; top: 25px; height: 3px; border-radius: 3px; background: linear-gradient(90deg, var(--vm-orange), #f5b25b 50%, var(--vm-green)); opacity: .35; }
body .ss-svc-ladder__step { position: relative; display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 0 6px 14px; border: 0; background: none; text-align: center; cursor: pointer; font: inherit; color: var(--vm-ink); }
body .ss-svc-ladder__num { position: relative; z-index: 1; display: grid; place-items: center; width: 52px; height: 52px; margin-bottom: 6px; border-radius: 50%; background: #fff; border: 2px solid #cfe0f5; font-family: var(--vm-font-head); font-size: 17px; font-weight: 600; color: var(--vm-blue-600); transition: background .3s var(--vm-ease), border-color .3s var(--vm-ease), color .3s var(--vm-ease), transform .3s var(--vm-ease), box-shadow .3s var(--vm-ease); }
body .ss-svc-ladder__name { font-family: var(--vm-font-head); font-size: 15.5px; font-weight: 500; line-height: 1.3; }
body .ss-svc-ladder__level { font-family: var(--vm-font-head); font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--vm-orange); }
body .ss-svc-ladder__step:hover .ss-svc-ladder__num { border-color: var(--vm-blue-400); transform: translateY(-2px); }
body .ss-svc-ladder__step[aria-selected=true] .ss-svc-ladder__num { background: linear-gradient(160deg, var(--vm-navy-700), var(--vm-navy-950)); border-color: var(--vm-orange); color: #fff; box-shadow: 0 0 0 6px rgba(241, 140, 33, .15), 0 10px 22px rgba(10, 31, 71, .25); }
body .ss-svc-ladder__step::after { content: ""; position: absolute; left: 20%; right: 20%; bottom: 0; height: 3px; border-radius: 3px; background: linear-gradient(90deg, var(--vm-orange), var(--vm-green)); transform: scaleX(0); transform-origin: 0 50%; }
body .ss-svc-ladder__step[aria-selected=true]::after { transform: scaleX(1); }
body .ss-svc-ladder.is-auto.is-visible .ss-svc-ladder__step[aria-selected=true]::after { animation: ss-tabs-progress 7s linear forwards; }
body .ss-svc-ladder:hover .ss-svc-ladder__step[aria-selected=true]::after { animation-play-state: paused; }
body .ss-svc-ladder__panels { display: grid; margin-top: 22px; }
body .ss-svc-ladder__panel { grid-area: 1 / 1; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 24px clamp(28px, 4vw, 56px); align-items: start; padding: clamp(26px, 3.5vw, 40px); border-radius: var(--vm-radius-lg); background: radial-gradient(120% 120% at 0% 0%, #173a6e 0%, var(--vm-navy-900) 60%, var(--vm-navy-950) 100%); border: 1px solid var(--vm-line-dark); color: #c9d5ea; box-shadow: 0 16px 34px rgba(7, 21, 51, .2); }
body .ss-svc-ladder__panel[hidden] { display: grid; visibility: hidden; }
body .ss-svc-ladder__panel.is-entering { animation: ss-criteria-in .45s var(--vm-ease); }
body .ss-svc-ladder__kicker { margin: 0 0 8px; font-family: var(--vm-font-head); font-size: 11.5px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: #ffb066; }
body .ss-svc-ladder__title { margin: 0 0 12px; font-size: clamp(22px, 2.2vw, 28px); color: #fff; }
body .ss-svc-ladder__desc { margin: 0; font-size: 15.5px; line-height: 1.65; }
body .ss-svc-ladder__note { margin: 16px 0 0; font-size: 14px; font-weight: 600; color: #fff; }
body .ss-svc-ladder__list { margin: 0; padding: 20px 22px; border-radius: var(--vm-radius); background: rgba(255, 255, 255, .05); border: 1px solid rgba(127, 176, 255, .2); color: #dbe5f6; }
@media (max-width: 900px) {
	body .ss-svc-ladder__rail { grid-template-columns: repeat(var(--n, 5), minmax(120px, 1fr)); overflow-x: auto; scrollbar-width: none; padding-bottom: 4px; }
	body .ss-svc-ladder__panel { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) { .ss-svc-ladder__panel.is-entering { animation: none; } .ss-svc-ladder__num { transition: none; } }

/* ---------- Services: "Why Organizations Choose OnShore" (ss_svc_why), compact ----------
   The ecosystem heading and text sit beside a smaller illustration; proof chips are shorter;
   the remaining blocks keep full width with tighter spacing. */
body .ss-svc-why__panel { padding: clamp(32px, 4vw, 52px) clamp(18px, 3.5vw, 44px); }
body .ss-svc-why__proof { gap: 12px; }
body .ss-svc-why__proof li { min-height: 64px; padding: 12px 16px; font-size: 14.5px; transition: background .3s var(--vm-ease), border-color .3s var(--vm-ease), transform .3s var(--vm-ease); }
body .ss-svc-why__proof li:hover { transform: translateY(-2px); }
body .ss-svc-why__eco { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); column-gap: clamp(28px, 4vw, 56px); align-items: center; margin-top: clamp(32px, 4vw, 48px); text-align: left; }
body .ss-svc-why__eco > * { grid-column: 1 / -1; }
body .ss-svc-why__eco > .ss-svc-why__ecotitle { grid-column: 1; grid-row: 1; align-self: end; margin: 0 0 10px; max-width: none; }
body .ss-svc-why__eco > .ss-svc-why__ecotext { grid-column: 1; grid-row: 2; align-self: start; margin: 0; max-width: none; }
body .ss-svc-why__eco > .ss-svc-why__art { grid-column: 2; grid-row: 1 / span 2; margin: 0; max-width: none; }
body .ss-svc-why__eco > .ss-svc-why__art img { max-height: 280px; width: auto; }
body .ss-svc-why__svc, body .ss-svc-why__grid { margin-top: 24px; }
@media (max-width: 900px) { .ss-svc-why__eco { grid-template-columns: 1fr; } .ss-svc-why__eco > .ss-svc-why__art { grid-column: 1; grid-row: auto; margin-top: 20px; } }

/* Service cards (Services maturity + why sections): the whole card is the link. */
body .ss-svc-svccard { position: relative; transition: transform .35s var(--vm-ease), box-shadow .35s var(--vm-ease), border-color .35s var(--vm-ease); }
body .ss-svc-svccard__name a { color: inherit; text-decoration: none !important; }
body .ss-svc-svccard__name a::after { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: inherit; }
body .ss-svc-svccard:has(a):hover { transform: translateY(-4px); box-shadow: 0 16px 34px rgba(7, 21, 51, .22); }
body .ss-svc-svccard:has(a)::before { content: ""; position: absolute; inset: -1px; z-index: 2; border-radius: inherit; padding: 1.5px; background: linear-gradient(135deg, var(--vm-blue-400), var(--vm-orange)); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; opacity: 0; transition: opacity .35s var(--vm-ease); pointer-events: none; }
body .ss-svc-svccard:has(a):hover::before { opacity: 1; }

/* Whole-card links (main.js adds .is-clickable): pointer, lift and the blue-to-orange edge. */
.is-clickable { cursor: pointer; }
.is-clickable:not(.ss-core-card--tiles):not(.ss-core-resource--pub):not(.ss-core-webinar__card) { transition: transform .35s var(--vm-ease), box-shadow .35s var(--vm-ease), border-color .35s var(--vm-ease); }
.is-clickable:not(.ss-core-card--tiles):not(.ss-core-resource--pub):not(.ss-core-webinar__card):hover { transform: translateY(-4px); box-shadow: 0 18px 36px rgba(14, 43, 84, .16); }

/* Solutions grid: the badge rides the top-right corner of the card art, so it never pushes the
   title down; every card reserves the same label row. */
body .ss-svc-sol__card { position: relative; }
body .ss-svc-sol__top .ss-badge { position: absolute; top: 14px; right: 14px; z-index: 2; max-width: calc(100% - 28px); font-size: 9.5px; letter-spacing: .06em; border-radius: 12px; }
body .ss-svc-sol__top { min-height: 18px; }
body .ss-svc-sol__body:not(:has(.ss-svc-sol__top)) > .ss-svc-sol__name { margin-top: 30px; }

/* ---------- product card grids (ss_proda_cards: eQMS, IQ, CloudMaster) ---------- */
body .ss-proda-cards__figure img { max-height: 320px; width: auto; margin: 0 auto; }
body .ss-proda-card .ss-badge { max-width: 100%; white-space: normal; text-align: left; line-height: 1.35; font-size: 9.5px; letter-spacing: .06em; border-radius: 12px; }
/* Dense grids (7+ cards): smaller icon, tighter padding and type. */
body .ss-proda-cards__grid:has(> :nth-child(7)) { --gap: 16px; }
body .ss-proda-cards__grid:has(> :nth-child(7)) > .ss-proda-card { padding: 22px 20px 20px; }
body .ss-proda-cards__grid:has(> :nth-child(7)) .ss-card__icon { width: 52px; height: 52px; margin-bottom: 12px; }
body .ss-proda-cards__grid:has(> :nth-child(7)) .ss-card__title { font-size: 16.5px; margin-bottom: 6px; }
body .ss-proda-cards__grid:has(> :nth-child(7)) p { font-size: 14px; line-height: 1.55; }
body .ss-proda-card__link { text-decoration: none !important; }

/* ---------- Knowledge Center: Featured Downloads shelf (ss_res_shelf) ----------
   Horizontal book cards: a small cover beside the title, text and download, two per row. */
body .ss-res-shelf__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
body .ss-res-book { position: relative; display: grid; grid-template-columns: 118px minmax(0, 1fr); gap: 20px; align-items: start; padding: 18px; border-radius: var(--vm-radius-lg); border: 1px solid #dfe8f4; background: #fff; box-shadow: 0 2px 8px rgba(14, 43, 84, .04); transition: transform .35s var(--vm-ease), box-shadow .35s var(--vm-ease), border-color .35s var(--vm-ease); }
body .ss-res-book:hover { transform: translateY(-3px); border-color: #c4d7f0; box-shadow: 0 16px 32px rgba(14, 43, 84, .12); }
body .ss-res-book__cover { gap: 8px; padding: 12px 10px 10px 16px; aspect-ratio: 4 / 5; }
body .ss-res-book__type { font-size: 8.5px; letter-spacing: .12em; }
body .ss-res-book__cover-title { font-size: 12.5px; line-height: 1.25; }
body .ss-res-book__logo { padding: 6px; border-radius: 5px; }
body .ss-res-book__foot { font-size: 7.5px; letter-spacing: .1em; }
body .ss-res-book:hover .ss-res-book__cover { transform: translateY(-3px) rotate(-1.5deg); }
body .ss-res-book__body { height: 100%; gap: 6px; }
body .ss-res-book__title { font-size: 16.5px; }
body .ss-res-book__text { font-size: 14px; line-height: 1.55; }
body .ss-res-book__btn, body .ss-res-book__pending { margin-top: 10px; }
body .ss-res-book .ss-res-gate { grid-column: 1 / -1; }
@media (max-width: 760px) { .ss-res-shelf__grid { grid-template-columns: 1fr; } }
@media (max-width: 420px) { .ss-res-book { grid-template-columns: 92px minmax(0, 1fr); gap: 14px; } }

/* Resource icon tiles: no 64px of padding reserved for the arrow; the arrow sits top right and
   only appears on hover. */
body .ss-res-tile--icon { padding: 24px 22px 22px; }
body .ss-res-tile__arrow { top: 16px; right: 16px; bottom: auto; opacity: 0; }
body .ss-res-tile--link:hover .ss-res-tile__arrow, body .ss-res-tile--link:focus-visible .ss-res-tile__arrow { opacity: 1; }

/* ---------- Knowledge Library filters: one row on desktop ---------- */
@media (min-width: 861px) {
	body .ss-fx-filters { display: flex; align-items: flex-end; gap: 12px; padding: 14px; }
	body .ss-fx-filters__search { flex: 2 1 0; min-width: 0; }
	body .ss-fx-filters__field { flex: 1 1 0; min-width: 0; }
	body .ss-fx-filters .ss-btn { flex: 0 0 auto; }
}
/* Library result cards: shorter media band. */
body .ss-fx-card__media { aspect-ratio: 16 / 7; }
body .ss-fx-card__media img { width: 100%; height: 100%; object-fit: cover; }

/* ---------- long centred forms (e.g. TestMaster AI Early Access) ----------
   With 8+ fields the copy sits beside the form and stays in view while the visitor fills it in,
   instead of stacking above a very tall card. */
@media (min-width: 1025px) {
	.ss-core-form--center .ss-core-form__grid:has(.ss-form__field:nth-of-type(8)) { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(32px, 4vw, 64px); align-items: start; }
	.ss-core-form--center .ss-core-form__grid:has(.ss-form__field:nth-of-type(8)) .ss-core-form__copy { position: sticky; top: 140px; text-align: left; }
	.ss-core-form--center .ss-core-form__grid:has(.ss-form__field:nth-of-type(8)) .ss-core-form__copy .ss-head { text-align: left; align-items: flex-start; }
	.ss-core-form--center .ss-core-form__grid:has(.ss-form__field:nth-of-type(8)) .ss-core-form__aside { grid-template-columns: 1fr; }
}

/* Icon + title rows (compact dense grids and the Home bento tiles): titles start at the same
   height whether they run one line or two, instead of centring against the icon; cards in a row
   share one height. */
.ss-core-cards__grid--dark:has(> :nth-child(7)), .ss-core-cards__grid--tiles { align-items: stretch; }
.ss-core-cards__grid--dark:has(> :nth-child(7)) > .ss-core-card, .ss-core-cards__grid--tiles > .ss-core-card--tiles:not(:first-child) { height: auto; align-self: stretch; align-items: start; }
.ss-core-cards__grid--dark:has(> :nth-child(7)) .ss-card__title, .ss-core-cards__grid--tiles > .ss-core-card--tiles:not(:first-child) .ss-card__title { align-self: start; padding-top: 11px; }
.ss-core-cards__grid--dark:has(> :nth-child(7)) > .ss-core-card:not(.has-icon) .ss-card__title { padding-top: 0; }
body .ss-res-book .ss-badge, body .ss-res-tile .ss-badge, body .ss-fx-card .ss-badge { max-width: 100%; white-space: normal; text-align: left; line-height: 1.35; font-size: 9.5px; letter-spacing: .06em; border-radius: 12px; }

/* Subpage split heroes: the illustration is capped and centred against the copy, so it never
   rides up into the nav and the hero stays a sensible height (Home keeps its own hub diagram). */
body:not(.home) .ss-core-hero--split .ss-hero__inner { align-items: center; }
body:not(.home) .ss-core-hero__media .ss-media img { max-height: 420px; }
body:not(.home) .ss-core-hero--split .ss-core-hero__media { align-self: center; padding-top: 24px; }
@media (max-width: 1100px) { body:not(.home) .ss-core-hero__media .ss-media img { max-height: 340px; } }

/* =====================================================================
   Balance pass (Company page and the shared patterns it exposed)
   ===================================================================== */

/* "The Company Behind ValidationMaster®": the diagram is centred against the copy, and the
   heading sits close to its text. */
body .ss-co-story__grid { align-items: center; }
body .ss-co-story .ss-head { margin-bottom: 18px; }

/* Proof tiles ("Why Organizations Choose OnShore"): every tile has the same top slot (figure or
   icon, 56px) and the label starts at the same line in every tile. */
body .ss-co-proof--grid .ss-co-proof__tile { justify-content: flex-start; min-height: 0; padding: 24px 22px; gap: 14px; }
body .ss-co-proof--grid .ss-co-proof__value, body .ss-co-proof--grid .ss-co-proof__icon { display: flex; align-items: flex-end; height: 52px; }
body .ss-co-proof--grid .ss-co-proof__icon img { width: 48px; height: 48px; }

/* Portfolio ("Platform and Solutions"): the illustration leads as a centred banner and the six
   product tiles run in three even columns beneath it; every tile's link sits on one line. */
body .ss-co-portfolio__group--media { grid-template-columns: minmax(0, 1fr); gap: 20px; }
body .ss-co-portfolio__group--media .ss-co-portfolio__media { max-width: 440px; margin: 0 auto; }
body .ss-co-portfolio__group--media .ss-co-portfolio__media img { max-height: 220px; width: auto; margin: 0 auto; }
body .ss-co-portfolio__group--media .ss-co-portfolio__tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body .ss-co-tile { height: 100%; }
body .ss-co-tile__link { margin-top: auto; padding-top: 12px; }
body .ss-co-tile .ss-badge { max-width: 100%; white-space: normal; font-size: 9.5px; letter-spacing: .06em; border-radius: 12px; align-self: flex-start; }
@media (max-width: 900px) { body .ss-co-portfolio__group--media .ss-co-portfolio__tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { body .ss-co-portfolio__group--media .ss-co-portfolio__tiles { grid-template-columns: 1fr; } }

/* Leaders: cards hold the same content, so they match; honors run as a strip of award cards. */
body .ss-co-leaders__grid { align-items: stretch; }
.ss-co-leaders__honors { max-width: 1040px; margin: 24px auto 0; padding: 22px 24px; border-radius: 18px; border: 1px solid #d6e4f6; background: #fff; box-shadow: var(--vm-shadow); }
.ss-section--dark .ss-co-leaders__honors { background: rgba(255, 255, 255, .05); border-color: var(--vm-line-dark); box-shadow: none; }
.ss-co-leaders__honors-title { margin: 0 0 14px; font-family: var(--vm-font-head); font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--vm-orange); }
.ss-co-leaders__honors-title span { color: var(--vm-muted); letter-spacing: .08em; }
.ss-co-leaders__honors-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(min(var(--n, 4), 4), minmax(0, 1fr)); gap: 12px; }
.ss-co-leaders__honors-list li { display: flex; align-items: flex-start; gap: 12px; padding: 14px; border-radius: 12px; background: var(--vm-sky-50); border: 1px solid #e1ebf7; font-size: 14px; line-height: 1.45; color: var(--vm-ink); }
.ss-co-leaders__honors-ico { flex: 0 0 auto; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: linear-gradient(160deg, #f6a043, var(--vm-orange)); color: #fff; }
.ss-co-leaders__honors-ico svg { width: 18px; height: 18px; }
@media (max-width: 980px) { .ss-co-leaders__honors-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .ss-co-leaders__honors-list { grid-template-columns: 1fr; } }

/* Callout strip (e.g. "Lean Validation® Methodology"): a proper icon tile, vertically centred. */
body .ss-co-callout__icon { flex: 0 0 auto; display: grid; place-items: center; width: 72px; height: 72px; border-radius: 18px; background: linear-gradient(160deg, rgba(79, 143, 232, .35), rgba(31, 95, 186, .15)); box-shadow: inset 0 0 0 1px rgba(127, 176, 255, .35); }
body .ss-co-callout__icon img { width: 44px; height: 44px; }
body .ss-co-callout--strip .ss-co-callout__icon { width: 56px; height: 56px; border-radius: 14px; background: #fff; box-shadow: inset 0 0 0 1px #cfe0f6; }
body .ss-co-callout--strip .ss-co-callout__icon img { width: 34px; height: 34px; }

/* List panels: title-only items become tiles with a check badge, laid out in an even row/grid
   (no single column of bullets beside empty space). On dark sections the panel title sits above
   the tiles instead of straddling a white panel's edge. */
body .ss-core-listpanel__panel:not(:has(.ss-core-listpanel__text)) { padding: 0; border: 0; background: none; box-shadow: none; }
body .ss-core-listpanel__panel:not(:has(.ss-core-listpanel__text)).has-title { margin-top: 0; }
body .ss-core-listpanel__panel:not(:has(.ss-core-listpanel__text)) .ss-core-listpanel__title { position: static; transform: none; margin: 0 0 16px; padding: 0; background: none; font-family: var(--vm-font-head); font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--vm-orange); }
body .ss-core-listpanel__panel:not(:has(.ss-core-listpanel__text)) .ss-core-listpanel__list { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 14px; }
body .ss-core-listpanel__panel:not(:has(.ss-core-listpanel__text)) .ss-core-listpanel__item { display: flex; flex-direction: column; gap: 14px; margin: 0; padding: 20px 18px; border-radius: 14px; background: #fff; border: 1px solid #dfe8f4; box-shadow: 0 2px 8px rgba(14, 43, 84, .04); transition: transform .3s var(--vm-ease), box-shadow .3s var(--vm-ease), border-color .3s var(--vm-ease); }
body .ss-core-listpanel__panel:not(:has(.ss-core-listpanel__text)) .ss-core-listpanel__item::before { position: static; width: 34px; height: 34px; border: 0; border-radius: 50%; transform: none; background: var(--vm-green-100) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2326a34b' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 18px no-repeat; }
body .ss-core-listpanel__panel:not(:has(.ss-core-listpanel__text)) .ss-core-listpanel__item:hover { transform: translateY(-3px); border-color: #c4d7f0; box-shadow: 0 14px 28px rgba(14, 43, 84, .1); }
body .ss-core-listpanel__panel:not(:has(.ss-core-listpanel__text)) .ss-core-listpanel__name { margin: 0; font-size: 15.5px; line-height: 1.4; }
.ss-section--dark .ss-core-listpanel__panel:not(:has(.ss-core-listpanel__text)) .ss-core-listpanel__item { background: rgba(255, 255, 255, .06); border-color: rgba(127, 176, 255, .28); box-shadow: none; }
.ss-section--dark .ss-core-listpanel__panel:not(:has(.ss-core-listpanel__text)) .ss-core-listpanel__item::before { background-color: rgba(63, 174, 73, .22); }
.ss-section--dark .ss-core-listpanel__panel:not(:has(.ss-core-listpanel__text)) .ss-core-listpanel__name, .ss-section--dark .ss-core-listpanel__panel:not(:has(.ss-core-listpanel__text)) .ss-core-listpanel__name a { color: #fff; }

/* Split-section checklists (e.g. "Industries we serve"): pill chips in two columns instead of a
   bullet column. */
body .ss-core-split__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 16px; }
body .ss-core-split__list li { display: flex; align-items: center; gap: 10px; padding: 11px 14px; border-radius: 12px; background: #fff; border: 1px solid #dfe8f4; font-size: 15px; line-height: 1.35; color: var(--vm-ink); transition: border-color .3s var(--vm-ease), transform .3s var(--vm-ease); }
body .ss-core-split__list li::before { position: static; flex: 0 0 auto; width: 24px; height: 24px; border: 0; border-radius: 50%; transform: none; background: var(--vm-green-100) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2326a34b' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 14px no-repeat; }
body .ss-core-split__list li:hover { border-color: #c4d7f0; transform: translateY(-1px); }
.ss-section--dark .ss-core-split__list li { background: rgba(255, 255, 255, .06); border-color: rgba(127, 176, 255, .28); color: #fff; }
@media (max-width: 560px) { body .ss-core-split__list { grid-template-columns: 1fr; } }
/* Split checklists wrap as content-width chips (no lone chip in an empty grid row). */
body .ss-core-split__list { display: flex; flex-wrap: wrap; gap: 10px; }
body .ss-core-split__list li { flex: 0 1 auto; padding: 9px 16px 9px 10px; border-radius: 999px; font-size: 14.5px; }
/* Honors cards: the program label always takes two lines' space, so award titles line up. */
body .ss-co-honor__program { min-height: 2.7em; display: flex; align-items: flex-end; }
/* List-panel tiles: column count follows the item count so rows come out even
   (4→4, 5→5, 6→3, 7→4, 8→4, 9→3, 10→5, 11-12→4). */
@media (min-width: 900px) {
	body .ss-core-listpanel__panel:not(:has(.ss-core-listpanel__text)) .ss-core-listpanel__list { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	body .ss-core-listpanel__panel:not(:has(.ss-core-listpanel__text)) .ss-core-listpanel__list:has(> :nth-child(3):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	body .ss-core-listpanel__panel:not(:has(.ss-core-listpanel__text)) .ss-core-listpanel__list:has(> :nth-child(5):last-child),
	body .ss-core-listpanel__panel:not(:has(.ss-core-listpanel__text)) .ss-core-listpanel__list:has(> :nth-child(10):last-child) { grid-template-columns: repeat(5, minmax(0, 1fr)); }
	body .ss-core-listpanel__panel:not(:has(.ss-core-listpanel__text)) .ss-core-listpanel__list:has(> :nth-child(6):last-child),
	body .ss-core-listpanel__panel:not(:has(.ss-core-listpanel__text)) .ss-core-listpanel__list:has(> :nth-child(9):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 560px) and (max-width: 899px) { body .ss-core-listpanel__panel:not(:has(.ss-core-listpanel__text)) .ss-core-listpanel__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Card grids (ss_cards): columns adapt to the card count and a partial last row is centred, so no
   grid ends in a lone card hugging the left edge. 4→2×2 (3-col grids), 6/9→3, 7/8→4, 10→5. */
.ss-core-cards__grid:where(:not(.ss-core-cards__grid--tiles):not(.ss-core-cards__grid--line)) { --g: 22px; --cols: 3; display: flex; flex-wrap: wrap; justify-content: center; gap: var(--g); }
.ss-core-cards__grid:where(:not(.ss-core-cards__grid--tiles):not(.ss-core-cards__grid--line)) > * { flex: 0 0 calc((100% - (var(--cols) - 1) * var(--g)) / var(--cols)); min-width: 0; }
.ss-core-cards__grid.ss-grid--2 { --cols: 2; }
.ss-core-cards__grid.ss-grid--4 { --cols: 4; }
.ss-core-cards__grid.ss-grid--5 { --cols: 5; }
.ss-core-cards__grid.ss-grid--3:has(> :nth-child(4):last-child) { --cols: 2; }
.ss-core-cards__grid:has(> :nth-child(6):last-child), .ss-core-cards__grid:has(> :nth-child(9):last-child) { --cols: 3; }
.ss-core-cards__grid:has(> :nth-child(7):last-child), .ss-core-cards__grid:has(> :nth-child(8):last-child) { --cols: 4; }
.ss-core-cards__grid:has(> :nth-child(10):last-child) { --cols: 5; }
.ss-core-cards__grid--dark:has(> :nth-child(7)) { --g: 16px; }
@media (max-width: 1080px) { .ss-core-cards__grid:not(.ss-core-cards__grid--tiles):not(.ss-core-cards__grid--line) { --cols: 2 !important; } }
@media (max-width: 680px) { .ss-core-cards__grid:not(.ss-core-cards__grid--tiles):not(.ss-core-cards__grid--line) { --cols: 1 !important; } }

/* ---------- one hover language for every card type, sitewide ----------
   Information cards: the edge lights blue, a soft glow, the icon floats a little (no lift or
   pointer, so they don't pretend to be links). Clickable cards (.is-clickable / links) also lift. */
body :is(.ss-core-card, .ss-proda-card, .ss-co-tile, .ss-co-honor, .ss-co-proof__tile, .ss-svc-svccard, .ss-svc-sol__card, .ss-res-tile, .ss-fx-card, .ss-core-mini, .ss-core-eco__item, .ss-co-leader, .ss-core-criteria__panel, [class*="ss-prodb-"][class*="card"]:not([class*="cards"])) {
	transition: transform .35s var(--vm-ease), box-shadow .35s var(--vm-ease), border-color .35s var(--vm-ease), background-color .35s var(--vm-ease);
}
body :is(.ss-core-card, .ss-proda-card, .ss-co-tile, .ss-co-honor, .ss-co-proof__tile, .ss-res-tile, .ss-fx-card, [class*="ss-prodb-"][class*="card"]:not([class*="cards"])):hover {
	border-color: #9fc0ec;
	box-shadow: 0 0 0 1px rgba(79, 143, 232, .35), 0 14px 32px rgba(14, 43, 84, .12);
}
body :is(.ss-core-card--dark, .ss-section--dark .ss-co-proof__tile, .ss-section--dark .ss-co-tile, .ss-res-tile--icon, .ss-co-leader, [class*="ss-prodb-"][class*="card--dark"]):hover {
	border-color: rgba(143, 186, 255, .75);
	box-shadow: 0 0 0 1px rgba(127, 176, 255, .35), 0 0 34px rgba(60, 130, 255, .28) inset, 0 16px 34px rgba(7, 21, 51, .28);
}
body :is(.ss-core-card, .ss-proda-card, .ss-co-tile, .ss-co-honor, .ss-co-proof__tile, .ss-res-tile, .ss-fx-card) :is(.ss-card__icon, .ss-core-card__icon img, .ss-co-proof__icon img, .ss-co-honor__icon img, .ss-res-tile__icon, .ss-co-tile__logo img) { transition: transform .45s var(--vm-ease); }
body :is(.ss-core-card, .ss-proda-card, .ss-co-tile, .ss-co-honor, .ss-co-proof__tile, .ss-res-tile, .ss-fx-card):hover :is(.ss-card__icon, .ss-core-card__icon img, .ss-co-proof__icon img, .ss-co-honor__icon img, .ss-res-tile__icon, .ss-co-tile__logo img) { transform: translateY(-3px) scale(1.06); }
/* Clickable cards also lift. */
body .is-clickable:hover, body .ss-core-card--link:hover, body .ss-res-tile--link:hover { transform: translateY(-4px); }
@media (hover: none), (prefers-reduced-motion: reduce) {
	body :is(.ss-core-card, .ss-proda-card, .ss-co-tile, .ss-co-honor, .ss-co-proof__tile, .ss-res-tile, .ss-fx-card):hover :is(.ss-card__icon, .ss-core-card__icon img, .ss-co-proof__icon img, .ss-co-honor__icon img, .ss-res-tile__icon, .ss-co-tile__logo img) { transform: none; }
	body .is-clickable:hover, body .ss-core-card--link:hover, body .ss-res-tile--link:hover { transform: none; }
}
/* Split illustrations: capped so a tall image never stretches its section (Platforms ecosystem). */
body:not(.home) .ss-core-split__media img, body:not(.home) .ss-core-listpanel__media img { max-height: 380px; width: auto; margin: 0 auto; }
body .ss-core-listpanel__name { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
body .ss-core-listpanel__name .ss-badge { max-width: 100%; white-space: normal; text-align: left; line-height: 1.35; font-size: 9.5px; letter-spacing: .06em; border-radius: 12px; }

/* Company fixes, round 2 */
/* The leaders' honors strip is redundant when the page also has the Recognition section. */
body:has(.ss-co-honors) .ss-co-leaders__honors { display: none; }
/* Recognition (compact): each group gets its own full-width row, one card per column, so neither
   group leaves an empty slot and the rows read evenly. */
body .ss-co-honors--compact .ss-co-honors__groups { grid-template-columns: minmax(0, 1fr); gap: 26px; }
body .ss-co-honors--compact .ss-co-honors__list, body .ss-co-honors--compact .ss-co-honors__group:last-child .ss-co-honors__list { grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); }
body .ss-co-honor { height: 100%; }
@media (max-width: 980px) { body .ss-co-honors--compact .ss-co-honors__list, body .ss-co-honors--compact .ss-co-honors__group:last-child .ss-co-honors__list { grid-auto-flow: row; grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { body .ss-co-honors--compact .ss-co-honors__list, body .ss-co-honors--compact .ss-co-honors__group:last-child .ss-co-honors__list { grid-template-columns: 1fr; } }
/* Cards in a row share one height (height:100% on a flex item blocked stretching). */
.ss-core-cards__grid > .ss-core-card, .ss-core-cards__grid > .ss-card { height: auto; align-self: stretch; }

/* List-panel sections without an illustration: the heading block is centred over the tiles
   instead of hugging the left with empty space beside it. */
body .ss-core-listpanel__top.ss-core-split__grid--solo { max-width: 860px; margin-left: auto; margin-right: auto; text-align: center; }
body .ss-core-listpanel__top.ss-core-split__grid--solo .ss-head { align-items: center; text-align: center; }
body .ss-core-listpanel:has(.ss-core-listpanel__top.ss-core-split__grid--solo) .ss-core-listpanel__title { text-align: center; }
body .ss-core-listpanel:has(.ss-core-listpanel__top.ss-core-split__grid--solo) .ss-btn-row { justify-content: center; }

/* Light stats (subpages): the Home band look on a light background. No outlined boxes; big
   navy-to-blue figures between thin rules, an orange tick above each label. */
body .ss-core-stats:not(.ss-section--dark) .ss-core-stats__grid { gap: 0; }
body .ss-core-stats:not(.ss-section--dark) .ss-core-stat { min-height: 0; padding: 10px 22px 14px; background: none; border: 0; border-radius: 0; box-shadow: none; }
body .ss-core-stats:not(.ss-section--dark) .ss-core-stat + .ss-core-stat { border-left: 1px solid #d9e4f2; }
body .ss-core-stats:not(.ss-section--dark) .ss-core-stat .ss-stat__value { font-size: clamp(44px, 4.4vw, 62px); font-weight: 600; letter-spacing: -.02em; background: linear-gradient(180deg, var(--vm-navy-800) 20%, var(--vm-blue-600)); -webkit-background-clip: text; background-clip: text; color: transparent; }
body .ss-core-stats:not(.ss-section--dark) .ss-core-stat .ss-stat__label { position: relative; margin-top: 16px; padding-top: 14px; }
body .ss-core-stats:not(.ss-section--dark) .ss-core-stat .ss-stat__label::before { content: ""; position: absolute; top: 0; left: 50%; width: 28px; height: 2px; margin-left: -14px; border-radius: 2px; background: var(--vm-orange); transition: width .4s var(--vm-ease), margin .4s var(--vm-ease); }
body .ss-core-stats:not(.ss-section--dark) .ss-core-stat:hover { transform: none; box-shadow: none; }
body .ss-core-stats:not(.ss-section--dark) .ss-core-stat:hover .ss-stat__label::before { width: 64px; margin-left: -32px; }

/* Platform AI section (ss_plat_ai): the intro copy sits beside the illustration; the numbered
   layers run full width (four across), then the assistant chips and buttons. No tall left
   column beside an empty right one. */
@media (min-width: 961px) {
	body .ss-plat-ai__body { align-items: start; row-gap: 0; }
	body .ss-plat-ai__copy { display: contents; }
	body .ss-plat-ai__copy > * { grid-column: 1; }
	body .ss-plat-ai__body > .ss-plat-ai__media { grid-column: 2; grid-row: 1 / span 5; align-self: center; }
	body .ss-plat-ai__copy > :is(.ss-plat-ai__layers, .ss-plat-ai__chips-title, .ss-plat-ai__chips, .ss-btn-row, .ss-plat-ai__note) { grid-column: 1 / -1; }
	body .ss-plat-ai__layers { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 32px; }
	body .ss-plat-ai__layers:has(> :nth-child(3):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	body .ss-plat-ai__layers:has(> :nth-child(2):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
body .ss-plat-ai__layer { height: 100%; }

/* List-panel tiles: a partial last row is centred (flex), matching the card grids. */
@media (min-width: 900px) {
	body .ss-core-listpanel__panel:not(:has(.ss-core-listpanel__text)) .ss-core-listpanel__list { --cols: 4; display: flex; flex-wrap: wrap; justify-content: center; }
	body .ss-core-listpanel__panel:not(:has(.ss-core-listpanel__text)) .ss-core-listpanel__list > * { flex: 0 0 calc((100% - (var(--cols) - 1) * 14px) / var(--cols)); min-width: 0; }
	body .ss-core-listpanel__panel:not(:has(.ss-core-listpanel__text)) .ss-core-listpanel__list:has(> :nth-child(3):last-child),
	body .ss-core-listpanel__panel:not(:has(.ss-core-listpanel__text)) .ss-core-listpanel__list:has(> :nth-child(6):last-child),
	body .ss-core-listpanel__panel:not(:has(.ss-core-listpanel__text)) .ss-core-listpanel__list:has(> :nth-child(9):last-child) { --cols: 3; }
	body .ss-core-listpanel__panel:not(:has(.ss-core-listpanel__text)) .ss-core-listpanel__list:has(> :nth-child(5):last-child),
	body .ss-core-listpanel__panel:not(:has(.ss-core-listpanel__text)) .ss-core-listpanel__list:has(> :nth-child(10):last-child) { --cols: 5; }
}
/* Solution cards: the logo/name row has one fixed height (bottom-aligned), so taglines and
   descriptions start on the same line whether a card shows a logo or a text name. */
body .ss-svc-sol__name { display: flex; align-items: flex-end; min-height: 48px; margin-bottom: 10px; }
body .ss-svc-sol__logo { height: 44px; }

/* Orchestration Layer cards (ss_prodb_hotspots): the compact dense-grid treatment, icon on the
   title row, number kept in the corner. */
body .ss-prodb-hotspots__grid { gap: 16px; }
body .ss-prodb-hotspots__item > .ss-core-card { display: grid; grid-template-columns: 44px minmax(0, 1fr); grid-template-rows: auto 1fr; column-gap: 12px; align-items: start; padding: 20px 44px 18px 20px; }
body .ss-prodb-hotspots__item > .ss-core-card .ss-core-card__top { display: contents; }
body .ss-prodb-hotspots__item > .ss-core-card .ss-core-card__icon { grid-column: 1; grid-row: 1; width: 44px; height: 44px; margin: 0; }
body .ss-prodb-hotspots__item > .ss-core-card .ss-core-card__icon :is(img, svg) { width: 44px; height: 44px; }
body .ss-prodb-hotspots__item > .ss-core-card .ss-card__title { grid-column: 2; grid-row: 1; align-self: start; margin: 0; padding-top: 11px; font-size: 16.5px; }
body .ss-prodb-hotspots__item > .ss-core-card > p { grid-column: 1 / -1; margin-top: 10px; font-size: 14px; line-height: 1.55; }
/* Light cards inside dark sections keep dark, readable text (they inherited the section's pale
   text colour, which vanished on white). */
.ss-section--dark :is(.ss-core-card--light, .ss-core-card--flat, .ss-core-card--tiles) { color: var(--vm-text); }
.ss-section--dark :is(.ss-core-card--light, .ss-core-card--flat, .ss-core-card--tiles) :is(p, li) { color: var(--vm-text) !important; }
.ss-section--dark :is(.ss-core-card--light, .ss-core-card--flat, .ss-core-card--tiles) .ss-card__title { color: var(--vm-ink); }

/* =========================== Company, round 3 =========================== */

/* Statement cards (Our Mission and Standards): the mission leads as a wide navy statement; the
   standards card sits beside it with an orange edge. Larger type, larger icons. */
.ss-core-cards__grid--statement { --g: 22px; }
.ss-core-cards__grid--statement > .ss-core-card--statement:first-child { flex-basis: calc(58% - var(--g) / 2); }
.ss-core-cards__grid--statement > .ss-core-card--statement:last-child:not(:first-child) { flex-basis: calc(42% - var(--g) / 2); }
.ss-core-card--statement { padding: clamp(28px, 3.2vw, 40px); border-radius: 18px; background: #fff; border: 1px solid #dfe8f4; box-shadow: 0 10px 30px rgba(14, 43, 84, .08); }
.ss-core-card--statement:first-child { position: relative; overflow: hidden; isolation: isolate; border: 0; background: radial-gradient(120% 120% at 100% 0%, #1b4486 0%, var(--vm-navy-800) 45%, var(--vm-navy-950) 100%); color: var(--vm-on-dark); box-shadow: 0 20px 44px rgba(10, 31, 71, .25); }
.ss-core-card--statement:first-child::before { content: ""; position: absolute; z-index: -1; inset: 0; background-image: radial-gradient(rgba(143, 184, 255, .14) 1px, transparent 1px); background-size: 20px 20px; mask-image: linear-gradient(135deg, transparent 40%, #000); -webkit-mask-image: linear-gradient(135deg, transparent 40%, #000); }
.ss-core-card--statement:last-child:not(:first-child) { border-top: 4px solid var(--vm-orange); }
.ss-core-card--statement .ss-core-card__icon .ss-card__icon { width: 64px; height: 64px; }
.ss-core-card--statement .ss-card__title { font-size: clamp(22px, 2.1vw, 28px); margin-bottom: 12px; }
.ss-core-card--statement:first-child .ss-card__title { color: #fff; }
.ss-core-card--statement > p { font-size: 16px; line-height: 1.7; }
.ss-core-card--statement:first-child > p { color: #dbe5f6; font-size: 17.5px; }
.ss-core-card--statement:first-child .ss-core-card__more { color: #ffb066; }
.ss-core-card--statement .ss-core-card__more { padding-top: 22px; font-family: var(--vm-font-head); font-weight: 600; }
@media (max-width: 900px) { .ss-core-cards__grid--statement > .ss-core-card--statement { flex-basis: 100% !important; } }

/* Leaders: Valarie's honors are shown again, directly under the leader cards. */
body:has(.ss-co-honors) .ss-co-leaders__honors { display: block; }

/* Our Approach: centred heading → centred tile content; the methodology callout spans the same
   width as the tiles; the two dark sections meet on one solid navy, so there is no seam. */
body .ss-core-listpanel:has(.ss-core-split__grid--solo) .ss-core-listpanel__item { align-items: center; text-align: center; }
body .ss-core-listpanel:has(.ss-core-split__grid--solo) .ss-core-listpanel__name { justify-content: center; }
body .ss-co-callout--on-dark { max-width: none; }
.ss-section--dark:has(+ .ss-co-callout-row.ss-section--dark) { background: radial-gradient(120% 90% at 70% 0%, var(--vm-navy-700) 0%, var(--vm-navy-800) 32%, var(--vm-navy-900) 72%); }
.ss-section--dark + .ss-co-callout-row.ss-section--dark { background: var(--vm-navy-900); padding-top: 0; }

/* Splits with a long checklist (e.g. Regulated Environments): heading and copy beside the art,
   then the list as a full-width, centred chip row under a proper label with rules either side. */
@media (min-width: 961px) {
	body .ss-core-split__grid:has(.ss-core-split__list > li:nth-child(5)) { align-items: center; row-gap: 0; }
	body .ss-core-split__grid:has(.ss-core-split__list > li:nth-child(5)) > .ss-core-split__copy { display: contents; }
	body .ss-core-split__grid:has(.ss-core-split__list > li:nth-child(5)) > .ss-core-split__copy > * { grid-column: 1; }
	body .ss-core-split__grid.ss-split--reverse:has(.ss-core-split__list > li:nth-child(5)) > .ss-core-split__copy > * { grid-column: 2; }
	body .ss-core-split__grid:has(.ss-core-split__list > li:nth-child(5)) > .ss-core-split__media { grid-column: 2; grid-row: 1 / span 3; }
	body .ss-core-split__grid.ss-split--reverse:has(.ss-core-split__list > li:nth-child(5)) > .ss-core-split__media { grid-column: 1; }
	body .ss-core-split__grid:has(.ss-core-split__list > li:nth-child(5)) > .ss-core-split__copy > :is(.ss-core-split__tagline, .ss-core-split__list, .ss-btn-row) { grid-column: 1 / -1; }
	body .ss-core-split__grid:has(.ss-core-split__list > li:nth-child(5)) .ss-core-split__tagline { display: flex; align-items: center; gap: 18px; margin: 40px 0 0; font-family: var(--vm-font-head); font-size: 12px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--vm-orange); }
	body .ss-core-split__grid:has(.ss-core-split__list > li:nth-child(5)) .ss-core-split__tagline::before, body .ss-core-split__grid:has(.ss-core-split__list > li:nth-child(5)) .ss-core-split__tagline::after { content: ""; flex: 1 1 auto; height: 1px; background: #dbe6f4; }
	body .ss-core-split__grid:has(.ss-core-split__list > li:nth-child(5)) .ss-core-split__list { justify-content: center; margin-top: 18px; }
	body .ss-core-split__grid:has(.ss-core-split__list > li:nth-child(5)) .ss-core-split__media img { max-height: 340px; }
}

/* Why OnShore (proof grid): the figures run as a stats band across the top (the Home look),
   and the capability points as a row of compact icon tiles beneath. */
body .ss-co-proof--grid .ss-co-proof__tiles { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; }
body .ss-co-proof--grid .ss-co-proof__tile--value { flex: 0 0 calc((100% - 32px) / 3); align-items: center; text-align: center; padding: 8px 20px 26px; background: none; border: 0; border-radius: 0; box-shadow: none; backdrop-filter: none; }
body .ss-co-proof--grid .ss-co-proof__tile--value + .ss-co-proof__tile--value { border-left: 1px solid rgba(120, 165, 240, .22); }
body .ss-co-proof--grid .ss-co-proof__tile--value .ss-co-proof__value { justify-content: center; height: auto; font-size: clamp(48px, 4.8vw, 66px); font-weight: 600; letter-spacing: -.02em; background: linear-gradient(180deg, #fff 30%, #8bbcff); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ss-section:not(.ss-section--dark) .ss-co-proof--grid .ss-co-proof__tile--value .ss-co-proof__value { background-image: linear-gradient(180deg, var(--vm-navy-800) 20%, var(--vm-blue-600)); }
body .ss-co-proof--grid .ss-co-proof__tile--value .ss-co-proof__label { position: relative; padding-top: 14px; font-size: 13px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: #ffb066; }
body .ss-co-proof--grid .ss-co-proof__tile--value .ss-co-proof__label::before { content: ""; position: absolute; top: 0; left: 50%; width: 28px; height: 2px; margin-left: -14px; border-radius: 2px; background: var(--vm-orange); }
body .ss-co-proof--grid .ss-co-proof__tile--value:hover { transform: none; box-shadow: none; }
body .ss-co-proof--grid .ss-co-proof__tile:not(.ss-co-proof__tile--value) { flex: 0 0 calc((100% - 64px) / 5); align-items: center; text-align: center; padding: 22px 16px; gap: 12px; }
body .ss-co-proof--grid .ss-co-proof__tile:not(.ss-co-proof__tile--value) .ss-co-proof__icon { justify-content: center; height: auto; }
body .ss-co-proof--grid .ss-co-proof__tile:not(.ss-co-proof__tile--value) .ss-co-proof__label { font-size: 14.5px; }
@media (max-width: 1080px) { body .ss-co-proof--grid .ss-co-proof__tile:not(.ss-co-proof__tile--value) { flex-basis: calc((100% - 32px) / 3); } }
@media (max-width: 640px) { body .ss-co-proof--grid .ss-co-proof__tile--value, body .ss-co-proof--grid .ss-co-proof__tile:not(.ss-co-proof__tile--value) { flex-basis: 100%; } body .ss-co-proof--grid .ss-co-proof__tile--value + .ss-co-proof__tile--value { border-left: 0; } }

/* Splits / list panels whose illustration slot holds no image (an unfilled art brief): drop the
   empty column and centre the heading block, instead of leaving half the section blank. */
body .ss-core-listpanel__top:has(> .ss-core-media:not(:has(img))),
body .ss-core-split__grid:has(> .ss-core-media:not(:has(img))),
body .ss-core-split__grid.ss-core-split__grid--solo { grid-template-columns: minmax(0, 1fr); max-width: 860px; margin-left: auto; margin-right: auto; text-align: center; }
body .ss-core-listpanel__top:has(> .ss-core-media:not(:has(img))) > .ss-core-media,
body .ss-core-split__grid:has(> .ss-core-media:not(:has(img))) > .ss-core-media { display: none; }
body :is(.ss-core-listpanel__top:has(> .ss-core-media:not(:has(img))), .ss-core-split__grid:has(> .ss-core-media:not(:has(img))), .ss-core-split__grid--solo) :is(.ss-head, .ss-head__main) { align-items: center; text-align: center; }
body :is(.ss-core-split__grid:has(> .ss-core-media:not(:has(img))), .ss-core-split__grid--solo) .ss-btn-row { justify-content: center; }
body .ss-core-listpanel:has(.ss-core-listpanel__top > .ss-core-media:not(:has(img))) .ss-core-listpanel__title { text-align: center; }
body .ss-core-listpanel:has(.ss-core-listpanel__top > .ss-core-media:not(:has(img))) .ss-core-listpanel__item { align-items: center; text-align: center; }
body .ss-core-listpanel:has(.ss-core-listpanel__top > .ss-core-media:not(:has(img))) .ss-core-listpanel__name { justify-content: center; }

/* Long forms: use the full container (not the narrow 900px one) so the form card has room, and
   checkbox groups lay out in columns instead of one long list. */
@media (min-width: 1025px) {
	body .ss-core-form .ss-container--narrow:has(.ss-form__field:nth-of-type(8)) { max-width: calc(var(--vm-container) + var(--vm-gutter) * 2); }
	body .ss-core-form--center .ss-core-form__grid:has(.ss-form__field:nth-of-type(8)) { grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); }
}
body .ss-fx-form__checks { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px 16px; }
body .ss-fx-form__checks .ss-fx-check { padding: 8px 10px; border-radius: 8px; border: 1px solid #e1ebf7; background: #fbfdff; font-size: 14px !important; align-items: center; transition: border-color .25s var(--vm-ease), background-color .25s var(--vm-ease); }
body .ss-fx-form__checks .ss-fx-check:hover { border-color: #b9d2f3; background: #f3f8ff; }
body .ss-fx-form__checks .ss-fx-check:has(input:checked) { border-color: var(--vm-green-700); background: var(--vm-green-100); }
body .ss-fx-form__checks .ss-fx-check input { margin: 0; }
@media (max-width: 760px) { body .ss-fx-form__checks { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 420px) { body .ss-fx-form__checks { grid-template-columns: 1fr; } }

/* Leaders, v3: stacked full-width cards. Identity (avatar, name, role, experience) on the left,
   bio and — where there are any — honors on the right, so each leader's honors sit with them and
   cards of different lengths don't sit side by side. */
body .ss-co-leaders__grid { grid-template-columns: minmax(0, 1fr); max-width: 1080px; gap: 20px; }
@media (min-width: 861px) {
	body .ss-co-leader { display: grid; grid-template-columns: minmax(0, 320px) minmax(0, 1fr); grid-template-rows: auto auto 1fr; column-gap: clamp(28px, 4vw, 48px); row-gap: 14px; align-items: start; padding: clamp(28px, 3vw, 36px); }
	body .ss-co-leader > .ss-co-leader__top { grid-column: 1; grid-row: 1; }
	body .ss-co-leader > .ss-co-leader__badge { grid-column: 1; grid-row: 2; justify-self: start; }
	body .ss-co-leader > .ss-co-leader__bio { grid-column: 2; grid-row: 1 / span 2; align-self: center; margin: 0; font-size: 15.5px; line-height: 1.7; }
	body .ss-co-leader > .ss-co-leader__honors { grid-column: 2; grid-row: 3; }
	body .ss-co-leader:not(:has(.ss-co-leader__honors)) > .ss-co-leader__bio { grid-row: 1 / span 3; }
}
body .ss-co-leader__honors { margin-top: 6px; padding-top: 16px; border-top: 1px solid rgba(120, 170, 255, .22); }
body .ss-co-leader__honors-title { margin: 0 0 12px; font-family: var(--vm-font-head); font-size: 11.5px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: #ffb066; }
body .ss-co-leader__honors-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
body .ss-co-leader__honors-list li { display: flex; align-items: flex-start; gap: 10px; padding: 11px 12px; border-radius: 10px; background: rgba(255, 255, 255, .06); border: 1px solid rgba(127, 176, 255, .22); font-size: 13.5px; line-height: 1.45; color: #e3ebf8; }
body .ss-co-leader__honors-ico { flex: 0 0 auto; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: linear-gradient(160deg, #f6a043, var(--vm-orange)); color: #fff; }
body .ss-co-leader__honors-ico svg { width: 15px; height: 15px; }
@media (max-width: 560px) { body .ss-co-leader__honors-list { grid-template-columns: 1fr; } }
body .ss-co-leader__honors-list li::before { display: none !important; content: none !important; }
@media (min-width: 861px) { body .ss-co-leader { grid-template-columns: minmax(0, 360px) minmax(0, 1fr); } }

/* =================== Subpage split heroes: balance =================== */
@media (min-width: 961px) {
	body:not(.home) .ss-core-hero--split .ss-hero__inner { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: clamp(32px, 4vw, 64px); align-items: center; }
	body:not(.home) .ss-core-hero--split .ss-core-hero__media .ss-media img { max-height: 360px; }
}
body:not(.home) .ss-core-hero--split h1 { font-size: clamp(36px, 3.7vw, 54px); line-height: 1.1; letter-spacing: -.015em; }
body:not(.home) .ss-core-hero--split .ss-hero__text { max-width: 640px; font-size: 16px; line-height: 1.65; }
body:not(.home) .ss-core-hero--split .ss-hero__text p + p { margin-top: 10px; }
body:not(.home) .ss-core-hero--split .ss-core-hero__tagline { font-size: 15px; }
body:not(.home) .ss-core-hero--split .ss-btn-row { flex-wrap: wrap; gap: 12px 14px; margin-top: 26px; }
body:not(.home) .ss-core-hero--split .ss-btn-row .ss-btn { flex: 0 0 auto; }
body:not(.home) .ss-hero { padding-bottom: 64px; }
/* Leaders v3.1: honors run across the full card width (four in a row) under the identity + bio
   row, so there's no empty column; the experience badge stays a single tidy line. */
@media (min-width: 861px) {
	body .ss-co-leader > .ss-co-leader__honors { grid-column: 1 / -1; grid-row: 3; }
	body .ss-co-leader__honors-list { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	body .ss-co-leader > .ss-co-leader__bio { grid-row: 1 / span 2; }
}
@media (min-width: 861px) and (max-width: 1100px) { body .ss-co-leader__honors-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
body .ss-co-leader__badge { width: fit-content; max-width: 100%; font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 480px) { body .ss-co-leader__badge { white-space: normal; } }

/* Platform AI section v2 (template restructured): copy + note + buttons beside the art, then the
   numbered layers and the assistant chips in full-width rows. Supersedes the display:contents
   approach. */
body .ss-plat-ai__body { display: block; }
body .ss-plat-ai__copy { display: block; }
body .ss-plat-ai__copy > * { grid-column: auto; }
body .ss-plat-ai__body > .ss-plat-ai__media { grid-row: auto; }
.ss-plat-ai__top { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(28px, 4vw, 56px); align-items: center; }
.ss-plat-ai__top .ss-plat-ai__media img, .ss-plat-ai__top .ss-plat-media img { max-height: 340px; width: auto; margin: 0 auto; }
body .ss-plat-ai__layers { margin-top: clamp(28px, 3vw, 40px); grid-template-columns: repeat(4, minmax(0, 1fr)); }
body .ss-plat-ai__layers:has(> :nth-child(3):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body .ss-plat-ai__layers:has(> :nth-child(2):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body .ss-plat-ai__chips-title { margin-top: 28px; }
body .ss-plat-ai__note { margin-top: 14px; }
@media (max-width: 960px) { .ss-plat-ai__top { grid-template-columns: 1fr; } body .ss-plat-ai__layers { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { body .ss-plat-ai__layers { grid-template-columns: 1fr; } }

/* Platform section illustrations (hub heads, splits): capped so they never dominate. */
body .ss-plat-media img { max-height: 380px; width: auto; margin: 0 auto; }

/* ===== Platform pillar tabs (Plan / Execute / Analyze / Transform), redesigned =====
   A segmented pill control instead of four solid blocks: each pillar keeps its colour as a dot and,
   when active, as the pill fill with a soft glow. Panels fade and rise in. Cards sit straight on
   the section (no white box). */
body .ss-plat-tabs__wrap { background: none; box-shadow: none; overflow: visible; border-radius: 0; }
body .ss-plat-tabs__wrap.is-ready .ss-plat-tabs__list { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; width: fit-content; max-width: 100%; margin: 0 auto 30px; padding: 6px; border-radius: 999px; background: #eaf2fc; box-shadow: inset 0 0 0 1px #d6e4f6; }
.ss-section--dark .ss-plat-tabs__wrap.is-ready .ss-plat-tabs__list, .ss-plat-tabs.ss-section--dark .ss-plat-tabs__wrap.is-ready .ss-plat-tabs__list { background: rgba(255, 255, 255, .06); box-shadow: inset 0 0 0 1px rgba(127, 176, 255, .25); }
body .ss-plat-tabs__tab { --tc: var(--plat-blue, #1f5fba); position: relative; display: inline-flex; align-items: center; gap: 10px; min-width: 150px; justify-content: center; padding: 12px 24px; border: 0; border-radius: 999px; background: transparent !important; box-shadow: none !important; color: var(--vm-ink); font-family: var(--vm-font-head); font-size: 15px; font-weight: 500; cursor: pointer; filter: none !important; transition: background-color .35s var(--vm-ease), color .35s var(--vm-ease), box-shadow .35s var(--vm-ease), transform .35s var(--vm-ease); }
body .ss-plat-tabs__tab--orange { --tc: var(--plat-orange, #f18c21); }
body .ss-plat-tabs__tab--green { --tc: var(--plat-green, #26a34b); }
body .ss-plat-tabs__tab--navy { --tc: #4f8fe8; }
.ss-section--dark .ss-plat-tabs__tab { color: #dbe5f6; }
body .ss-plat-tabs__tab::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: var(--tc); box-shadow: 0 0 0 3px color-mix(in srgb, var(--tc) 22%, transparent); transition: background-color .35s var(--vm-ease), box-shadow .35s var(--vm-ease); }
body .ss-plat-tabs__tab::after { display: none !important; }
body .ss-plat-tabs__tab:hover { background: rgba(31, 95, 186, .08) !important; }
.ss-section--dark .ss-plat-tabs__tab:hover { background: rgba(255, 255, 255, .08) !important; }
body .ss-plat-tabs__tab[aria-selected="true"] { background: var(--tc) !important; color: #fff; font-weight: 600; box-shadow: 0 8px 22px color-mix(in srgb, var(--tc) 45%, transparent) !important; }
body .ss-plat-tabs__tab[aria-selected="true"]::before { background: #fff; box-shadow: 0 0 0 3px rgba(255, 255, 255, .3); }
body .ss-plat-tabs__tab:focus-visible { outline: 2px solid var(--vm-orange); outline-offset: 2px; }
body .ss-plat-tabs__panel { padding: 0; border: 0; background: none; }
body .ss-plat-tabs__wrap.is-ready .ss-plat-tabs__panel:not([hidden]) { animation: ss-criteria-in .5s var(--vm-ease); }
.ss-section--dark .ss-plat-tabs__intro { color: #fff; }
body .ss-plat-tabs__cards { gap: 18px; align-items: stretch; }
body .ss-plat-cap, body .ss-plat-cap__card { height: 100%; }
@media (max-width: 640px) { body .ss-plat-tabs__tab { min-width: 0; flex: 1 1 calc(50% - 6px); padding: 11px 14px; } body .ss-plat-tabs__wrap.is-ready .ss-plat-tabs__list { border-radius: 18px; width: 100%; } }
@media (prefers-reduced-motion: reduce) { body .ss-plat-tabs__wrap.is-ready .ss-plat-tabs__panel:not([hidden]) { animation: none; } body .ss-plat-tabs__tab { transition: none; } }

/* ===== Platform category cards (CloudMaster 365 accordions + open lists) ===== */
body .ss-proda-cat { padding: 0; overflow: hidden; border: 1px solid #dbe6f4; border-radius: 14px; background: #fff; box-shadow: 0 2px 8px rgba(14, 43, 84, .04); transition: border-color .3s var(--vm-ease), box-shadow .3s var(--vm-ease), transform .3s var(--vm-ease); }
body .ss-proda-cat:hover { border-color: #9fc0ec; box-shadow: 0 0 0 1px rgba(79, 143, 232, .3), 0 12px 26px rgba(14, 43, 84, .1); }
body .ss-proda-cat__btn { position: relative; min-height: 64px; padding: 14px 16px 14px 20px; border-radius: 0; background: #fff !important; color: var(--vm-ink) !important; font-family: var(--vm-font-head); font-size: 15px; font-weight: 600; text-align: left; transition: background-color .3s var(--vm-ease), color .3s var(--vm-ease); }
body .ss-proda-cat__btn::before { content: ""; position: absolute; left: 0; top: 14px; bottom: 14px; width: 3px; border-radius: 0 3px 3px 0; background: var(--vm-orange); }
body .ss-proda-cat__btn::after { width: 28px; height: 28px; border-radius: 50%; background: var(--vm-sky-100); color: var(--vm-blue-600); font-size: 18px; transition: background-color .3s var(--vm-ease), color .3s var(--vm-ease), transform .3s var(--vm-ease); }
body .ss-proda-cat__btn:hover::after { background: var(--vm-blue-600); color: #fff; }
body .ss-proda-cat__btn[aria-expanded=true] { background: linear-gradient(135deg, var(--vm-navy-700), var(--vm-navy-900)) !important; color: #fff !important; }
body .ss-proda-cat__btn[aria-expanded=true]::after { background: var(--vm-orange); color: #fff; transform: rotate(180deg); }
body .ss-proda-cat__body { padding: 16px 18px 18px; }
/* Open (always-expanded) cards: navy header band, equal heights per row. */
body .ss-proda-platforms--open .ss-proda-platforms__grid { align-items: stretch; }
body .ss-proda-cat--open { height: 100%; }
body .ss-proda-cat__heading--static span { min-height: 60px; padding: 14px 18px; border-radius: 0; background: linear-gradient(135deg, var(--vm-navy-700), var(--vm-navy-900)) !important; color: #fff; font-family: var(--vm-font-head); font-size: 15px; font-weight: 600; }
/* Product split illustrations (ss_proda_split, ss_proda_diagram figures, ss_prodb sections): capped. */
body:not(.home) :is(.ss-proda-split, .ss-proda-diagram, .ss-prodb-section, .ss-proda-platforms__figure, .ss-proda-flow) img { max-height: 360px; width: auto; margin-left: auto; margin-right: auto; }
/* Compact dense cards (icon on the title row) always read left-aligned, whatever a page sets. */
body .ss-core-cards__grid--dark:has(> :nth-child(7)) > .ss-core-card { text-align: left !important; justify-items: start; }
body .ss-core-cards__grid--dark:has(> :nth-child(7)) > .ss-core-card .ss-core-card__icon { margin: 0 !important; }

/* Platform hub (component diagram): every node is a link (whole card), more compact nodes and a
   narrower centre column so the diagram doesn't leave wide gutters. */
body .ss-plat-hub__diagram--nodes { --gap: 56px; grid-template-columns: minmax(0, 1fr) minmax(220px, 280px) minmax(0, 1fr); }
body .ss-plat-hub__node { padding: 16px 18px; }
body .ss-plat-hub__desc { font-size: 14px; line-height: 1.5; }
body .ss-plat-hub__node--link { cursor: pointer; text-decoration: none !important; }
body .ss-plat-hub__node--link .ss-plat-hub__title { transition: color .3s var(--vm-ease); }
body .ss-plat-hub__node--link:hover .ss-plat-hub__title { color: var(--vm-blue-600); }
body .ss-plat-hub__node--link::after { content: ""; position: absolute; top: 18px; width: 7px; height: 7px; border-top: 2px solid var(--vm-blue-600); border-right: 2px solid var(--vm-blue-600); transform: rotate(45deg); opacity: 0; transition: opacity .3s var(--vm-ease), transform .3s var(--vm-ease); }
body .ss-plat-hub__list--right .ss-plat-hub__node--link::after { right: 18px; }
body .ss-plat-hub__list--left .ss-plat-hub__node--link::after { left: 18px; transform: rotate(-135deg); }
body .ss-plat-hub__node--link:hover::after { opacity: 1; }

/* ------------------------------------------------------------------ */
/* Split: narrow media (tall slim illustration framed, copy runs wide) */
/* ------------------------------------------------------------------ */
body .ss-split.ss-core-split__grid--narrow { grid-template-columns: minmax(0, 1.55fr) minmax(260px, .85fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
body .ss-split.ss-split--reverse.ss-core-split__grid--narrow { grid-template-columns: minmax(260px, .85fr) minmax(0, 1.55fr); }
body .ss-core-split__grid--narrow .ss-core-split__copy { max-width: none; }
body .ss-core-split__grid--narrow .ss-core-split__text { max-width: 68ch; }
body .ss-core-split__grid--narrow .ss-core-split__media {
	position: relative; display: flex; align-items: center; justify-content: center;
	padding: clamp(24px, 3vw, 40px); border-radius: 24px; min-height: 100%;
	background: radial-gradient(120% 90% at 50% 40%, #ffffff 0%, #eaf2fd 55%, #dce9fb 100%);
	border: 1px solid rgba(23, 74, 158, .1);
	box-shadow: 0 24px 50px -30px rgba(10, 37, 84, .35);
	transition: transform .5s cubic-bezier(.2, .7, .2, 1), box-shadow .5s;
}
body .ss-core-split__grid--narrow .ss-core-split__media::before {
	content: ""; position: absolute; inset: auto 18% 10% 18%; height: 18%; border-radius: 50%;
	background: radial-gradient(closest-side, rgba(243, 146, 0, .22), transparent); filter: blur(6px); pointer-events: none;
}
body .ss-core-split__grid--narrow .ss-core-split__media img { position: relative; width: auto; max-width: 100%; max-height: 380px; object-fit: contain; transition: transform .6s cubic-bezier(.2, .7, .2, 1); }
body .ss-core-split__grid--narrow:hover .ss-core-split__media { box-shadow: 0 30px 60px -30px rgba(10, 37, 84, .45); }
body .ss-core-split__grid--narrow:hover .ss-core-split__media img { transform: translateY(-6px) scale(1.02); }
@media (max-width: 900px) {
	body .ss-split.ss-core-split__grid--narrow,
	body .ss-split.ss-split--reverse.ss-core-split__grid--narrow { grid-template-columns: minmax(0, 1fr); }
	body .ss-core-split__grid--narrow .ss-core-split__media img { max-height: 280px; }
}

/* ------------------------------------------------------------------ */
/* Services: engagement framework - one calm palette, service accents  */
/* ------------------------------------------------------------------ */
body .ss-svc-fw__panel .ss-svc-c--expert { --svc: #6fa5ff; }
body .ss-svc-fw__panel .ss-svc-c--office { --svc: #8fd3f7; }
body .ss-svc-fw__ring { gap: 22px 0; align-items: stretch; }
body .ss-svc-fw__node,
body .ss-svc-c--expert.ss-svc-fw__node {
	display: flex; flex-direction: column; overflow: hidden;
	background: linear-gradient(160deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .03));
	border: 1px solid rgba(143, 186, 255, .22); border-bottom: 1px solid rgba(143, 186, 255, .22);
	color: #c9d5ea; box-shadow: 0 18px 36px -18px rgba(3, 12, 30, .6);
	backdrop-filter: blur(6px);
	transition: transform .35s var(--vm-ease), border-color .35s var(--vm-ease), box-shadow .35s var(--vm-ease), background .35s var(--vm-ease);
}
body .ss-svc-fw__node::before { content: ""; position: absolute; top: 0; bottom: 0; width: 4px; background: var(--svc); transition: width .35s var(--vm-ease); }
body .ss-svc-fw__node--1::before, body .ss-svc-fw__node--3::before { left: 0; }
body .ss-svc-fw__node--2::before, body .ss-svc-fw__node--4::before { right: 0; }
body .ss-svc-fw__node .ss-svc-fw__role { color: var(--svc); opacity: 1; }
body .ss-svc-fw__node .ss-svc-fw__name { color: #fff; }
body .ss-svc-fw__node .ss-svc-fw__name a { text-decoration: none; }
body .ss-svc-fw__node .ss-svc-fw__name a::after { content: ""; position: absolute; inset: 0; z-index: 2; }
body .ss-svc-fw__node .ss-svc-fw__text { color: #c9d5ea; opacity: 1; }
body .ss-svc-fw__go { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; padding-top: 14px; font-family: var(--vm-font-head); font-size: 13px; font-weight: 600; letter-spacing: .02em; color: #fff; }
body .ss-svc-fw__go::after { content: ""; width: 7px; height: 7px; border-top: 2px solid var(--svc); border-right: 2px solid var(--svc); transform: rotate(45deg); transition: transform .3s var(--vm-ease); }
body .ss-svc-fw__node:hover { transform: translateY(-4px); border-color: color-mix(in srgb, var(--svc) 70%, transparent); background: linear-gradient(160deg, rgba(255, 255, 255, .14), rgba(255, 255, 255, .05)); box-shadow: 0 24px 44px -18px rgba(3, 12, 30, .7), 0 0 0 1px color-mix(in srgb, var(--svc) 40%, transparent); }
body .ss-svc-fw__node:hover::before { width: 6px; }
body .ss-svc-fw__node:hover .ss-svc-fw__go::after { transform: translateX(4px) rotate(45deg); }
body .ss-svc-fw__node:hover .ss-svc-fw__go { color: var(--svc); }
body .ss-svc-fw__disc { transition: box-shadow .4s var(--vm-ease); }
body .ss-svc-fw__ring:hover .ss-svc-fw__disc { box-shadow: 0 0 0 6px rgba(255, 255, 255, .16), 0 0 60px rgba(66, 133, 244, .75); }

/* ------------------------------------------------------------------ */
/* Services: delivery-model tabs - segmented control, stable height    */
/* ------------------------------------------------------------------ */
body .ss-svc-tabs__list { position: relative; gap: 6px; padding: 6px; margin: 0 auto 22px; max-width: 980px; border-radius: 18px; background: #eaf1fb; border: 1px solid var(--vm-line); align-items: stretch; }
body .ss-svc-tabs__tab {
	position: relative; min-height: 0; padding: 12px 10px 13px; border-radius: 13px;
	background: transparent; color: var(--vm-ink); opacity: 1; filter: none; box-shadow: none;
	transition: background .3s var(--vm-ease), box-shadow .3s var(--vm-ease), color .3s var(--vm-ease), transform .3s var(--vm-ease);
}
body .ss-svc-tabs__tab .ss-svc-tabs__role { display: inline-flex; align-items: center; gap: 7px; color: var(--vm-muted); opacity: 1; }
body .ss-svc-tabs__tab .ss-svc-tabs__role::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--svc); box-shadow: 0 0 0 3px color-mix(in srgb, var(--svc) 22%, transparent); }
body .ss-svc-tabs__tab .ss-svc-tabs__name { font-size: clamp(15px, 1.3vw, 17px); }
body .ss-svc-tabs__tab::after { content: ""; position: absolute; left: 22%; right: 22%; bottom: 5px; height: 3px; border-radius: 3px; background: var(--svc); transform: scaleX(0); transition: transform .35s var(--vm-ease); }
body .ss-svc-tabs__tab:hover { background: rgba(255, 255, 255, .7); }
body .ss-svc-tabs__tab:hover::after { transform: scaleX(.4); }
body .ss-svc-tabs__tab[aria-selected=true] { min-height: 0; background: #fff; color: var(--vm-ink); box-shadow: 0 8px 20px -8px rgba(14, 43, 84, .3); }
body .ss-svc-tabs__tab[aria-selected=true] .ss-svc-tabs__name { color: var(--svc-text); }
body .ss-svc-tabs__tab[aria-selected=true]::after { transform: scaleX(1); }
body .ss-svc-tabs__tab:focus-visible { outline: 2px solid var(--vm-blue-500, #2c6cc9); outline-offset: 2px; }

body .ss-svc-tabs__panel { position: relative; overflow: hidden; border: 1px solid var(--vm-line); border-radius: var(--vm-radius-lg); background: linear-gradient(180deg, #f5f9ff 0%, #fff 55%); box-shadow: 0 24px 50px -30px rgba(14, 43, 84, .35); }
body .ss-svc-tabs__panel::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: linear-gradient(90deg, var(--svc), color-mix(in srgb, var(--svc) 30%, transparent)); }
body .ss-svc-tabs__body { grid-template-columns: minmax(0, 1.35fr) minmax(0, .85fr); align-items: center; padding: clamp(28px, 4vw, 48px) clamp(26px, 4vw, 52px) 8px; }
body .ss-svc-tabs__body--solo { grid-template-columns: minmax(0, 1fr); }
body .ss-svc-tabs__side { display: flex; align-items: center; justify-content: center; }
body .ss-svc-tabs__media { margin: 0; }
body .ss-svc-tabs__media img { max-height: 300px; width: auto; max-width: 100%; object-fit: contain; transition: transform .6s var(--vm-ease); }
body .ss-svc-tabs__panel:hover .ss-svc-tabs__media img { transform: translateY(-6px); }
body .ss-svc-tabs__text { margin: 0 0 12px; }
body .ss-svc-tabs__panel .ss-btn-row { margin-top: 20px; }

/* Ideal For: full-width tile row instead of a bullet list */
body .ss-svc-tabs__ideal { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 14px 22px; align-items: center; margin: 24px clamp(18px, 3vw, 40px) clamp(22px, 3vw, 36px); padding: 18px 22px; border-radius: 14px; box-shadow: 0 16px 34px -20px rgba(7, 21, 51, .5); }
body .ss-svc-tabs__ideal h4 { margin: 0; font-size: 17px; white-space: nowrap; position: relative; z-index: 1; }
body .ss-svc-tabs__ideal ul { display: flex; flex-wrap: wrap; gap: 8px; }
body .ss-svc-tabs__ideal li { display: inline-flex; align-items: center; gap: 8px; padding: 7px 13px 7px 9px; border-radius: 999px; background: rgba(255, 255, 255, .07); border: 1px solid rgba(143, 186, 255, .25); font-size: 13.5px; line-height: 1.3; color: #e6eefb; transition: background .25s var(--vm-ease), border-color .25s var(--vm-ease), transform .25s var(--vm-ease); }
body .ss-svc-tabs__ideal li::before { position: static; flex: none; display: grid; place-items: center; width: 18px; height: 18px; border: 0; border-radius: 50%; transform: none; background: var(--vm-green) url("../icons/check.svg") center / 11px no-repeat; }
body .ss-svc-tabs__ideal li:hover { background: rgba(255, 255, 255, .13); border-color: color-mix(in srgb, var(--svc) 70%, transparent); transform: translateY(-2px); }

@media (min-width: 761px) {
	/* all panels share one cell: no page jump when switching tabs */
	body .ss-svc-tabs__wrap.is-ready { display: grid; }
	body .ss-svc-tabs__wrap.is-ready > .ss-svc-tabs__list { grid-row: 1; }
	body .ss-svc-tabs__wrap.is-ready > .ss-svc-tabs__panel { grid-row: 2; grid-column: 1; }
	body .ss-svc-tabs__wrap.is-ready > .ss-svc-tabs__panel[hidden] { display: block; visibility: hidden; opacity: 0; pointer-events: none; }
	body .ss-svc-tabs__wrap.is-ready > .ss-svc-tabs__panel { transition: opacity .4s var(--vm-ease), visibility 0s linear .4s; }
	body .ss-svc-tabs__wrap.is-ready > .ss-svc-tabs__panel:not([hidden]) { opacity: 1; visibility: visible; transition: opacity .4s var(--vm-ease); }
}
@media (max-width: 900px) {
	body .ss-svc-tabs__body { grid-template-columns: 1fr; }
	body .ss-svc-tabs__ideal { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
	body .ss-svc-tabs__acc { background: #fff; color: var(--vm-ink); border: 1px solid var(--vm-line); border-left: 4px solid var(--svc); }
	body .ss-svc-tabs__acc[aria-expanded=true] { background: #f5f9ff; }
	body .ss-svc-tabs__panel { border-radius: 0 0 var(--vm-radius) var(--vm-radius); }
}

/* ------------------------------------------------------------------ */
/* Services: lists as branded check tiles (ladder, strengths)          */
/* ------------------------------------------------------------------ */
body .ss-svc-ladder__panel { align-items: center; }
body .ss-svc-ladder__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 0; background: none; border: 0; }
body .ss-svc-ladder__list li,
body .ss-svc-why__slist li {
	display: flex; flex-wrap: wrap; align-items: center; gap: 4px 11px; padding: 12px 14px; border-radius: 12px;
	background: rgba(255, 255, 255, .06); border: 1px solid rgba(127, 176, 255, .2); color: #e6eefb; font-size: 14.5px; line-height: 1.4;
	transition: background .25s var(--vm-ease), border-color .25s var(--vm-ease), transform .25s var(--vm-ease);
}
body .ss-svc-ladder__list li::before,
body .ss-svc-why__slist li::before { content: ""; position: static; flex: none; width: 22px; height: 22px; border-radius: 50%; opacity: 1; background: linear-gradient(140deg, var(--vm-green), #2f9e4f) url("../icons/check.svg") center / 12px no-repeat; box-shadow: 0 0 0 4px rgba(76, 175, 80, .15); }
body .ss-svc-ladder__list li:hover,
body .ss-svc-why__slist li:hover { background: rgba(255, 255, 255, .11); border-color: rgba(255, 176, 102, .55); transform: translateX(3px); }
body .ss-svc-ladder__list .ss-badge,
body .ss-svc-why__slist .ss-badge { flex-basis: 100%; margin: 4px 0 0 33px; }
body .ss-svc-ladder__list li:nth-last-child(1):nth-child(odd) { grid-column: 1 / -1; }
body .ss-svc-why__slist { display: grid; gap: 8px; margin-top: 12px; }
body .ss-svc-why__slist li { padding: 10px 12px; font-size: 14px; }
body .ss-svc-why__grid { align-items: stretch; }
body .ss-svc-why__panels li { position: relative; transition: transform .3s var(--vm-ease), border-color .3s var(--vm-ease), background .3s var(--vm-ease); }
body .ss-svc-why__panels li::before { content: ""; display: block; width: 28px; height: 3px; margin-bottom: 12px; border-radius: 3px; background: linear-gradient(90deg, var(--vm-orange), #ffb066); transition: width .3s var(--vm-ease); }
body .ss-svc-why__panels li:hover { transform: translateY(-3px); border-color: rgba(255, 176, 102, .5); background: rgba(31, 95, 186, .32); }
body .ss-svc-why__panels li:hover::before { width: 48px; }
@media (max-width: 760px) { body .ss-svc-ladder__list { grid-template-columns: 1fr; } }

/* service cards: whole card is the link, one consistent accent */
body .ss-svc-svccard { display: flex; flex-direction: column; border-bottom-width: 1px; overflow: hidden; }
body .ss-svc-svccard::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: var(--svc); transform-origin: 0 50%; transition: height .3s var(--vm-ease); }
body .ss-svc-svccard__name a { text-decoration: none; }
body .ss-svc-svccard__name a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
body .ss-svc-svccard:hover { border-color: color-mix(in srgb, var(--svc) 55%, var(--vm-line)); }
body .ss-svc-svccard:hover::before { height: 6px; }
body .ss-svc-c--office.ss-svc-svccard { --svc: #3fb4ec; }

/* Sticky header: solid, so page copy never shows through the bar */
body .ss-header.is-scrolled .ss-header__bar { background: #fff; -webkit-backdrop-filter: none; backdrop-filter: none; }

/* Narrow split media: no frame, the illustration sits on the section */
body .ss-core-split__grid--narrow .ss-core-split__media { padding: 0; background: none; border: 0; box-shadow: none; border-radius: 0; min-height: 0; }
body .ss-core-split__grid--narrow:hover .ss-core-split__media { box-shadow: none; }
body .ss-split.ss-split--reverse.ss-core-split__grid--narrow { grid-template-columns: minmax(220px, .7fr) minmax(0, 1.6fr); }

/* Capability pillar cards: whole card links; coming-soon cards say so on hover */
body .ss-plat-cap__card--link { cursor: pointer; }
body .ss-plat-cap__card--link .ss-plat-cap__link { margin-top: 14px; align-items: center; transition: color .25s var(--vm-ease), gap .25s var(--vm-ease); }
body .ss-plat-cap__meta + .ss-plat-cap__link { margin-top: 12px; }
body .ss-plat-cap__card--link:hover .ss-plat-cap__link { color: #fff; gap: 10px; }
body .ss-plat-cap__card--link:hover .ss-plat-cap__title { color: #ffd2a1; }
body .ss-plat-cap__title { transition: color .25s var(--vm-ease); }
body .ss-plat-cap__meta a { position: relative; z-index: 2; }
body .ss-plat-cap__meta a:hover { color: #ffb066; text-decoration-color: currentColor; }
body .ss-plat-cap__card--soon::after {
	content: "Coming soon \00B7  Early access available"; position: absolute; left: 50%; top: -14px; z-index: 3;
	padding: 6px 12px; border-radius: 999px; white-space: nowrap; pointer-events: none;
	background: linear-gradient(135deg, var(--vm-orange), #ffa64d); color: #fff;
	font-family: var(--vm-font-head); font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
	box-shadow: 0 10px 22px -8px rgba(241, 140, 33, .7);
	opacity: 0; transform: translate(-50%, 6px); transition: opacity .3s var(--vm-ease), transform .3s var(--vm-ease);
}
body .ss-plat-cap__card--soon:hover::after { opacity: 1; transform: translate(-50%, 0); }
body .ss-plat-cap__card--soon:hover { border-color: rgba(255, 176, 102, .7); }

/* Branded check tiles: white tick on a green disc, text beside it */
:root { --vm-tick: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E"); }
body .ss-svc-ladder__list li,
body .ss-svc-why__slist li { display: grid; grid-template-columns: 22px minmax(0, 1fr); align-items: center; column-gap: 11px; }
body .ss-svc-ladder__list li::before,
body .ss-svc-why__slist li::before { background: var(--vm-tick) center / 12px no-repeat, linear-gradient(140deg, #5cc16a, #2f9e4f); }
body .ss-svc-tabs__ideal li::before { background: var(--vm-tick) center / 11px no-repeat, linear-gradient(140deg, #5cc16a, #2f9e4f); }
body .ss-svc-ladder__list .ss-badge,
body .ss-svc-why__slist .ss-badge { grid-column: 2; margin: 6px 0 0; }

/* ------------------------------------------------------------------ */
/* Cards layout 'sticky': long intro pinned left, compact cards right  */
/* ------------------------------------------------------------------ */
body .ss-core-cards__sticky { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.25fr); gap: clamp(32px, 5vw, 72px); align-items: start; }
body .ss-core-cards__aside { position: sticky; top: 150px; }
body .ss-core-cards__aside .ss-head { margin-bottom: 18px; text-align: left; align-items: flex-start; }
body .ss-core-cards__aside .ss-h2 { font-size: clamp(28px, 2.6vw, 38px); line-height: 1.18; }
body .ss-core-cards__aside .ss-core-cards__intro p { margin: 0 0 14px; font-size: 15.5px; line-height: 1.7; color: var(--vm-text); }
body .ss-core-cards__aside .ss-core-cards__intro p:first-child { position: relative; padding-left: 18px; font-family: var(--vm-font-head); font-size: 18px; line-height: 1.55; font-weight: 500; color: var(--vm-ink); }
body .ss-core-cards__aside .ss-core-cards__intro p:first-child::before { content: ""; position: absolute; left: 0; top: 4px; bottom: 4px; width: 4px; border-radius: 4px; background: linear-gradient(180deg, var(--vm-orange), var(--vm-green)); }
body .ss-core-cards__asidenote { display: inline-flex; align-items: center; gap: 10px; margin: 6px 0 0; padding: 10px 16px; border-radius: 999px; background: #fff; border: 1px solid var(--vm-line); font-family: var(--vm-font-head); font-size: 13px; font-weight: 600; color: var(--vm-ink); box-shadow: 0 8px 20px -14px rgba(14, 43, 84, .4); }
body .ss-core-cards__asidenote::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--vm-orange); box-shadow: 0 0 0 4px rgba(241, 140, 33, .18); }
body .ss-core-cards__aside .ss-btn-row { margin-top: 22px; }

body .ss-core-cards__grid--sticky { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
body .ss-core-cards__grid--sticky .ss-core-card { position: relative; overflow: hidden; height: auto; align-self: stretch; padding: 22px 22px 22px; border-radius: 16px; background: #fff; border: 1px solid var(--vm-line); box-shadow: 0 14px 30px -22px rgba(14, 43, 84, .45); transition: transform .35s var(--vm-ease), box-shadow .35s var(--vm-ease), border-color .35s var(--vm-ease); }
body .ss-core-cards__grid--sticky .ss-core-card::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: linear-gradient(180deg, var(--vm-blue-600, #1f5fba), var(--vm-orange)); transform: scaleY(.25); transform-origin: 50% 0; transition: transform .45s var(--vm-ease); }
body .ss-core-cards__grid--sticky .ss-core-card__top { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 14px; }
body .ss-core-cards__grid--sticky .ss-core-card__icon { width: 46px; height: 46px; margin: 0; }
body .ss-core-cards__grid--sticky .ss-core-card__icon img { width: 100%; height: 100%; object-fit: contain; transition: transform .4s var(--vm-ease); }
body .ss-core-cards__grid--sticky .ss-core-card__badge .ss-badge { font-size: 9.5px; white-space: normal; max-width: 150px; text-align: left; }
body .ss-core-cards__grid--sticky .ss-card__title { margin: 0 0 8px; font-size: 17px; line-height: 1.3; transition: color .25s var(--vm-ease); }
body .ss-core-cards__grid--sticky .ss-core-card p { margin: 0; font-size: 14px; line-height: 1.6; color: var(--vm-text); }
body .ss-core-cards__grid--sticky .ss-core-card:hover { transform: translateY(-4px); border-color: rgba(31, 95, 186, .35); box-shadow: 0 22px 40px -22px rgba(14, 43, 84, .5); }
body .ss-core-cards__grid--sticky .ss-core-card:hover::before { transform: scaleY(1); }
body .ss-core-cards__grid--sticky .ss-core-card:hover .ss-core-card__icon img { transform: scale(1.08) rotate(-3deg); }
body .ss-core-cards__grid--sticky .ss-core-card--link:hover .ss-card__title { color: var(--vm-blue-600, #1f5fba); }
body .ss-core-cards__grid--sticky .ss-core-card--link .ss-card__title::after { content: ""; display: inline-block; width: 7px; height: 7px; margin-left: 9px; vertical-align: middle; border-top: 2px solid var(--vm-orange); border-right: 2px solid var(--vm-orange); transform: rotate(45deg) translate(-2px, 2px); opacity: 0; transition: opacity .25s, transform .3s var(--vm-ease); }
body .ss-core-cards__grid--sticky .ss-core-card--link:hover .ss-card__title::after { opacity: 1; transform: rotate(45deg) translate(0, 0); }
@media (max-width: 980px) {
	body .ss-core-cards__sticky { grid-template-columns: 1fr; }
	body .ss-core-cards__aside { position: static; }
}
@media (max-width: 600px) { body .ss-core-cards__grid--sticky { grid-template-columns: 1fr; } }

/* Hero breadcrumbs: a small frosted pill at the top, sharing one row with the eyebrow */
body .ss-hero__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin: 0 0 16px; }
body .ss-hero__meta > .ss-hero__eyebrow, body .ss-hero__meta > .ss-eyebrow { margin: 0; }
body .ss-hero .ss-core-crumbs, body .ss-prodb-hero__crumbs { display: flex; width: fit-content; margin: 0; padding: 7px 14px; border-radius: 999px; background: rgba(255, 255, 255, .07); border: 1px solid rgba(143, 186, 255, .22); }
body .ss-hero .ss-core-crumbs .ss-crumbs, body .ss-prodb-hero__crumbs .ss-crumbs { margin: 0; font-size: 12.5px; }
body .ss-hero .ss-crumbs a { transition: color .2s var(--vm-ease); }
body .ss-hero .ss-crumbs a:hover { color: #ffb066; }
body .ss-core-cards__grid--sticky .ss-core-card { display: flex; flex-direction: column; justify-content: flex-start; }
body .ss-core-cards__grid--sticky .ss-core-card__top { min-height: 46px; flex: none; }
body .ss-core-cards__grid--sticky .ss-core-card > * { margin-top: 0; }
body .ss-core-cards__grid--sticky .ss-core-card .ss-card__title { flex: none; }
/* sticky cards: badge sits level with the icon; every top row is the icon's height so titles line up */
body .ss-core-cards__grid--sticky .ss-core-card__top { display: flex; flex-wrap: nowrap; align-items: center; height: 46px; min-height: 0; margin: 0 0 16px; }
body .ss-core-cards__grid--sticky .ss-core-card--badge .ss-core-card__badge { order: 0; margin: 0 0 0 auto; padding: 0; align-self: center; }
body .ss-core-cards__grid--sticky .ss-core-card--badge.has-icon .ss-core-card__icon { margin: 0; }
body .ss-core-cards__grid--sticky .ss-core-card__badge .ss-badge { padding: 5px 10px; line-height: 1.3; }

/* Why OnShore ecosystem: one compact glass band, art left, kicker + title + line right */
body .ss-svc-why__ecohead { grid-template-columns: minmax(200px, 280px) minmax(0, 1fr); grid-template-rows: auto auto auto; column-gap: clamp(28px, 4vw, 48px); row-gap: 0; align-items: center; margin-top: clamp(28px, 3.5vw, 40px); padding: clamp(22px, 3vw, 32px) clamp(24px, 3.5vw, 44px); border-radius: 20px; background: linear-gradient(120deg, rgba(255, 255, 255, .07), rgba(255, 255, 255, .02)); border: 1px solid rgba(143, 186, 255, .2); }
body .ss-svc-why__ecohead > .ss-svc-why__art { grid-column: 1; grid-row: 1 / span 3; align-self: center; }
body .ss-svc-why__ecohead > .ss-svc-why__art img { max-height: 210px; width: auto; max-width: 100%; margin: 0 auto; transition: transform .6s var(--vm-ease); }
body .ss-svc-why__ecohead:hover > .ss-svc-why__art img { transform: translateY(-5px) scale(1.02); }
body .ss-svc-why__ecohead > .ss-svc-why__ecokicker { grid-column: 2; grid-row: 1; align-self: end; margin: 0 0 10px; color: #ffb066; }
body .ss-svc-why__ecohead > .ss-svc-why__ecotitle { grid-column: 2; grid-row: 2; align-self: center; margin: 0 0 10px; font-size: clamp(21px, 2vw, 27px); line-height: 1.3; }
body .ss-svc-why__ecohead > .ss-svc-why__ecotext { grid-column: 2; grid-row: 3; align-self: start; }
body .ss-svc-why__eco > .ss-svc-why__ecohead { grid-column: 1 / -1; display: grid; }
body .ss-svc-why__eco > .ss-svc-why__svc { margin-top: 28px; }
@media (max-width: 900px) {
	body .ss-svc-why__ecohead { grid-template-columns: 1fr; text-align: center; }
	body .ss-svc-why__ecohead > .ss-svc-why__art { grid-column: 1; grid-row: 1; margin-bottom: 16px; }
	body .ss-svc-why__ecohead > .ss-svc-why__ecokicker, body .ss-svc-why__ecohead > .ss-svc-why__ecotitle, body .ss-svc-why__ecohead > .ss-svc-why__ecotext { grid-column: 1; grid-row: auto; }
}

/* Maturity ladder: prev / next arrows on the panel edges */
body .ss-svc-ladder__panels { position: relative; }
body .ss-svc-ladder__arrow {
	position: absolute; top: 50%; z-index: 3; display: grid; place-items: center; width: 46px; height: 46px; padding: 0;
	border-radius: 50%; border: 1px solid var(--vm-line); background: #fff; color: var(--vm-ink); cursor: pointer;
	box-shadow: 0 10px 24px -8px rgba(14, 43, 84, .35); transform: translateY(-50%);
	transition: background .25s var(--vm-ease), color .25s var(--vm-ease), border-color .25s var(--vm-ease), transform .25s var(--vm-ease), box-shadow .25s var(--vm-ease);
}
body .ss-svc-ladder__arrow--prev { left: -23px; }
body .ss-svc-ladder__arrow--next { right: -23px; }
body .ss-svc-ladder__arrow span { width: 10px; height: 10px; border-top: 2.5px solid currentColor; border-right: 2.5px solid currentColor; }
body .ss-svc-ladder__arrow--prev span { transform: translateX(2px) rotate(-135deg); }
body .ss-svc-ladder__arrow--next span { transform: translateX(-2px) rotate(45deg); }
body .ss-svc-ladder__arrow:hover { background: var(--vm-orange); border-color: var(--vm-orange); color: #fff; box-shadow: 0 12px 26px -8px rgba(241, 140, 33, .6); }
body .ss-svc-ladder__arrow--prev:hover { transform: translateY(-50%) translateX(-3px); }
body .ss-svc-ladder__arrow--next:hover { transform: translateY(-50%) translateX(3px); }
body .ss-svc-ladder__arrow:focus-visible { outline: 2px solid var(--vm-orange); outline-offset: 3px; }
body .ss-svc-ladder__panel { padding-left: clamp(40px, 4.5vw, 56px); padding-right: clamp(40px, 4.5vw, 56px); }
@media (max-width: 760px) {
	body .ss-svc-ladder__arrow { width: 38px; height: 38px; }
	body .ss-svc-ladder__arrow--prev { left: -10px; }
	body .ss-svc-ladder__arrow--next { right: -10px; }
}

/* Button rows that wrap stack at one shared width (set by main.js) */
body .ss-btn-row.is-stacked { display: inline-flex; flex-direction: column; align-items: stretch; width: auto; max-width: 100%; }
body .ss-btn-row.is-stacked > * { justify-content: center; text-align: center; margin: 0; }
body .ss-btn-row--center.is-stacked { display: flex; width: fit-content; margin-left: auto; margin-right: auto; }

/* ------------------------------------------------------------------ */
/* Tile grids never leave an empty slot: on a 12-column track, a short */
/* last row widens to fill the row (wide tiles go icon-beside-text).   */
/* ------------------------------------------------------------------ */
@media (min-width: 901px) {
	body .ss-res-tiles__grid--4, body .ss-res-tiles__grid--3 { grid-template-columns: repeat(12, minmax(0, 1fr)); }
	body .ss-res-tiles__grid--4 > li { grid-column: span 3; }
	body .ss-res-tiles__grid--3 > li { grid-column: span 4; }
	body .ss-res-tiles__grid--4 > li:nth-child(4n+1):nth-last-child(3),
	body .ss-res-tiles__grid--4 > li:nth-child(4n+1):nth-last-child(3) ~ li { grid-column: span 4; }
	body .ss-res-tiles__grid--4 > li:nth-child(4n+1):nth-last-child(2),
	body .ss-res-tiles__grid--4 > li:nth-child(4n+1):nth-last-child(2) ~ li,
	body .ss-res-tiles__grid--3 > li:nth-child(3n+1):nth-last-child(2),
	body .ss-res-tiles__grid--3 > li:nth-child(3n+1):nth-last-child(2) ~ li { grid-column: span 6; --wide: 1; }
	body .ss-res-tiles__grid--4 > li:nth-child(4n+1):last-child,
	body .ss-res-tiles__grid--3 > li:nth-child(3n+1):last-child { grid-column: 1 / -1; }
	/* widened tiles: icon beside the text so they read as intentional feature tiles */
	body .ss-res-tiles__grid--4 > li:nth-child(4n+1):nth-last-child(2) .ss-res-tile--icon,
	body .ss-res-tiles__grid--4 > li:nth-child(4n+1):nth-last-child(2) ~ li .ss-res-tile--icon,
	body .ss-res-tiles__grid--4 > li:nth-child(4n+1):last-child .ss-res-tile--icon,
	body .ss-res-tiles__grid--3 > li:nth-child(3n+1):nth-last-child(2) .ss-res-tile--icon,
	body .ss-res-tiles__grid--3 > li:nth-child(3n+1):nth-last-child(2) ~ li .ss-res-tile--icon,
	body .ss-res-tiles__grid--3 > li:nth-child(3n+1):last-child .ss-res-tile--icon { flex-direction: row; align-items: center; gap: 22px; padding: 22px 56px 22px 24px; }
}
@media (min-width: 901px) {
	body :is(.ss-res-tiles__grid--4 > li:nth-child(4n+1):nth-last-child(2), .ss-res-tiles__grid--4 > li:nth-child(4n+1):nth-last-child(2) ~ li, .ss-res-tiles__grid--4 > li:nth-child(4n+1):last-child, .ss-res-tiles__grid--3 > li:nth-child(3n+1):nth-last-child(2), .ss-res-tiles__grid--3 > li:nth-child(3n+1):nth-last-child(2) ~ li, .ss-res-tiles__grid--3 > li:nth-child(3n+1):last-child) .ss-res-tile--icon .ss-res-tile__icon { flex: none; align-items: center; height: 72px; margin: 0; }
}

/* Webinar placeholder (no thumbnail): whole Validation365 logo, centered on a branded panel */
body .ss-core-webinar__ph { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; padding: 14% 12%; background: radial-gradient(120% 100% at 50% 0%, #1b4a8f 0%, #0b2350 70%); }
body .ss-core-webinar__thumb .ss-core-webinar__ph img { width: auto; height: auto; max-width: 100%; max-height: 100%; object-fit: contain; object-position: 50% 50%; }

/* Headlines wrap in balanced lines (no lone word on the last line); copy avoids orphans */
body :is(h1, h2, h3, h4, .ss-h1, .ss-h2, .ss-hero__title) { text-wrap: balance; }
body :is(p, li, .ss-lead, .ss-hero__text) { text-wrap: pretty; }

/* One card-link style sitewide (matches "Read the Story" / "Read Article"): green small caps + arrow */
body .ss-core-card .ss-core-card__more,
body .ss-core-card--tiles .ss-core-card__more,
body .ss-plat-cap__link {
	display: inline-flex; align-items: center; gap: 0; font-family: var(--vm-font-head); font-size: 12.5px; font-weight: 600;
	letter-spacing: .04em; text-transform: uppercase; color: var(--vm-green-700); text-decoration: none !important;
}
body :is(.ss-core-card--dark, .ss-section--dark .ss-core-card, .ss-core-cards__grid--tiles.ss-grid--4 > .ss-core-card--tiles:first-child) .ss-core-card__more,
body .ss-plat-cap__link { color: #7fd28a; }
body .ss-core-card--tiles .ss-core-arrow { display: inline-block; }
body .ss-core-card:hover .ss-core-card__more .ss-core-arrow { transform: translateX(3px) rotate(45deg); }
body .ss-plat-cap__card--link:hover .ss-plat-cap__link { color: #a6e8ae; }

/* Hero stats: an even grid (3 across, or 2x2 for four), never a lone wrapped box */
body .ss-core-hero__stats { display: grid; grid-template-columns: repeat(3, minmax(0, max-content)); gap: 12px; margin-top: 28px; }
body .ss-core-hero__stats:has(> li:nth-child(4)) { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 520px; }
body .ss-core-hero__stats:has(> li:nth-child(2):last-child) { grid-template-columns: repeat(2, minmax(0, max-content)); }
body .ss-core-hero__stats li { min-width: 0; transition: border-color .25s var(--vm-ease), background .25s var(--vm-ease), transform .25s var(--vm-ease); }
body .ss-core-hero__stats li:hover { border-color: rgba(255, 176, 102, .6); background: rgba(10, 31, 71, .65); transform: translateY(-2px); }

/* Split mini cards: three sit in one row; every card shares one light style */
body .ss-core-minis:has(> .ss-core-mini:nth-child(3):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body .ss-core-minis > .ss-core-mini:last-child:nth-child(odd) { background: #f5f9ff; border-color: var(--vm-line); color: var(--vm-text); }
body .ss-section--dark .ss-core-minis > .ss-core-mini:last-child:nth-child(odd) { background: rgba(255, 255, 255, .06); border-color: var(--vm-line-dark); color: var(--vm-on-dark); }
body .ss-core-minis > .ss-core-mini:last-child:nth-child(odd) .ss-core-mini__title { color: inherit; }
body .ss-core-minis > .ss-core-mini:last-child:nth-child(odd) p { color: inherit; }
body :not(.ss-section--dark) .ss-core-minis > .ss-core-mini:last-child:nth-child(odd) .ss-core-mini__title { color: var(--vm-ink); }
@media (max-width: 900px) { body .ss-core-minis:has(> .ss-core-mini:nth-child(3):last-child) { grid-template-columns: 1fr; } }

/* Framework strip: "You are here" is a soft tinted tile with a service-colour frame, not a solid fill */
body .ss-svc-fw__tile.is-current,
body .ss-svc-c--expert.ss-svc-fw__tile.is-current { background: linear-gradient(180deg, var(--svc-soft) 0%, #fff 70%); color: var(--vm-text); border: 2px solid var(--svc); border-top-width: 4px; box-shadow: 0 18px 36px -18px rgba(14, 43, 84, .35); }
body .ss-svc-fw__tile.is-current .ss-svc-fw__role, body .ss-svc-fw__tile.is-current .ss-svc-fw__name { color: var(--svc-text); }
body .ss-svc-fw__tile.is-current .ss-svc-fw__desc { color: var(--vm-ink); }
body .ss-svc-fw__here { background: var(--svc); color: #fff; }
body .ss-svc-c--office .ss-svc-fw__here { color: var(--vm-ink); }
body .ss-svc-fw__tile { transition: transform .3s var(--vm-ease), box-shadow .3s var(--vm-ease), border-color .3s var(--vm-ease); }
body .ss-svc-fw__tile:not(.is-current):hover { transform: translateY(-4px); box-shadow: 0 20px 40px -20px rgba(14, 43, 84, .4); border-color: color-mix(in srgb, var(--svc) 45%, var(--vm-line)); }
body .ss-svc-fw__tile:not(.is-current) .ss-svc-fw__link { position: static; }
body .ss-svc-fw__tile:not(.is-current) .ss-svc-fw__link::after { content: ""; position: absolute; inset: 0; z-index: 1; }
body .ss-svc-fw__link { font-family: var(--vm-font-head); font-size: 12.5px; letter-spacing: .04em; text-transform: uppercase; color: var(--vm-green-700); text-decoration: none !important; }

/* Honors grid: a short last row widens to fill (1 left = full-width feature card, 2 left = halves) */
@media (min-width: 901px) {
	body .ss-co-honors:not(.ss-co-honors--compact) .ss-co-honors__list { grid-template-columns: repeat(6, minmax(0, 1fr)); }
	body .ss-co-honors:not(.ss-co-honors--compact) .ss-co-honors__list > li { grid-column: span 2; }
	body .ss-co-honors:not(.ss-co-honors--compact) .ss-co-honors__list > li:nth-child(3n+1):nth-last-child(2),
	body .ss-co-honors:not(.ss-co-honors--compact) .ss-co-honors__list > li:nth-child(3n+1):nth-last-child(2) ~ li { grid-column: span 3; }
	body .ss-co-honors:not(.ss-co-honors--compact) .ss-co-honors__list > li:nth-child(3n+1):last-child { grid-column: 1 / -1; }
}

/* Proof row with 8 tiles: two even rows of four, labels stay on one or two lines */
@media (min-width: 761px) {
	body .ss-co-proof--row .ss-co-proof__tiles:has(> :nth-child(7)) { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
	body .ss-co-proof--row .ss-co-proof__tiles:has(> :nth-child(7)) .ss-co-proof__tile { flex-direction: row; align-items: center; justify-content: flex-start; gap: 14px; min-height: 0; padding: 16px 18px; text-align: left; }
}
@media (min-width: 761px) {
	body .ss-co-proof--row .ss-co-proof__tiles:has(> :nth-child(7)) .ss-co-proof__value { flex: none; font-size: 30px; }
	body .ss-co-proof--row .ss-co-proof__tiles:has(> :nth-child(7)) .ss-co-proof__label { font-size: 14px; }
}
body .ss-core-hero__stats:has(> li:nth-child(4)) li { padding: 12px 16px; }
body .ss-core-hero__stats:has(> li:nth-child(4)) .ss-core-hero__stat-value { white-space: nowrap; font-size: clamp(20px, 1.9vw, 26px); }

body .ss-core-text--center .ss-core-text__body { text-align: center; }
body .ss-core-text--center .ss-core-text__body p { margin-left: auto; margin-right: auto; }

/* Partner grid: a short last row widens to fill (no empty slots) */
@media (min-width: 1081px) {
	body .ss-co-partners__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); }
	body .ss-co-partners__grid > li { grid-column: span 3; }
	body .ss-co-partners__grid > li:nth-child(4n+1):nth-last-child(3), body .ss-co-partners__grid > li:nth-child(4n+1):nth-last-child(3) ~ li { grid-column: span 4; }
	body .ss-co-partners__grid > li:nth-child(4n+1):nth-last-child(2), body .ss-co-partners__grid > li:nth-child(4n+1):nth-last-child(2) ~ li { grid-column: span 6; }
	body .ss-co-partners__grid > li:nth-child(4n+1):last-child { grid-column: 1 / -1; }
}

/* Resource card grids (white papers, case studies): a short last row widens to fill */
@media (min-width: 901px) {
	body .ss-core-resources__grid.ss-grid--3 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
	body .ss-core-resources__grid.ss-grid--3 > * { grid-column: span 2; }
	body .ss-core-resources__grid.ss-grid--3 > :nth-child(3n+1):nth-last-child(2),
	body .ss-core-resources__grid.ss-grid--3 > :nth-child(3n+1):nth-last-child(2) ~ * { grid-column: span 3; }
	body .ss-core-resources__grid.ss-grid--3 > :nth-child(3n+1):last-child { grid-column: 2 / span 4; }
}

/* ------------------------------------------------------------------ */
/* Contact: headquarters actions + office cards, all linked            */
/* ------------------------------------------------------------------ */
body .ss-co-hq--v2 { grid-template-columns: minmax(0, .8fr) minmax(0, 2fr); gap: 28px clamp(28px, 4vw, 52px); align-items: center; }
body .ss-co-hq--v2 .ss-co-hq__city { display: inline-flex; align-items: center; gap: 9px; margin: 14px 0 0; padding: 6px 12px; border-radius: 999px; background: rgba(255, 255, 255, .08); border: 1px solid rgba(143, 186, 255, .25); color: #dbe6f7; }
body .ss-co-hq__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--vm-orange); box-shadow: 0 0 0 4px rgba(241, 140, 33, .2); animation: ss-hq-pulse 2.4s ease-in-out infinite; }
@keyframes ss-hq-pulse { 50% { box-shadow: 0 0 0 7px rgba(241, 140, 33, .05); } }
body .ss-co-hq__actions { display: grid; grid-template-columns: 1.25fr 1fr 1fr; gap: 14px; font-style: normal; }
body .ss-co-hq__action {
	position: relative; display: flex; flex-direction: column; gap: 14px; padding: 20px 20px 18px; border-radius: 16px; overflow: hidden;
	background: linear-gradient(160deg, rgba(255, 255, 255, .1), rgba(255, 255, 255, .03)); border: 1px solid rgba(143, 186, 255, .28);
	color: #dbe6f7; text-decoration: none !important;
	transition: transform .35s var(--vm-ease), border-color .35s var(--vm-ease), background .35s var(--vm-ease), box-shadow .35s var(--vm-ease);
}
body .ss-co-hq__action::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: linear-gradient(90deg, var(--vm-orange), #ffb066); transform: scaleX(0); transform-origin: 0 50%; transition: transform .4s var(--vm-ease); }
body .ss-co-hq__icon { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; background: rgba(241, 140, 33, .16); color: #ffb066; transition: background .35s var(--vm-ease), color .35s var(--vm-ease), transform .35s var(--vm-ease); }
body .ss-co-hq__icon svg { width: 19px; height: 19px; }
body .ss-co-hq__body { display: flex; flex-direction: column; gap: 4px; flex: 1; }
body .ss-co-hq__label { font-family: var(--vm-font-head); font-size: 11.5px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: #8fb6ef; }
body .ss-co-hq__value { font-family: var(--vm-font-head); font-size: 15px; font-weight: 500; line-height: 1.5; color: #fff; overflow-wrap: anywhere; }
body .ss-co-hq__cue, body .ss-co-office__cue { display: inline-flex; align-items: center; margin-top: auto; padding-top: 10px; font-family: var(--vm-font-head); font-size: 12px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; }
body .ss-co-hq__cue { color: #7fd28a; }
body .ss-co-hq__action:hover, body .ss-co-hq__action:focus-visible { transform: translateY(-4px); border-color: rgba(255, 176, 102, .6); background: linear-gradient(160deg, rgba(255, 255, 255, .16), rgba(255, 255, 255, .05)); box-shadow: 0 22px 40px -20px rgba(0, 0, 0, .6); outline: none; }
body .ss-co-hq__action:hover::before, body .ss-co-hq__action:focus-visible::before { transform: scaleX(1); }
body .ss-co-hq__action:hover .ss-co-hq__icon { background: var(--vm-orange); color: #fff; transform: rotate(-6deg) scale(1.05); }
body .ss-co-hq__action:hover .ss-core-arrow, body .ss-co-office:hover .ss-core-arrow { transform: translateX(4px) rotate(45deg); }

body .ss-co-offices__list { margin-top: 16px; }
body .ss-co-offices__list > li { display: flex; }
body .ss-co-office { position: relative; width: 100%; grid-template-columns: 42px minmax(0, 1fr); align-items: start; overflow: hidden; color: var(--vm-text); text-decoration: none !important; transition: transform .35s var(--vm-ease), border-color .35s var(--vm-ease), box-shadow .35s var(--vm-ease); }
body .ss-co-office::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: linear-gradient(180deg, var(--vm-blue-600, #1f5fba), var(--vm-orange)); transform: scaleY(0); transform-origin: 50% 0; transition: transform .4s var(--vm-ease); }
body .ss-co-office__icon { width: 42px; height: 42px; transition: background .35s var(--vm-ease), color .35s var(--vm-ease); }
body .ss-co-office__body { display: flex; flex-direction: column; min-height: 100%; }
body .ss-co-office__title { display: block; margin: 0 0 4px; font-family: var(--vm-font-head); font-size: 16.5px; font-weight: 500; color: var(--vm-ink); transition: color .25s var(--vm-ease); }
body .ss-co-office__address { display: block; }
body .ss-co-office__cue { color: var(--vm-green-700); }
body .ss-co-office:hover, body .ss-co-office:focus-visible { transform: translateY(-4px); border-color: rgba(31, 95, 186, .35); box-shadow: 0 22px 40px -22px rgba(14, 43, 84, .45); outline: none; }
body .ss-co-office:hover::before { transform: scaleY(1); }
body .ss-co-office:hover .ss-co-office__icon { background: var(--vm-blue-600, #1f5fba); color: #fff; }
body .ss-co-office:hover .ss-co-office__title { color: var(--vm-blue-600, #1f5fba); }
@media (max-width: 1080px) { body .ss-co-hq--v2 { grid-template-columns: 1fr; } }
@media (max-width: 760px) { body .ss-co-hq__actions { grid-template-columns: 1fr; } }

/* ------------------------------------------------------------------ */
/* Partners: monogram cards with category tag and a visit cue          */
/* ------------------------------------------------------------------ */
body .ss-co-partner--v2 { --c1: #1f5fba; --c2: #0e2b54; gap: 0; padding: 22px 22px 20px; overflow: hidden; transition: transform .35s var(--vm-ease), border-color .35s var(--vm-ease), box-shadow .35s var(--vm-ease); }
body .ss-co-partner--v2[style*="--i: 1"] { --c1: #f18c21; --c2: #c45f0a; }
body .ss-co-partner--v2[style*="--i: 2"] { --c1: #2bb3a3; --c2: #13756b; }
body .ss-co-partner--v2[style*="--i: 3"] { --c1: #6b5bd6; --c2: #3f2f9e; }
body .ss-co-partner--v2::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: linear-gradient(90deg, var(--c1), color-mix(in srgb, var(--c1) 30%, transparent)); transform: scaleX(.18); transform-origin: 0 50%; transition: transform .45s var(--vm-ease); }
body .ss-co-partner--v2::after { content: ""; position: absolute; right: -60px; top: -60px; width: 160px; height: 160px; border-radius: 50%; background: radial-gradient(closest-side, color-mix(in srgb, var(--c1) 14%, transparent), transparent); opacity: 0; transition: opacity .45s var(--vm-ease), transform .6s var(--vm-ease); pointer-events: none; }
body .ss-co-partner__top { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 16px; }
body .ss-co-partner__mark { display: grid; place-items: center; width: 46px; height: 46px; flex: none; border-radius: 14px; background: linear-gradient(140deg, var(--c1), var(--c2)); color: #fff; font-family: var(--vm-font-head); font-size: 16px; font-weight: 600; letter-spacing: .02em; box-shadow: 0 10px 20px -10px var(--c2); transition: transform .4s var(--vm-ease); }
body .ss-co-partner__mark--logo { background: #fff; border: 1px solid var(--vm-line); padding: 6px; }
body .ss-co-partner__mark--logo img { max-width: 100%; max-height: 100%; object-fit: contain; }
body .ss-co-partner__tag { padding: 4px 10px; border-radius: 999px; background: var(--vm-sky-50); border: 1px solid #e3edf9; font-family: var(--vm-font-head); font-size: 10.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--vm-muted); white-space: nowrap; }
body .ss-co-partner--v2 .ss-co-partner__name { margin: 0 0 6px; font-size: 17px; line-height: 1.3; transition: color .25s var(--vm-ease); }
body .ss-co-partner--v2 .ss-co-partner__text { font-size: 13.5px; line-height: 1.6; }
body .ss-co-partner__cue { display: inline-flex; align-items: center; gap: 7px; margin-top: auto; padding-top: 14px; font-family: var(--vm-font-head); font-size: 12px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--vm-green-700); }
body .ss-co-partner__ext { width: 8px; height: 8px; border-top: 2px solid currentColor; border-right: 2px solid currentColor; transition: transform .3s var(--vm-ease); }
body a.ss-co-partner--v2:hover { transform: translateY(-5px); border-color: color-mix(in srgb, var(--c1) 45%, var(--vm-line)); box-shadow: 0 24px 44px -24px rgba(14, 43, 84, .45); }
body a.ss-co-partner--v2:hover::before { transform: scaleX(1); }
body a.ss-co-partner--v2:hover::after { opacity: 1; transform: translate(-10px, 10px); }
body a.ss-co-partner--v2:hover .ss-co-partner__mark { transform: rotate(-6deg) scale(1.06); }
body a.ss-co-partner--v2:hover .ss-co-partner__name { color: var(--c2); }
body a.ss-co-partner--v2:hover .ss-co-partner__ext { transform: translate(2px, -2px); }

/* ------------------------------------------------------------------ */
/* Solutions showcase: challenge tab rail + one balanced panel         */
/* ------------------------------------------------------------------ */
body .ss-sol-show__rail { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; padding: 6px; margin: 0 0 18px; border-radius: 18px; background: #eaf1fb; border: 1px solid var(--vm-line); }
body .ss-sol-show__tab { position: relative; display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 58px; padding: 10px 14px 12px; border: 0; border-radius: 13px; background: transparent; color: var(--vm-ink); font-family: var(--vm-font-head); font-size: 14.5px; font-weight: 500; line-height: 1.25; text-align: left; cursor: pointer; overflow: hidden; transition: background .3s var(--vm-ease), box-shadow .3s var(--vm-ease), color .3s var(--vm-ease); }
body .ss-sol-show__num { flex: none; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: #fff; border: 1px solid var(--vm-line); font-size: 11.5px; font-weight: 600; color: var(--vm-blue-600, #1f5fba); transition: background .3s var(--vm-ease), color .3s var(--vm-ease), border-color .3s var(--vm-ease); }
body .ss-sol-show__tab::after { content: ""; position: absolute; left: 14px; right: 14px; bottom: 5px; height: 3px; border-radius: 3px; background: linear-gradient(90deg, var(--vm-orange), var(--vm-green)); transform: scaleX(0); transform-origin: 0 50%; }
body .ss-sol-show__tab:hover { background: rgba(255, 255, 255, .7); }
body .ss-sol-show__tab[aria-selected=true] { background: #fff; box-shadow: 0 8px 20px -8px rgba(14, 43, 84, .3); }
body .ss-sol-show__tab[aria-selected=true] .ss-sol-show__num { background: linear-gradient(140deg, var(--vm-navy-700, #173a6e), var(--vm-navy-950, #06152f)); border-color: transparent; color: #fff; }
body .ss-sol-show__tab[aria-selected=true]::after { transform: scaleX(1); }
body .ss-sol-show.is-auto.is-visible .ss-sol-show__tab[aria-selected=true]::after { animation: ss-tabs-progress 7s linear forwards; }
body .ss-sol-show:hover .ss-sol-show__tab[aria-selected=true]::after { animation-play-state: paused; }
body .ss-sol-show__tab:focus-visible { outline: 2px solid var(--vm-orange); outline-offset: 2px; }

body .ss-sol-show__panels { position: relative; display: grid; }
body .ss-sol-show__panel { grid-area: 1 / 1; display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: clamp(28px, 4vw, 56px); align-items: center; padding: clamp(26px, 3.5vw, 44px) clamp(44px, 5vw, 64px); border-radius: var(--vm-radius-lg); background: linear-gradient(135deg, #f5f9ff 0%, #fff 55%); border: 1px solid var(--vm-line); box-shadow: 0 24px 50px -30px rgba(14, 43, 84, .35); transition: opacity .45s var(--vm-ease), visibility 0s linear 0s; }
body .ss-sol-show__panel[hidden] { display: grid; visibility: hidden; opacity: 0; pointer-events: none; transition: opacity .3s var(--vm-ease), visibility 0s linear .3s; }
body .ss-sol-show__panel.is-entering .ss-sol-show__media img { animation: ss-sol-rise .6s var(--vm-ease); }
@keyframes ss-sol-rise { from { opacity: 0; transform: translateY(14px) scale(.97); } to { opacity: 1; transform: none; } }
body .ss-sol-show__media { display: flex; align-items: center; justify-content: center; }
body .ss-sol-show__media img { width: auto; max-width: 100%; max-height: 320px; object-fit: contain; }
body .ss-sol-show__top { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-bottom: 10px; }
body .ss-sol-show__label { margin: 0; font-family: var(--vm-font-head); font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--vm-orange); }
body .ss-sol-show__name { margin: 0 0 6px; font-size: clamp(24px, 2.4vw, 32px); }
body .ss-sol-show__logo { height: 46px; width: auto; }
body .ss-sol-show__tagline { margin: 0 0 12px; font-family: var(--vm-font-head); font-size: 15px; font-weight: 600; color: var(--vm-blue-600, #1f5fba); }
body .ss-sol-show__text { margin: 0; font-size: 15.5px; line-height: 1.7; }
body .ss-sol-show__note { margin: 12px 0 0; font-size: 13.5px; font-style: italic; color: var(--vm-muted); }
body .ss-sol-show__body .ss-btn-row { margin-top: 22px; }
body .ss-sol-show__panels > .ss-svc-ladder__arrow { top: 50%; }
@media (max-width: 1080px) {
	body .ss-sol-show__rail { grid-template-columns: repeat(5, minmax(150px, 1fr)); overflow-x: auto; scrollbar-width: none; }
}
@media (max-width: 860px) {
	body .ss-sol-show__panel { grid-template-columns: 1fr; padding: 24px 26px; }
	body .ss-sol-show__media img { max-height: 220px; }
}

/* Two-up solution cards (Solutions "Go Deeper"): compact horizontal cards, art left, equal content */
@media (min-width: 981px) {
	body .ss-svc-sol--c2 .ss-svc-sol__card { flex-direction: row; align-items: stretch; }
	body .ss-svc-sol--c2 .ss-svc-sol__media { flex: 0 0 40%; height: auto; min-height: 100%; padding: 22px 16px; background: radial-gradient(80% 70% at 50% 55%, rgba(79, 143, 232, .22), transparent 70%), linear-gradient(135deg, #eaf3fd, #f7fbff); }
	body .ss-svc-sol--c2 .ss-svc-sol__media img { max-height: 190px; }
	body .ss-svc-sol--c2 .ss-svc-sol__body { flex: 1; display: flex; flex-direction: column; padding: 26px 26px 24px; }
	body .ss-svc-sol--c2 .ss-svc-sol__cta { margin-top: auto; padding-top: 18px; }
}
body .ss-svc-sol__card .ss-svc-sol__cta .ss-btn { position: static; }
body .ss-svc-sol__card .ss-svc-sol__cta .ss-btn::after { content: ""; position: absolute; inset: 0; z-index: 1; }
body .ss-svc-sol__card:hover { transform: translateY(-4px); border-color: rgba(31, 95, 186, .35); box-shadow: 0 24px 44px -24px rgba(14, 43, 84, .45); }
body .ss-svc-sol__card:hover .ss-svc-sol__cta .ss-btn { background: var(--vm-green-700); color: #fff; border-color: var(--vm-green-700); }

/* Resource mini cards (guest appearances etc.): compact, no dead space, linked ones lift + cue */
body .ss-res-mini { height: auto; align-self: stretch; justify-content: flex-start; padding: 20px 20px 18px; transition: transform .35s var(--vm-ease), border-color .35s var(--vm-ease), box-shadow .35s var(--vm-ease), background .35s var(--vm-ease); }
body .ss-res-minis { align-items: stretch; }
body .ss-res-mini__link { position: static; display: inline-flex; align-items: center; margin-top: auto; padding-top: 12px; font-family: var(--vm-font-head); font-size: 12.5px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--vm-green-700); text-decoration: none !important; }
body .ss-res-mini--dark .ss-res-mini__link { color: #7fd28a; }
body .ss-res-mini__link::after { content: ""; position: absolute; inset: 0; z-index: 1; }
body .ss-res-mini--link:hover { transform: translateY(-4px); border-color: rgba(255, 176, 102, .55); box-shadow: 0 22px 40px -22px rgba(0, 0, 0, .5); }
body .ss-res-mini--link:hover::before { width: 56px; }
body .ss-res-mini::before { transition: width .35s var(--vm-ease); }
body .ss-res-mini--link:hover .ss-core-arrow { transform: translateX(4px) rotate(45deg); }
body .ss-res-mini__title { text-wrap: balance; }

/* Closed mobile menu: no shadow bleeding onto the page edge */
@media (max-width: 1340px) {
	body .ss-header__nav:not(.is-open) { box-shadow: none; visibility: hidden; transition: transform .3s var(--vm-ease), visibility 0s linear .3s; }
	body .ss-header__nav.is-open { visibility: visible; transition: transform .3s var(--vm-ease); }
}

/* Criteria rail splits: art pinned at the top of its column, not sinking to the middle */
body .ss-core-split__grid--criteria { align-items: start; }
body .ss-core-split__grid--criteria > .ss-core-split__media { position: sticky; top: 150px; }
@media (max-width: 1100px) {
	body .ss-core-split__grid--criteria { grid-template-columns: minmax(0, 1.4fr) minmax(0, .6fr); }
	body .ss-core-split__grid--criteria .ss-core-split__media img { max-height: 300px; }
}

/* Two-up horizontal solution cards only where there is room */
@media (min-width: 981px) and (max-width: 1199px) {
	body .ss-svc-sol--c2 .ss-svc-sol__card { flex-direction: column; }
	body .ss-svc-sol--c2 .ss-svc-sol__media { flex: none; height: 200px; min-height: 0; }
}
body .ss-split--reverse.ss-core-split__grid--criteria { grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr); }
@media (max-width: 1100px) { body .ss-split--reverse.ss-core-split__grid--criteria { grid-template-columns: minmax(0, .6fr) minmax(0, 1.4fr); } }
@media (max-width: 900px) { body .ss-core-split__grid--criteria, body .ss-split--reverse.ss-core-split__grid--criteria { grid-template-columns: 1fr; } body .ss-core-split__grid--criteria > .ss-core-split__media { position: static; } }
body .ss-svc-sol__body { justify-content: flex-start; }
body .ss-svc-sol__name { min-height: 0; }

/* Card grids 761-1080px: counts that divide by three stay in 3 columns (no 2+1 orphan rows) */
@media (min-width: 761px) and (max-width: 1080px) {
	.ss-core-cards__grid:not(.ss-core-cards__grid--tiles):not(.ss-core-cards__grid--line):is(:has(> :nth-child(3):last-child), :has(> :nth-child(6):last-child), :has(> :nth-child(9):last-child)) { --cols: 3 !important; --g: 16px; }
}
@media (min-width: 681px) and (max-width: 760px) {
	.ss-core-cards__grid:not(.ss-core-cards__grid--tiles):not(.ss-core-cards__grid--line):has(> :nth-child(3):last-child) { --cols: 1 !important; }
}
@media (min-width: 761px) {
	body .ss-co-proof--row .ss-co-proof__tiles:has(> :nth-child(7)) { display: grid; overflow: visible; margin: 0; padding: 0; scroll-snap-type: none; }
	body .ss-co-proof--row .ss-co-proof__tiles:has(> :nth-child(7)) > * { flex: none; min-width: 0; }
}
@media (min-width: 761px) and (max-width: 1080px) {
	body .ss-co-proof--row .ss-co-proof__tiles:has(> :nth-child(7)) .ss-co-proof__tile { padding: 14px; gap: 10px; }
	body .ss-co-proof--row .ss-co-proof__tiles:has(> :nth-child(7)) .ss-co-proof__value { font-size: 24px; }
	body .ss-co-proof--row .ss-co-proof__tiles:has(> :nth-child(7)) .ss-co-proof__label { font-size: 13px; }
}

/* Partner grid 801-1080px (3 columns): a short last row widens too */
@media (min-width: 801px) and (max-width: 1080px) {
	body .ss-co-partners__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
	body .ss-co-partners__grid > li { grid-column: span 2; }
	body .ss-co-partners__grid > li:nth-child(3n+1):nth-last-child(2), body .ss-co-partners__grid > li:nth-child(3n+1):nth-last-child(2) ~ li { grid-column: span 3; }
	body .ss-co-partners__grid > li:nth-child(3n+1):last-child { grid-column: 1 / -1; }
}
/* Partner external-link cue: a proper diagonal arrow */
body .ss-co-partner__ext { position: relative; width: 9px; height: 9px; border-top: 2px solid currentColor; border-right: 2px solid currentColor; }
body .ss-co-partner__ext::after { content: ""; position: absolute; right: -1px; top: -1px; width: 12px; height: 2px; background: currentColor; transform-origin: 100% 50%; transform: rotate(-45deg); }

/* Addresses: each line stays whole (no "Suite / 220" breaks) */
body .ss-co-hq__action--visit .ss-co-hq__value, body .ss-co-office__address, body .ss-footer address, body [class*="footer"] [class*="address"] { white-space: nowrap; }
body .ss-co-hq__actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body .ss-co-hq__action--visit { grid-column: 1 / -1; flex-direction: row; align-items: flex-start; gap: 16px; }
body .ss-co-hq__action--visit .ss-co-hq__icon { flex: none; }
body .ss-co-hq__action:not(.ss-co-hq__action--visit) { flex-direction: row; align-items: flex-start; gap: 14px; }
body .ss-co-hq__action:not(.ss-co-hq__action--visit) .ss-co-hq__icon { flex: none; }
body .ss-co-office__address { font-size: 13.5px; }
@media (max-width: 1080px) { body .ss-co-office__address { white-space: normal; } }

/* ------------------------------------------------------------------ */
/* Split form sections (Contact, Support, Careers, Demo): compact      */
/* ------------------------------------------------------------------ */
@media (min-width: 1081px) {
	body .ss-core-form--split .ss-core-form__grid { grid-template-columns: minmax(0, .78fr) minmax(0, 1.42fr); gap: clamp(32px, 4vw, 56px); }
	body .ss-core-form--split .ss-core-form__copy { position: sticky; top: 140px; }
	body .ss-core-form--split .ss-form__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 14px 16px; }
	body .ss-core-form--split .ss-form__grid > .ss-form__field { grid-column: span 2; }
	body .ss-core-form--split .ss-form__grid > .ss-form__field--full,
	body .ss-core-form--split .ss-form__grid > .ss-form__note { grid-column: 1 / -1; }
	body .ss-core-form--split .ss-form__grid:has(> .ss-fx-form__field--textarea + .ss-fx-form__field--textarea) > .ss-fx-form__field--textarea { grid-column: span 3; }
	body .ss-core-form--split .ss-form__grid textarea { min-height: 116px; }
}
body .ss-core-form__aside { gap: 10px; }
body .ss-core-form__item { display: flex; }
body .ss-core-form__card { position: relative; width: 100%; grid-template-columns: 46px minmax(0, 1fr); align-items: center; gap: 14px; padding: 14px 16px; border-radius: 14px; color: var(--vm-text); text-decoration: none !important; overflow: hidden; transition: transform .35s var(--vm-ease), border-color .35s var(--vm-ease), box-shadow .35s var(--vm-ease); }
body .ss-core-form__icon { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 13px; background: linear-gradient(140deg, #1f5fba, #0e2b54); color: #fff; box-shadow: 0 10px 20px -12px rgba(14, 43, 84, .7); transition: transform .35s var(--vm-ease), background .35s var(--vm-ease); }
body .ss-core-form__icon svg, body .ss-core-form__icon img { width: 20px; height: 20px; }
body .ss-core-form__card-body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
body .ss-core-form__card-title { margin: 0; font-family: var(--vm-font-head); font-size: 15px; font-weight: 500; color: var(--vm-ink); transition: color .25s var(--vm-ease); }
body .ss-core-form__card-text { font-size: 13px; line-height: 1.5; color: var(--vm-muted); }
body .ss-core-form__card-cue { display: inline-flex; align-items: center; margin-top: 4px; font-family: var(--vm-font-head); font-size: 11.5px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--vm-green-700); }
body .ss-core-form__card::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: linear-gradient(180deg, #1f5fba, var(--vm-orange)); transform: scaleY(0); transform-origin: 50% 0; transition: transform .4s var(--vm-ease); }
body .ss-core-form__card--link:hover, body .ss-core-form__card--link:focus-visible { transform: translateX(4px); border-color: rgba(31, 95, 186, .35); box-shadow: 0 16px 30px -20px rgba(14, 43, 84, .45); outline: none; }
body .ss-core-form__card--link:hover::before { transform: scaleY(1); }
body .ss-core-form__card--link:hover .ss-core-form__icon { background: linear-gradient(140deg, var(--vm-orange), #c45f0a); transform: rotate(-6deg); }
body .ss-core-form__card--link:hover .ss-core-form__card-title { color: var(--vm-blue-600, #1f5fba); }
body .ss-core-form__card--link:hover .ss-core-arrow { transform: translateX(4px) rotate(45deg); }
body .ss-section--dark .ss-core-form__card-title { color: #fff; }
body .ss-section--dark .ss-core-form__card-text { color: #b9c6de; }
body .ss-section--dark .ss-core-form__card-cue { color: #7fd28a; }
/* Country select placeholder never truncates */
body .ss-form select { text-overflow: ellipsis; padding-right: 30px; }
body .ss-core-form__icon:has(img) { background: none; box-shadow: none; overflow: hidden; }
body .ss-core-form__icon img { width: 100%; height: 100%; object-fit: contain; }
body .ss-core-form__card--link:hover .ss-core-form__icon:has(img) { background: none; transform: rotate(-6deg) scale(1.06); }

/* Forms: paired message boxes line up (labels share a height, boxes fill the row) */
@media (min-width: 1081px) {
	body .ss-core-form--split .ss-form__grid { align-items: stretch; }
	body .ss-core-form--split .ss-form__grid > .ss-fx-form__field--textarea { display: flex; flex-direction: column; }
	body .ss-core-form--split .ss-form__grid > .ss-fx-form__field--textarea textarea { flex: 1; margin-top: 0; }
	body .ss-core-form--split .ss-form__grid > .ss-form__field > label:first-child { display: flex; align-items: flex-end; min-height: 22px; margin-bottom: 8px; }
	body .ss-core-form--split .ss-core-form__copy .ss-head__text p { font-size: 15.5px; line-height: 1.7; }
}

/* ------------------------------------------------------------------ */
/* Newsroom featured story: split feature card                         */
/* ------------------------------------------------------------------ */
body .ss-res-news__head.ss-head--center, body .ss-res-news .ss-head[class*="center"] { text-align: center; align-items: center; margin-left: auto; margin-right: auto; }
body .ss-res-news-card--feature { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 0; padding: 0; overflow: hidden; border: 1px solid var(--vm-line); border-top: 1px solid var(--vm-line); background: #fff; box-shadow: 0 24px 50px -30px rgba(14, 43, 84, .4); }
body .ss-res-news__grid--one .ss-res-news-card--feature { padding: 0; background: #fff; }
body .ss-res-news-card__art { position: relative; display: flex; align-items: center; justify-content: center; min-height: 280px; padding: 28px; background: radial-gradient(120% 120% at 30% 20%, #1b4a8f 0%, var(--vm-navy-900) 60%, var(--vm-navy-950) 100%); overflow: hidden; }
body .ss-res-news-card__art::after { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(140, 180, 255, .16) 1px, transparent 1px); background-size: 16px 16px; pointer-events: none; }
body .ss-res-news-card__art img { position: relative; z-index: 1; width: auto; max-width: 100%; max-height: 260px; object-fit: contain; transition: transform .6s var(--vm-ease); }
body .ss-res-news-card__art:has(img.wp-post-image) { padding: 0; }
body .ss-res-news-card__art img.wp-post-image { width: 100%; height: 100%; max-height: none; object-fit: cover; }
body .ss-res-news-card__body { display: flex; flex-direction: column; gap: 10px; padding: clamp(24px, 3vw, 40px); }
body .ss-res-news-card--feature .ss-res-news-card__meta { padding-right: 0; }
body .ss-res-news-card--feature .ss-res-news-card__title { font-size: clamp(21px, 2vw, 26px); line-height: 1.3; }
body .ss-res-news-card--feature .ss-res-news-card__title a { text-decoration: none; }
body .ss-res-news-card--feature::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; z-index: 2; background: linear-gradient(90deg, var(--vm-orange), var(--vm-green)); transform: scaleX(.2); transform-origin: 0 50%; transition: transform .5s var(--vm-ease); }
body .ss-res-news-card--feature:hover::before { transform: scaleX(1); }
body .ss-res-news-card--feature:hover .ss-res-news-card__art img { transform: translateY(-6px) scale(1.03); }
body .ss-res-news-card--feature:hover .ss-res-news-card__title a { color: var(--vm-blue-600, #1f5fba); }
body .ss-res-news-card__link { display: inline-flex; align-items: center; position: relative; z-index: 2; }
body .ss-res-news-card:hover .ss-core-arrow { transform: translateX(4px) rotate(45deg); }
@media (max-width: 860px) { body .ss-res-news-card--feature { grid-template-columns: 1fr; } body .ss-res-news-card__art { min-height: 200px; } }

/* Split forms with many help rows: rows show title + cue only, so the column matches the form height */
@media (min-width: 1081px) {
	body .ss-core-form--split .ss-core-form__aside:has(> :nth-child(4)) .ss-core-form__card-text { display: none; }
	body .ss-core-form--split .ss-core-form__aside:has(> :nth-child(4)) .ss-core-form__card { padding: 12px 14px; }
}
body .ss-core-cta p, body .ss-core-cta .ss-head__text { text-wrap: balance; }
@media (min-width: 621px) and (max-width: 1080px) {
	body .ss-co-offices__list { grid-template-columns: 1fr; gap: 10px; }
	body .ss-co-office { grid-template-columns: 42px minmax(0, 1fr); padding: 16px 20px; }
	body .ss-co-office__body { display: grid; grid-template-columns: minmax(180px, .8fr) minmax(0, 1.4fr) auto; align-items: center; gap: 6px 24px; }
	body .ss-co-office__title { margin: 0; }
	body .ss-co-office__address { white-space: nowrap; }
	body .ss-co-office__cue { margin: 0; padding: 0; }
}

/* Media inquiries contact lines: clear links with a hover */
body .ss-res-panel__list { gap: 8px; }
body .ss-res-panel__list a { display: inline-flex; align-items: center; gap: 8px; width: fit-content; padding: 4px 12px 4px 4px; border-radius: 999px; background: rgba(255, 255, 255, .06); border: 1px solid rgba(143, 186, 255, .25); color: #fff; font-family: var(--vm-font-head); font-size: 14px; font-weight: 500; text-decoration: none !important; transition: background .25s var(--vm-ease), border-color .25s var(--vm-ease), transform .25s var(--vm-ease); }
body .ss-res-panel__list a::before { content: ""; width: 24px; height: 24px; border-radius: 50%; background: var(--vm-orange) center / 13px no-repeat; flex: none; }
body .ss-res-panel__list a[href^="mailto"]::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E"); }
body .ss-res-panel__list a[href^="tel"]::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1.9.4 1.8.7 2.7a2 2 0 0 1-.5 2.1L8 9.8a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.7.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E"); }
body .ss-res-panel__list a:hover { background: rgba(255, 255, 255, .14); border-color: rgba(255, 176, 102, .6); transform: translateX(3px); }

/* Consent / checkbox text on any dark panel stays readable */
body :is(.ss-band, .ss-section--dark, .ss-core-cta, .ss-core-newsletter) .ss-fx-check,
body :is(.ss-band, .ss-section--dark, .ss-core-cta, .ss-core-newsletter) .ss-fx-check span,
body :is(.ss-band, .ss-section--dark, .ss-core-cta, .ss-core-newsletter) .ss-fx-check a { color: #e6eefb !important; }

/* ------------------------------------------------------------------ */
/* Newsroom list cards: same card language as the rest of the site    */
/* ------------------------------------------------------------------ */
body:has(.ss-res-news-card--feature) .ss-fx-spotlight { display: none; }
body .ss-fx-card--news { --cat: var(--vm-blue-600, #1f5fba); position: relative; border: 1px solid var(--vm-line); border-top: 1px solid var(--vm-line); border-radius: 16px; background: #fff; box-shadow: 0 14px 30px -24px rgba(14, 43, 84, .45); }
body .ss-fx-card--cat-breaking-news { --cat: #d92d20; }
body .ss-fx-card--cat-historical-press { --cat: #7a4cc2; }
body .ss-fx-card--cat-featured-news { --cat: var(--vm-green-700); }
body .ss-fx-card--news::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: linear-gradient(90deg, var(--cat), color-mix(in srgb, var(--cat) 20%, transparent)); transform: scaleX(.22); transform-origin: 0 50%; transition: transform .45s var(--vm-ease); z-index: 1; }
body .ss-fx-card--news .ss-fx-card__body { display: flex; flex-direction: column; gap: 10px; height: 100%; padding: 22px 22px 20px; }
body .ss-fx-card--news .ss-fx-card__kicker { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 0; order: 0; }
body .ss-fx-card--news .ss-fx-card__cat { display: inline-flex; align-items: center; gap: 7px; padding: 4px 10px; border-radius: 999px; background: color-mix(in srgb, var(--cat) 10%, #fff); color: var(--cat); font-family: var(--vm-font-head); font-size: 10.5px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
body .ss-fx-card--news .ss-fx-card__cat::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
body .ss-fx-card--news .ss-fx-card__meta { order: 1; margin: -4px 0 0; font-size: 12.5px; color: var(--vm-muted); }
body .ss-fx-card--news .ss-fx-card__title { order: 2; margin: 0; font-size: 17px; line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; min-height: calc(1.35em * 3); }
body .ss-fx-card--news .ss-fx-card__title a { color: var(--vm-ink); text-decoration: none !important; transition: color .25s var(--vm-ease); }
body .ss-fx-card--news .ss-fx-card__title a::after { content: ""; position: absolute; inset: 0; z-index: 2; }
body .ss-fx-card--news .ss-fx-card__text { order: 3; margin: 0; font-size: 14px; line-height: 1.6; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
body .ss-fx-card--news .ss-fx-card__cta { order: 4; font-size: 12.5px; letter-spacing: .04em; }
body .ss-fx-card--news .ss-fx-arrow { width: 8px; height: 8px; border: 0; border-top: 2px solid currentColor; border-right: 2px solid currentColor; background: none; transform: rotate(45deg); }
body .ss-fx-card--news .ss-fx-arrow::before, body .ss-fx-card--news .ss-fx-arrow::after { display: none; }
body .ss-fx-card--news:hover { transform: translateY(-4px); border-color: color-mix(in srgb, var(--cat) 40%, var(--vm-line)); box-shadow: 0 22px 40px -22px rgba(14, 43, 84, .45); }
body .ss-fx-card--news:hover::before { transform: scaleX(1); }
body .ss-fx-card--news:hover .ss-fx-card__title a { color: var(--vm-blue-600, #1f5fba); }
body .ss-fx-card--news:hover .ss-fx-arrow { transform: translateX(4px) rotate(45deg); }
/* Year archive sidebar: linked rows with hover */
body .ss-fx-years { position: sticky; top: 140px; border-radius: 16px; }
body .ss-fx-years a { transition: background .25s var(--vm-ease), color .25s var(--vm-ease), padding .25s var(--vm-ease); border-radius: 8px; }
body .ss-fx-years a:hover { background: var(--vm-sky-50); color: var(--vm-blue-600, #1f5fba); padding-left: 6px; }

body .ss-res-book__request { display: inline-flex; align-items: center; margin-top: auto; padding-top: 12px; font-family: var(--vm-font-head); font-size: 12.5px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--vm-green-700); text-decoration: none !important; }
body .ss-res-book__request:hover .ss-core-arrow { transform: translateX(4px) rotate(45deg); }
/* News card cue: chevron instead of the masked long arrow */
body .ss-fx-card--news .ss-fx-arrow { -webkit-mask: none; mask: none; background: none !important; margin-left: 2px; }
/* Pagination: one clean box per item */
body .ss-fx-pagination a, body .ss-fx-pagination span.current, body .ss-fx-pagination span.dots { box-shadow: none; }
body .ss-fx-pagination a > *, body .ss-fx-pagination span > * { border: 0 !important; box-shadow: none !important; }
body .ss-fx-pagination a { transition: background .25s var(--vm-ease), border-color .25s var(--vm-ease), color .25s var(--vm-ease); }
body .ss-fx-pagination a:hover { background: var(--vm-sky-50); border-color: var(--vm-blue-400, #4f8fe8); color: var(--vm-blue-600, #1f5fba); }

/* Newsletter form inside a two-column CTA panel: email on its own row, button full width below */
body .ss-core-cta__actions .ss-fx-form--newsletter .ss-form__fields { grid-template-columns: minmax(0, 1fr); }
body .ss-core-cta__actions .ss-fx-form--newsletter .ss-form__fields .ss-btn, body .ss-core-cta__actions .ss-fx-form--newsletter button[type=submit] { width: 100%; justify-content: center; }
body .ss-fx-form--newsletter input[type=email] { min-width: 220px; }
body .ss-core-cta__actions .ss-fx-form--newsletter .ss-form__fields > .ss-fx-form__submit-row, body .ss-core-cta__actions .ss-fx-form--newsletter .ss-form__fields > * { grid-column: 1 / -1 !important; grid-row: auto !important; }
body .ss-core-cta__actions .ss-fx-form--newsletter input[type=email] { width: 100%; }

/* ------------------------------------------------------------------ */
/* Audit fixes: platform pages                                         */
/* ------------------------------------------------------------------ */
/* Capability tabs: three cards stay three across down to 861px */
@media (min-width: 861px) and (max-width: 1080px) {
	body .ss-plat-tabs__cards.ss-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
	body .ss-plat-tabs__cards.ss-grid--3 .ss-plat-cap__card { padding: 20px 18px 18px; }
}
@media (min-width: 621px) and (max-width: 860px) {
	body .ss-plat-tabs__cards.ss-grid--3 > li:last-child:nth-child(odd) { grid-column: 1 / -1; }
}
/* Deployment models: a short last row is centred, never left-hugging */
@media (min-width: 761px) and (max-width: 1180px) {
	body .ss-plat-deploy__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
	body .ss-plat-deploy__grid > li { grid-column: span 2; }
	body .ss-plat-deploy__grid > li:nth-child(4) { grid-column: 2 / span 2; }
}
/* Hub diagram: tighter centre column and gap on mid widths so nodes never clip */
@media (max-width: 1180px) {
	body .ss-plat-hub__diagram--nodes { --gap: 28px; grid-template-columns: minmax(0, 1fr) minmax(160px, 200px) minmax(0, 1fr); }
	body .ss-plat-hub__node { padding: 14px 14px; min-width: 0; }
	body .ss-plat-hub__node .ss-badge { white-space: normal; }
}
/* Text + image splits where the copy is much taller (main.js adds .is-tall-copy): image pinned at the top and kept in view */
@media (min-width: 901px) {
	body .is-tall-copy { align-items: start !important; }
	body .is-tall-copy > :is(.ss-proda-split__media, .ss-core-split__media) { position: sticky; top: 150px; align-self: start; }
}

/* Company: capability tiles under the stat band sit in one even row (5 across) */
@media (min-width: 901px) {
	body .ss-co-proof--grid .ss-co-proof__tile:not(.ss-co-proof__tile--value) { flex: 0 0 calc((100% - 64px) / 5); min-width: 0; padding: 18px 16px; }
	body .ss-co-proof--grid .ss-co-proof__tile:not(.ss-co-proof__tile--value) .ss-co-proof__label { font-size: 14px; }
}
/* Single-column check lists with title-only items (Company "Our Approach Emphasizes"): compact icon rows, centred wrap */
body .ss-core-listpanel__list--1:has(> .ss-core-listpanel__item:nth-child(4)) { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
body .ss-core-listpanel__list--1:has(> .ss-core-listpanel__item:nth-child(4)) > .ss-core-listpanel__item { flex: 0 1 calc((100% - 24px) / 3); min-width: 220px; min-height: 0; display: flex; flex-direction: row; align-items: center; text-align: left; gap: 12px; padding: 14px 16px; }
body .ss-core-listpanel__list--1:has(> .ss-core-listpanel__item:nth-child(4)) .ss-core-listpanel__name { justify-content: flex-start; text-align: left; margin: 0; font-size: 15px; }

/* Company portfolio tiles: the whole tile is the link, cue stays on one line */
body .ss-co-tile { position: relative; }
body .ss-co-tile:has(.ss-co-tile__link) { cursor: pointer; }
body .ss-co-tile__link { position: static; display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; font-family: var(--vm-font-head); font-size: 12.5px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--vm-green-700); text-decoration: none !important; }
body .ss-co-portfolio__group--band .ss-co-tile__link { color: #7fd28a; }
body .ss-co-tile__link::before { content: ""; position: absolute; inset: 0; z-index: 1; }
body .ss-co-tile:hover .ss-co-tile__link::after { transform: translateX(4px) rotate(45deg); }
body .ss-co-tile:has(.ss-co-tile__link):hover { transform: translateY(-4px); }

/* "Explore …" link-style buttons sitewide: the green small-caps cue with a chevron */
body .ss-btn--link { display: inline-flex; align-items: center; gap: 8px; font-family: var(--vm-font-head); font-size: 12.5px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--vm-green-700); box-shadow: none !important; transform: none !important; }
body .ss-btn--link::after { content: "" !important; width: 7px; height: 7px; border-top: 2px solid currentColor; border-right: 2px solid currentColor; transform: rotate(45deg); transition: transform .25s var(--vm-ease); font-size: 0; }
body .ss-btn--link:hover { color: var(--vm-green-800, #1f7a35); background: none; }
body .ss-btn--link:hover::after { transform: translateX(4px) rotate(45deg); }
body :is(.ss-section--dark, .ss-band) .ss-btn--link { color: #7fd28a; }
body .ss-btn-row:has(> .ss-btn--link + .ss-btn--link) { gap: 12px 28px; }

/* Centered check lists: icon and text stay together as a left-aligned row; the list itself is centred */
body .ss-core-listpanel:has(.ss-core-split__grid--solo) .ss-core-listpanel__item,
body .ss-core-listpanel:has(.ss-core-listpanel__top > .ss-core-media:not(:has(img))) .ss-core-listpanel__item { align-items: flex-start; text-align: left; }
body .ss-core-listpanel:has(.ss-core-split__grid--solo) .ss-core-listpanel__name,
body .ss-core-listpanel:has(.ss-core-listpanel__top > .ss-core-media:not(:has(img))) .ss-core-listpanel__name { justify-content: flex-start; }
body .ss-core-listpanel:has(.ss-core-split__grid--solo) .ss-core-listpanel__list--2 { max-width: none; }

/* Comparison table: empty "generic tools" cells show a muted dash, not a blank stripe */
body .ss-prodb-table td.is-empty::before { content: "—"; display: block; text-align: center; font-size: 18px; color: #9fb0cf; }

/* Compact honors rows (Company page): 3 across on mid widths so titles don't stack 7 lines */
@media (min-width: 761px) and (max-width: 1180px) {
	body .ss-co-honors--compact .ss-co-honors__list, body .ss-co-honors--compact .ss-co-honors__group:last-child .ss-co-honors__list { grid-auto-flow: row; grid-template-columns: repeat(3, minmax(0, 1fr)); }
	body .ss-co-honors--compact .ss-co-honors__list:has(> li:nth-child(4):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Check lists with descriptions ("Ideal For" on service pages): left-aligned check cards, 2 across, odd last card centred */
body .ss-core-listpanel__panel:has(.ss-core-listpanel__text) .ss-core-listpanel__list--2 { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; columns: auto; text-align: left; }
body .ss-core-listpanel__panel:has(.ss-core-listpanel__text) .ss-core-listpanel__list--2 > .ss-core-listpanel__item { flex: 0 1 calc(50% - 6px); margin: 0; display: grid; grid-template-columns: 30px minmax(0, 1fr); column-gap: 12px; align-items: start; padding: 16px 18px; border-radius: 14px; background: #fff; border: 1px solid #dfe8f4; text-align: left; transition: transform .3s var(--vm-ease), border-color .3s var(--vm-ease), box-shadow .3s var(--vm-ease); }
body .ss-core-listpanel__panel:has(.ss-core-listpanel__text) .ss-core-listpanel__item::before { position: static; grid-row: 1 / span 2; width: 30px; height: 30px; border: 0; border-radius: 50%; transform: none; background: var(--vm-green-100) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2326a34b' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 16px no-repeat; }
body .ss-core-listpanel__panel:has(.ss-core-listpanel__text) .ss-core-listpanel__name { justify-content: flex-start; text-align: left; margin: 2px 0 4px; }
body .ss-core-listpanel__panel:has(.ss-core-listpanel__text) .ss-core-listpanel__text { margin: 0; text-align: left; }
body .ss-core-listpanel__panel:has(.ss-core-listpanel__text) .ss-core-listpanel__item:hover { transform: translateY(-3px); border-color: #b9d2f3; box-shadow: 0 14px 28px -18px rgba(14, 43, 84, .4); }
@media (max-width: 760px) { body .ss-core-listpanel__panel:has(.ss-core-listpanel__text) .ss-core-listpanel__list--2 > .ss-core-listpanel__item { flex-basis: 100%; } }

/* Framework strip link: chevron cue instead of a text arrow */
body .ss-svc-fw__link > span[aria-hidden] { display: none; }
body .ss-svc-fw__link { display: inline-flex; align-items: center; gap: 8px; }
body .ss-svc-fw__link::before { content: ""; order: 2; width: 7px; height: 7px; border-top: 2px solid currentColor; border-right: 2px solid currentColor; transform: rotate(45deg); transition: transform .25s var(--vm-ease); }
body .ss-svc-fw__tile:hover .ss-svc-fw__link::before { transform: translateX(4px) rotate(45deg); }

/* Sticky intro + cards: below 1180px the intro runs full width above the cards */
@media (max-width: 1180px) {
	body .ss-core-cards__sticky { grid-template-columns: 1fr; gap: 28px; }
	body .ss-core-cards__aside { position: static; max-width: 860px; }
	body .ss-core-cards__grid--sticky { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	body .ss-core-cards__grid--sticky:has(> :nth-child(4):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) { body .ss-core-cards__grid--sticky, body .ss-core-cards__grid--sticky:has(> :nth-child(4):last-child) { grid-template-columns: 1fr; } }

/* Title-only check tiles sitewide: compact row (check + title), no empty lower half */
body .ss-core-listpanel__panel:not(:has(.ss-core-listpanel__text)) .ss-core-listpanel__item { flex-direction: row; align-items: center; gap: 12px; padding: 14px 16px; min-height: 0; }
body .ss-core-listpanel__panel:not(:has(.ss-core-listpanel__text)) .ss-core-listpanel__item::before { flex: none; width: 30px; height: 30px; background-size: 16px; }
body .ss-core-listpanel__panel:not(:has(.ss-core-listpanel__text)) .ss-core-listpanel__name { margin: 0; text-align: left; justify-content: flex-start; font-size: 14.5px; line-height: 1.35; }
body .ss-core-listpanel__panel:not(:has(.ss-core-listpanel__text)) .ss-core-listpanel__name .ss-badge { flex-basis: 100%; margin-top: 6px; }
body .ss-core-listpanel__panel:not(:has(.ss-core-listpanel__text)) .ss-core-listpanel__name { flex-wrap: wrap; }

/* ------------------------------------------------------------------ */
/* Section illustrations: one proportion sitewide. Art supports the    */
/* copy, never dominates it: capped height, centred in its column, and */
/* the copy column gets the larger share of a split.                   */
/* ------------------------------------------------------------------ */
body :is(.ss-core-split__media, .ss-core-row__media, .ss-core-tabs__media, .ss-core-listpanel__media, .ss-core-cards__splitmedia, .ss-res-feature__media, .ss-res-tiles__media, .ss-proda-split__media, .ss-co-portfolio__media, .ss-co-profile__media, .ss-plat-int__media, .ss-svc-why__art) :is(img, .vm-flow) {
	width: auto !important; max-width: 100% !important; max-height: 340px !important; height: auto; object-fit: contain; margin-left: auto; margin-right: auto;
}
body :is(.ss-core-split__media, .ss-core-row__media, .ss-core-tabs__media, .ss-core-listpanel__media, .ss-res-feature__media, .ss-res-tiles__media, .ss-proda-split__media, .ss-co-profile__media, .ss-plat-int__media) { display: flex; align-items: center; justify-content: center; }
body .ss-core-cards__media:not(.ss-core-cards__splitmedia) img { max-height: 300px !important; width: auto !important; margin: 0 auto; }
/* Splits: copy takes the larger column */
@media (min-width: 901px) {
	body .ss-core-split__grid:not(.ss-core-split__grid--narrow):not(.ss-core-split__grid--criteria):not(.ss-core-split__grid--solo) { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); }
	body .ss-core-split__grid.ss-split--reverse:not(.ss-core-split__grid--narrow):not(.ss-core-split__grid--criteria):not(.ss-core-split__grid--solo) { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); }
	body .ss-res-feature__split.ss-split { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); align-items: center; }
	body .ss-res-feature__split.ss-split.ss-split--reverse { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); }
	body .ss-proda-split__grid:not(.ss-proda-split__grid--solo) { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); }
	body .ss-proda-split__grid.ss-split--reverse { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); }
}
@media (max-width: 900px) {
	body :is(.ss-core-split__media, .ss-res-feature__media, .ss-proda-split__media, .ss-res-tiles__media) :is(img, .vm-flow) { max-height: 260px !important; }
}

/* Supplier profile: the data table leads, the illustration supports */
@media (min-width: 901px) {
	body .ss-co-profile__grid { grid-template-columns: minmax(0, 1.5fr) minmax(0, .5fr); gap: clamp(32px, 4vw, 56px); align-items: center; }
	body .ss-co-profile__media { display: flex; justify-content: center; }
	body .ss-co-profile__media img { max-height: 300px !important; width: auto !important; }
}
body .ss-co-profile__row { grid-template-columns: minmax(130px, .55fr) 2fr; align-items: baseline; }
body .ss-co-profile__panel dd { line-height: 1.55; }
body .ss-co-profile__panel dd .ss-co-textlink { margin-top: 6px; }
body .ss-co-profile__panel dd br + .ss-co-textlink, body .ss-co-profile__panel dd .ss-co-textlink:not(:first-child) { display: inline-flex; margin-top: 8px; }
body .ss-co-profile__row { transition: background .25s var(--vm-ease); }
body .ss-co-profile__row:hover { background: linear-gradient(90deg, rgba(31, 95, 186, .05), transparent); }
body .ss-co-profile__panel dd .ss-co-textlink:not(:first-child) { display: flex; width: fit-content; }

/* Topic tiles: even rows */
body .ss-res-tiles__grid--4 .ss-res-tile--topic { min-height: 66px; }
body .ss-res-tile--topic .ss-res-tile__title { text-wrap: balance; }

/* Small dark stat rows (Careers, any 2-4 figure row): the homepage stats band, not boxes */
body .ss-section--dark .ss-co-proof--row .ss-co-proof__tiles--few, body .ss-co-proof--row.ss-section--dark .ss-co-proof__tiles--few { display: grid; grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); gap: 0; }
body .ss-co-proof--row.ss-section--dark .ss-co-proof__tiles--few .ss-co-proof__tile { min-height: 0; padding: 10px 18px 6px; background: none; border: 0; border-radius: 0; box-shadow: none; backdrop-filter: none; align-items: center; text-align: center; justify-content: flex-start; gap: 12px; }
body .ss-co-proof--row.ss-section--dark .ss-co-proof__tiles--few .ss-co-proof__tile + .ss-co-proof__tile { border-left: 1px solid rgba(120, 165, 240, .22); }
body .ss-co-proof--row.ss-section--dark .ss-co-proof__tiles--few .ss-co-proof__value { font-size: clamp(44px, 4.4vw, 60px); font-weight: 600; letter-spacing: -.02em; background: linear-gradient(180deg, #fff 30%, #8bbcff); -webkit-background-clip: text; background-clip: text; color: transparent; line-height: 1; }
body .ss-co-proof--row.ss-section--dark .ss-co-proof__tiles--few .ss-co-proof__icon { width: 56px; height: 56px; margin: 2px auto 4px; }
body .ss-co-proof--row.ss-section--dark .ss-co-proof__tiles--few .ss-co-proof__label { position: relative; padding-top: 12px; font-size: 12.5px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: #ffb066; }
body .ss-co-proof--row.ss-section--dark .ss-co-proof__tiles--few .ss-co-proof__label::before { content: ""; position: absolute; top: 0; left: 50%; width: 28px; height: 2px; margin-left: -14px; border-radius: 2px; background: var(--vm-orange); }
@media (max-width: 760px) { body .ss-co-proof--row.ss-section--dark .ss-co-proof__tiles--few { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 22px; } body .ss-co-proof--row.ss-section--dark .ss-co-proof__tiles--few .ss-co-proof__tile:nth-child(odd) { border-left: 0; } }

/* Events empty state: a designed panel, not a bare sentence */
body .ss-fx-events .ss-fx-empty { display: flex; flex-direction: column; align-items: center; gap: 14px; max-width: 720px; margin: 8px auto 0; padding: clamp(28px, 4vw, 44px); border-radius: 20px; background: linear-gradient(135deg, #fff, #f2f7ff); border: 1px solid var(--vm-line); box-shadow: 0 22px 44px -28px rgba(14, 43, 84, .35); text-align: center; }
body .ss-fx-events .ss-fx-empty__icon { width: 56px; height: 56px; border-radius: 16px; background: linear-gradient(140deg, #1f5fba, #0e2b54); -webkit-mask: none; mask: none; position: relative; }
body .ss-fx-events .ss-fx-empty__icon::after { content: ""; position: absolute; inset: 14px; background: #fff; -webkit-mask: var(--ss-fx-icon) center / contain no-repeat; mask: var(--ss-fx-icon) center / contain no-repeat; }
body .ss-fx-events .ss-fx-empty__text { margin: 0; font-family: var(--vm-font-head); font-size: 17px; font-weight: 500; color: var(--vm-ink); }

/* ------------------------------------------------------------------ */
/* All library cards (case studies, FAQs, white papers): same card language as the rest of the site    */
/* ------------------------------------------------------------------ */
body .ss-fx-card { --cat: var(--vm-blue-600, #1f5fba); position: relative; border: 1px solid var(--vm-line); border-top: 1px solid var(--vm-line); border-radius: 16px; background: #fff; box-shadow: 0 14px 30px -24px rgba(14, 43, 84, .45); }
body .ss-fx-card--cat-breaking-news { --cat: #d92d20; }
body .ss-fx-card--cat-historical-press { --cat: #7a4cc2; }
body .ss-fx-card--cat-featured-news { --cat: var(--vm-green-700); }
body .ss-fx-card::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: linear-gradient(90deg, var(--cat), color-mix(in srgb, var(--cat) 20%, transparent)); transform: scaleX(.22); transform-origin: 0 50%; transition: transform .45s var(--vm-ease); z-index: 1; }
body .ss-fx-card .ss-fx-card__body { display: flex; flex-direction: column; gap: 10px; height: 100%; padding: 22px 22px 20px; }
body .ss-fx-card .ss-fx-card__kicker { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 0; order: 0; }
body .ss-fx-card .ss-fx-card__cat { display: inline-flex; align-items: center; gap: 7px; padding: 4px 10px; border-radius: 999px; background: color-mix(in srgb, var(--cat) 10%, #fff); color: var(--cat); font-family: var(--vm-font-head); font-size: 10.5px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
body .ss-fx-card .ss-fx-card__cat::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
body .ss-fx-card .ss-fx-card__meta { order: 1; margin: -4px 0 0; font-size: 12.5px; color: var(--vm-muted); }
body .ss-fx-card .ss-fx-card__title { order: 2; margin: 0; font-size: 17px; line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; min-height: calc(1.35em * 3); }
body .ss-fx-card .ss-fx-card__title a { color: var(--vm-ink); text-decoration: none !important; transition: color .25s var(--vm-ease); }
body .ss-fx-card .ss-fx-card__title a::after { content: ""; position: absolute; inset: 0; z-index: 2; }
body .ss-fx-card .ss-fx-card__text { order: 3; margin: 0; font-size: 14px; line-height: 1.6; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
body .ss-fx-card .ss-fx-card__cta { order: 4; font-size: 12.5px; letter-spacing: .04em; }
body .ss-fx-card .ss-fx-arrow { width: 8px; height: 8px; border: 0; border-top: 2px solid currentColor; border-right: 2px solid currentColor; background: none; transform: rotate(45deg); }
body .ss-fx-card .ss-fx-arrow::before, body .ss-fx-card .ss-fx-arrow::after { display: none; }
body .ss-fx-card:hover { transform: translateY(-4px); border-color: color-mix(in srgb, var(--cat) 40%, var(--vm-line)); box-shadow: 0 22px 40px -22px rgba(14, 43, 84, .45); }
body .ss-fx-card:hover::before { transform: scaleX(1); }
body .ss-fx-card:hover .ss-fx-card__title a { color: var(--vm-blue-600, #1f5fba); }
body .ss-fx-card:hover .ss-fx-arrow { transform: translateX(4px) rotate(45deg); }

body .ss-fx-card--case_studies, body .ss-fx-card--faqs { --cat: var(--vm-orange); }
/* Case studies and FAQs have no meaningful publish date (import date) */
body :is(.ss-fx-card--case_studies, .ss-fx-card--faqs) .ss-fx-card__meta { display: none; }
body .ss-fx-card .ss-fx-card__kicker { flex-wrap: wrap; justify-content: flex-start; }
body .ss-fx-card .ss-fx-card__kicker > * + * { margin-left: 0; }

/* Download covers: designed cover art (rendered per title) */
body .ss-res-book__cover--image { padding: 0; aspect-ratio: 3 / 4; background: #0a1f47; border-radius: 4px 10px 10px 4px; }
body .ss-res-book__cover--image::after { display: none; }
body .ss-res-book__cover--image img { display: block; width: 100%; height: 100%; object-fit: cover; }
body .ss-res-book { grid-template-columns: 112px minmax(0, 1fr); }
body .ss-res-book:hover .ss-res-book__cover--image { transform: translateY(-4px) rotate(-2deg); box-shadow: 0 22px 36px -12px rgba(14, 43, 84, .45); }
/* Odd last download spans both columns, centred, so the grid never ends with an empty slot */
@media (min-width: 761px) { body .ss-res-shelf__grid > li:last-child:nth-child(odd) { grid-column: 1 / -1; max-width: calc(50% - 10px); justify-self: center; width: 100%; } }

/* Journal cover: real artwork instead of a blurred placeholder block */
body .ss-res-journal__cover-art { display: flex; align-items: center; justify-content: center; min-height: 0; background: radial-gradient(80% 80% at 50% 55%, rgba(79, 143, 232, .18), transparent 70%) !important; filter: none !important; }
body .ss-res-journal__cover-art img { width: 100%; height: auto; max-height: 150px; object-fit: contain; }

/* News articles: formatted press releases */
body .ss-prose .ss-news-sub { margin: 30px 0 12px; font-size: 20px; color: var(--vm-ink); }
body .ss-prose .ss-news-list { list-style: none; margin: 0 0 22px; padding: 0; display: grid; gap: 10px; }
body .ss-prose .ss-news-list li { position: relative; padding: 12px 16px 12px 46px; border-radius: 12px; background: #f5f9ff; border: 1px solid #e1ebf7; line-height: 1.6; }
body .ss-prose .ss-news-list li::before { content: ""; position: absolute; left: 14px; top: 14px; width: 20px; height: 20px; border-radius: 50%; background: var(--vm-tick, none) center / 11px no-repeat, linear-gradient(140deg, #5cc16a, #2f9e4f); }
body .ss-prose .ss-news-list strong { color: var(--vm-ink); }
body .ss-prose .ss-news-contact { margin-top: 32px; padding: 22px 24px; border-radius: 16px; background: linear-gradient(140deg, #0f2d5e, #0a1f47); color: #dbe6f7; }
body .ss-prose .ss-news-contact .ss-news-sub { margin-top: 0; color: #fff; font-size: 18px; }
body .ss-prose .ss-news-contact p { margin: 0 0 4px; color: #dbe6f7; }
body .ss-prose .ss-news-contact a { color: #ffb066; }

/* Small stat rows on light sections: the same band, navy figures */
body .ss-co-proof--row:not(.ss-section--dark) .ss-co-proof__tiles--few { display: grid; grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); gap: 0; padding: 26px 10px; border-radius: 20px; background: #fff; border: 1px solid var(--vm-line); box-shadow: 0 22px 44px -30px rgba(14, 43, 84, .35); }
body .ss-co-proof--row:not(.ss-section--dark) .ss-co-proof__tiles--few .ss-co-proof__tile { min-height: 0; padding: 6px 18px; background: none; border: 0; border-radius: 0; box-shadow: none; align-items: center; text-align: center; justify-content: flex-start; gap: 12px; }
body .ss-co-proof--row:not(.ss-section--dark) .ss-co-proof__tiles--few .ss-co-proof__tile + .ss-co-proof__tile { border-left: 1px solid var(--vm-line); }
body .ss-co-proof--row:not(.ss-section--dark) .ss-co-proof__tiles--few .ss-co-proof__value { font-size: clamp(40px, 4vw, 56px); font-weight: 600; letter-spacing: -.02em; line-height: 1; background: linear-gradient(180deg, var(--vm-navy-800, #0e2b54) 20%, var(--vm-blue-600, #1f5fba)); -webkit-background-clip: text; background-clip: text; color: transparent; }
body .ss-co-proof--row:not(.ss-section--dark) .ss-co-proof__tiles--few .ss-co-proof__icon { width: 52px; height: 52px; margin: 0 auto 2px; }
body .ss-co-proof--row:not(.ss-section--dark) .ss-co-proof__tiles--few .ss-co-proof__label { position: relative; padding-top: 12px; font-size: 12.5px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--vm-orange); }
body .ss-co-proof--row:not(.ss-section--dark) .ss-co-proof__tiles--few .ss-co-proof__label::before { content: ""; position: absolute; top: 0; left: 50%; width: 28px; height: 2px; margin-left: -14px; border-radius: 2px; background: var(--vm-orange); }
@media (max-width: 760px) { body .ss-co-proof--row:not(.ss-section--dark) .ss-co-proof__tiles--few { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 22px; } body .ss-co-proof--row:not(.ss-section--dark) .ss-co-proof__tiles--few .ss-co-proof__tile:nth-child(odd) { border-left: 0; } }

/* ------------------------------------------------------------------ */
/* Light cards / panels inside dark sections become the glass style    */
/* ------------------------------------------------------------------ */
body :is(.ss-section--dark, .ss-band) .ss-core-criteria__panel { background: linear-gradient(160deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .03)) !important; border: 1px solid rgba(143, 186, 255, .25) !important; color: #dbe6f7 !important; opacity: 1 !important; box-shadow: 0 18px 36px -20px rgba(0, 0, 0, .55); }
body :is(.ss-section--dark, .ss-band) .ss-core-criteria__panel :is(p, li) { color: #dbe6f7 !important; opacity: 1 !important; }
body :is(.ss-section--dark, .ss-band) .ss-core-criteria__title { color: #fff !important; }
body :is(.ss-section--dark, .ss-band) .ss-core-criteria__panel[hidden] { display: none; }
body .ss-section--dark .ss-core-cards__grid--light > .ss-core-card--light,
body .ss-section--dark .ss-core-card--light {
	background: linear-gradient(160deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .03)) !important; border: 1px solid rgba(143, 186, 255, .25) !important; box-shadow: 0 18px 36px -24px rgba(0, 0, 0, .6) !important; color: #c9d5ea;
}
body .ss-section--dark .ss-core-card--light .ss-card__title { color: #fff !important; }
body .ss-section--dark .ss-core-card--light p { color: #c3cfe4 !important; }
body .ss-section--dark .ss-core-card--light:hover { border-color: rgba(255, 176, 102, .55) !important; background: linear-gradient(160deg, rgba(255, 255, 255, .14), rgba(255, 255, 255, .05)) !important; }
/* Dark sections with many short cards: compact icon-left layout, no half-empty cards */
@media (min-width: 761px) {
	body .ss-section--dark .ss-core-cards__grid:has(> .ss-core-card--light:nth-child(6)) > .ss-core-card--light { display: grid; grid-template-columns: 44px minmax(0, 1fr); column-gap: 14px; align-content: start; padding: 18px; }
	body .ss-section--dark .ss-core-cards__grid:has(> .ss-core-card--light:nth-child(6)) > .ss-core-card--light .ss-core-card__top { grid-row: 1 / span 2; margin: 0; }
	body .ss-section--dark .ss-core-cards__grid:has(> .ss-core-card--light:nth-child(6)) > .ss-core-card--light .ss-core-card__icon { width: 44px; height: 44px; }
	body .ss-section--dark .ss-core-cards__grid:has(> .ss-core-card--light:nth-child(6)) > .ss-core-card--light .ss-card__title { margin: 2px 0 4px; font-size: 16px; }
	body .ss-section--dark .ss-core-cards__grid:has(> .ss-core-card--light:nth-child(6)) > .ss-core-card--light > :not(.ss-core-card__top) { grid-column: 2; }
}
/* Pill lists in left-aligned product sections: centred and balanced */
body .ss-prodb-section--left .ss-prodb-pills, body .ss-prodb-section--left .ss-svc-chips { justify-content: flex-start; }

/* Product section grids: a short last row widens to fill (no left-hugging orphans) */
@media (min-width: 901px) {
	body .ss-prodb-section__grid.ss-grid--4, body .ss-prodb-section__grid.ss-grid--3 { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); }
	body .ss-prodb-section__grid.ss-grid--4 > * { grid-column: span 3; }
	body .ss-prodb-section__grid.ss-grid--3 > * { grid-column: span 4; }
	body .ss-prodb-section__grid.ss-grid--4 > :nth-child(4n+1):nth-last-child(3), body .ss-prodb-section__grid.ss-grid--4 > :nth-child(4n+1):nth-last-child(3) ~ * { grid-column: span 4; }
	body .ss-prodb-section__grid.ss-grid--4 > :nth-child(4n+1):nth-last-child(2), body .ss-prodb-section__grid.ss-grid--4 > :nth-child(4n+1):nth-last-child(2) ~ *,
	body .ss-prodb-section__grid.ss-grid--3 > :nth-child(3n+1):nth-last-child(2), body .ss-prodb-section__grid.ss-grid--3 > :nth-child(3n+1):nth-last-child(2) ~ * { grid-column: span 6; }
	body .ss-prodb-section__grid.ss-grid--4 > :nth-child(4n+1):last-child, body .ss-prodb-section__grid.ss-grid--3 > :nth-child(3n+1):last-child { grid-column: 1 / -1; }
}

/* Check tiles on dark sections (CloudMaster "Validation Assets Included"): glass document tiles */
body .ss-section--dark .ss-proda-tile { background: linear-gradient(160deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .03)) !important; border: 1px solid rgba(143, 186, 255, .25) !important; color: #fff !important; box-shadow: none !important; transition: transform .3s var(--vm-ease), border-color .3s var(--vm-ease), background .3s var(--vm-ease); }
body .ss-section--dark .ss-proda-tile * { color: #fff; }
body .ss-section--dark .ss-proda-tile__check { background: var(--vm-tick, none) center / 12px no-repeat, linear-gradient(140deg, #5cc16a, #2f9e4f) !important; border: 0 !important; }
body .ss-section--dark .ss-proda-tile:hover { transform: translateY(-3px); border-color: rgba(255, 176, 102, .55) !important; background: linear-gradient(160deg, rgba(255, 255, 255, .14), rgba(255, 255, 255, .05)) !important; }
/* Comparison tables: value cells left-aligned for scanning */
body .ss-core-compare__table td { text-align: left; }
body .ss-core-compare__table thead th:not(:first-child) { text-align: left; }

/* Webinar single: the short summary reads as a centred card, not a stray left block */
body.single-ss_webinars .ss-fx-article .ss-container--narrow { max-width: 820px; padding: clamp(26px, 4vw, 40px); border-radius: 20px; background: linear-gradient(135deg, #fff, #f3f8ff); border: 1px solid var(--vm-line); box-shadow: 0 22px 44px -30px rgba(14, 43, 84, .35); text-align: center; }
body.single-ss_webinars .ss-fx-article .ss-fx-lede p { font-size: 17px; line-height: 1.7; color: var(--vm-ink); }
body.single-ss_webinars .ss-fx-article .ss-btn-row { justify-content: center; }
body.single-ss_webinars .ss-fx-article .ss-fx-share { justify-content: center; }

/* ------------------------------------------------------------------ */
/* Topic sections with a graphic: list beside a matching framed panel  */
/* ------------------------------------------------------------------ */
@media (min-width: 901px) {
	body :is(.ss-res-tiles--topic, .ss-res-tiles--tags) .ss-res-tiles__body--media { grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); align-items: stretch; gap: clamp(24px, 3vw, 40px); }
	body .ss-res-tiles--topic .ss-res-tiles__body--media .ss-res-tiles__grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px; }
	body .ss-res-tiles--topic .ss-res-tiles__body--media .ss-res-tiles__grid > li { grid-column: auto !important; }
	body .ss-res-tiles--topic .ss-res-tile--topic { min-height: 56px; padding: 10px 44px 10px 12px; }
}
body :is(.ss-res-tiles--topic, .ss-res-tiles--tags) .ss-res-tiles__media {
	position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; min-height: 100%;
	padding: clamp(22px, 3vw, 34px); border-radius: 22px; overflow: hidden;
	background: radial-gradient(120% 90% at 50% 30%, #1b4a8f 0%, #0a1f47 60%, #06152f 100%);
	box-shadow: 0 28px 56px -30px rgba(10, 31, 71, .55);
}
body :is(.ss-res-tiles--topic, .ss-res-tiles--tags) .ss-res-tiles__media::before { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(140, 180, 255, .16) 1px, transparent 1px); background-size: 18px 18px; pointer-events: none; }
body :is(.ss-res-tiles--topic, .ss-res-tiles--tags) .ss-res-tiles__media img { position: relative; max-height: 360px !important; width: auto !important; max-width: 100% !important; filter: drop-shadow(0 24px 30px rgba(0, 0, 0, .45)); transition: transform .6s var(--vm-ease); }
body :is(.ss-res-tiles--topic, .ss-res-tiles--tags) .ss-res-tiles__body--media:hover .ss-res-tiles__media img { transform: translateY(-6px) scale(1.02); }
body .ss-res-tiles__caption { position: relative; margin: 0; padding: 7px 14px; border-radius: 999px; background: rgba(255, 255, 255, .08); border: 1px solid rgba(143, 186, 255, .28); font-family: var(--vm-font-head); font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: #ffb066; text-align: center; }
/* Popular topics: tags in a framed card so the left column balances the panel */
body .ss-res-tiles--tags .ss-res-tiles__body--media .ss-res-tiles__main { display: flex; flex-direction: column; justify-content: center; padding: clamp(22px, 3vw, 32px); border-radius: 22px; background: #fff; border: 1px solid var(--vm-line); box-shadow: 0 22px 44px -30px rgba(14, 43, 84, .35); }
body .ss-res-tiles--tags .ss-res-tags { gap: 10px; }
@media (max-width: 900px) { body :is(.ss-res-tiles--topic, .ss-res-tiles--tags) .ss-res-tiles__media img { max-height: 240px !important; } }

/* Inline sign-up forms (newsletter, journal, events): field and button share one height and baseline */
body .ss-fx-form--inline .ss-form__fields { align-items: start !important; }
body .ss-fx-form--inline .ss-fx-form__submit-row { align-self: start !important; margin: 0 !important; padding: 0 !important; display: flex; align-items: stretch; }
body .ss-fx-form--inline [data-field=email] { margin: 0 !important; }
body .ss-fx-form--inline [data-field=email] label:not(.ss-fx-check) { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
body .ss-fx-form--inline input[type=email], body .ss-fx-form--inline .ss-fx-form__submit-row .ss-btn, body .ss-fx-form--inline .ss-fx-form__submit-row button { height: 52px !important; min-height: 52px !important; box-sizing: border-box; margin: 0 !important; }
body .ss-fx-form--inline .ss-fx-form__submit-row .ss-btn, body .ss-fx-form--inline .ss-fx-form__submit-row button { display: inline-flex; align-items: center; justify-content: center; padding-top: 0 !important; padding-bottom: 0 !important; }
body .ss-fx-form--inline .ss-fx-form__submit-row .ss-fx-form__req { display: none; }

/* Downloads tabs: Available Now / Available on Request */
body .ss-res-shelf__rail { display: flex; justify-content: center; gap: 6px; width: fit-content; margin: 0 auto 26px; padding: 6px; border-radius: 16px; background: #eaf1fb; border: 1px solid var(--vm-line); }
body .ss-res-shelf__tab { position: relative; display: inline-flex; align-items: center; gap: 10px; padding: 11px 20px; border: 0; border-radius: 12px; background: transparent; font-family: var(--vm-font-head); font-size: 15px; font-weight: 500; color: var(--vm-ink); cursor: pointer; transition: background .3s var(--vm-ease), box-shadow .3s var(--vm-ease); }
body .ss-res-shelf__tab:hover { background: rgba(255, 255, 255, .7); }
body .ss-res-shelf__tab[aria-selected=true] { background: #fff; box-shadow: 0 8px 20px -8px rgba(14, 43, 84, .3); }
body .ss-res-shelf__count { display: grid; place-items: center; min-width: 24px; height: 24px; padding: 0 6px; border-radius: 999px; background: var(--vm-sky-100, #e3eefc); font-size: 12px; font-weight: 600; color: var(--vm-blue-600, #1f5fba); }
body .ss-res-shelf__tab[aria-selected=true] .ss-res-shelf__count { background: var(--vm-orange); color: #fff; }
body .ss-res-shelf__panel.is-entering { animation: ss-criteria-in .45s var(--vm-ease); }
body .ss-res-shelf__panel-note { margin: -8px auto 20px; max-width: 640px; text-align: center; font-size: 14.5px; color: var(--vm-muted); }
/* Covers always full colour (the pending grey-out read as broken) */
body .ss-res-book--pending .ss-res-book__cover, body .ss-res-book--pending .ss-res-book__cover img { filter: none !important; opacity: 1 !important; }
body .ss-res-book--pending { opacity: 1 !important; }

/* Regulatory library: designed seals (no third-party marks), compact tiles, clear link cue */
body .ss-res-tile--card:has(.ss-res-tile__seal) { display: grid; grid-template-columns: 58px minmax(0, 1fr); column-gap: 16px; align-items: start; padding: 20px 20px 18px; min-height: 0; }
body .ss-res-tile--card:has(.ss-res-tile__seal)::before { display: none; }
body .ss-res-tile__seal { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 50%; font-family: var(--vm-font-head); font-size: 13px; font-weight: 700; letter-spacing: .04em; color: #fff; box-shadow: inset 0 0 0 3px rgba(255, 255, 255, .35), 0 10px 20px -10px rgba(14, 43, 84, .6); transition: transform .4s var(--vm-ease); }
body .ss-res-tile__seal--us { background: radial-gradient(circle at 30% 30%, #2f5fa8, #0e2b54); }
body .ss-res-tile__seal--eu { background: radial-gradient(circle at 30% 30%, #2b62d1, #10318f); color: #ffd84d; }
body .ss-res-tile__seal--uk { background: radial-gradient(circle at 30% 30%, #7a4cc2, #3f2385); }
body .ss-res-tile__seal--ca { background: radial-gradient(circle at 30% 30%, #e0473c, #a51d17); }
body .ss-res-tile__seal--std { background: radial-gradient(circle at 30% 30%, #2bb3a3, #13756b); }
body .ss-res-tile__seal--guide { background: radial-gradient(circle at 30% 30%, #ffa64d, #d9730d); font-size: 12px; }
body .ss-res-tile--card:has(.ss-res-tile__seal) .ss-res-tile__title { font-size: 18px; margin-bottom: 2px; }
body .ss-res-tile--card:has(.ss-res-tile__seal) .ss-res-tile__text { font-size: 14px; line-height: 1.55; }
body .ss-res-tile--card:has(.ss-res-tile__seal) .ss-res-tile__cta { display: inline-flex; align-items: center; gap: 6px; margin-top: 8px; font-family: var(--vm-font-head); font-size: 12px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--vm-green-700); }
body .ss-res-tile--card:has(.ss-res-tile__seal) .ss-res-tile__cta::after { content: ""; width: 7px; height: 7px; border-top: 2px solid currentColor; border-right: 2px solid currentColor; transform: rotate(45deg); transition: transform .25s var(--vm-ease); }
body .ss-res-tile--card:has(.ss-res-tile__seal) .ss-res-tile__arrow { display: none; }
body .ss-res-tile--card.ss-res-tile--link:hover .ss-res-tile__seal { transform: rotate(-8deg) scale(1.06); }
body .ss-res-tile--card.ss-res-tile--link:hover .ss-res-tile__cta::after { transform: translateX(4px) rotate(45deg); }

/* ------------------------------------------------------------------ */
/* Enterprise Platform Architecture: linked layers + calmer pillars    */
/* ------------------------------------------------------------------ */
body .ss-plat-stack__bar:has(.ss-plat-stack__cue) { grid-template-columns: 56px minmax(0, 1fr) auto; cursor: pointer; }
body .ss-plat-stack__cue { display: inline-flex; align-items: center; white-space: nowrap; font-family: var(--vm-font-head); font-size: 12px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--vm-green-700); text-decoration: none !important; }
body .ss-plat-stack__layer--core .ss-plat-stack__cue { color: #7fd28a; }
body .ss-plat-stack__bar:has(.ss-plat-stack__cue)::before { content: ""; position: absolute; left: 0; top: 14px; bottom: 14px; width: 3px; border-radius: 3px; background: linear-gradient(180deg, var(--vm-orange), var(--vm-green)); transform: scaleY(0); transition: transform .35s var(--vm-ease); }
body .ss-plat-stack__bar:has(.ss-plat-stack__cue):hover::before { transform: scaleY(1); }
body .ss-plat-stack__bar:has(.ss-plat-stack__cue):hover .ss-core-arrow { transform: translateX(4px) rotate(45deg); }
body .ss-plat-stack__bar:has(.ss-plat-stack__cue):hover .ss-plat-stack__num { background: var(--vm-orange); color: #fff; }
body .ss-plat-stack__num { transition: background .3s var(--vm-ease), color .3s var(--vm-ease); }
body .ss-plat-app { position: relative; }
body .ss-plat-app--link { cursor: pointer; }
body .ss-plat-app__title a { color: inherit; text-decoration: none !important; }
body .ss-plat-app__cue { display: inline-flex; align-items: center; margin-top: 8px; font-family: var(--vm-font-head); font-size: 11.5px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--vm-green-700); }
body .ss-plat-app--link:hover { transform: translateY(-4px); border-color: rgba(31, 95, 186, .35); box-shadow: 0 18px 36px -20px rgba(14, 43, 84, .45); }
body .ss-plat-app--link:hover .ss-plat-app__title { color: var(--vm-blue-600, #1f5fba); }
body .ss-plat-app--link:hover .ss-core-arrow { transform: translateX(4px) rotate(45deg); }
@media (max-width: 760px) { body .ss-plat-stack__bar:has(.ss-plat-stack__cue) { grid-template-columns: 1fr; } }

/* Plan / Execute / Analyze / Transform pillars: glass cards with a colour edge, not solid colour blocks */
body :is(.ss-section--dark, .ss-band) .ss-plat-fw__card { position: relative; overflow: hidden; background: linear-gradient(160deg, rgba(255, 255, 255, .1), rgba(255, 255, 255, .03)) !important; border: 1px solid rgba(143, 186, 255, .25) !important; box-shadow: 0 18px 36px -22px rgba(0, 0, 0, .6) !important; transition: transform .35s var(--vm-ease), border-color .35s var(--vm-ease), background .35s var(--vm-ease); }
body :is(.ss-section--dark, .ss-band) .ss-plat-fw__card::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: var(--pc); transition: height .35s var(--vm-ease); }
body :is(.ss-section--dark, .ss-band) .ss-plat-fw__title { color: #fff !important; }
body :is(.ss-section--dark, .ss-band) .ss-plat-fw__text { color: #c9d5ea !important; }
body :is(.ss-section--dark, .ss-band) .ss-plat-fw__more { color: #7fd28a !important; font-family: var(--vm-font-head); letter-spacing: .05em; }
body :is(.ss-section--dark, .ss-band) a.ss-plat-fw__card:hover { transform: translateY(-5px); border-color: color-mix(in srgb, var(--pc) 70%, transparent) !important; background: linear-gradient(160deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, .05)) !important; }
body :is(.ss-section--dark, .ss-band) a.ss-plat-fw__card:hover::before { height: 6px; }

/* Light sections: readable pillar cards with the same colour edge */
body .ss-section:not(.ss-section--dark):not(.ss-band) .ss-plat-fw__title { color: var(--vm-ink) !important; }
body .ss-section:not(.ss-section--dark):not(.ss-band) .ss-plat-fw__text { color: var(--vm-text) !important; opacity: 1 !important; }
body .ss-section:not(.ss-section--dark):not(.ss-band) .ss-plat-fw__more { color: var(--vm-green-700) !important; opacity: 1 !important; }
/* Security nodes + deployment models: hover feedback like every other card */
body :is(.ss-plat-deploy__card, [class*="ss-plat-sec"][class*="__node"], [class*="ss-plat-hub__node"]) { transition: transform .3s var(--vm-ease), border-color .3s var(--vm-ease), box-shadow .3s var(--vm-ease); }
body .ss-plat-deploy__card:hover { transform: translateY(-4px); border-color: rgba(31, 95, 186, .35); box-shadow: 0 20px 40px -22px rgba(14, 43, 84, .45); }
body .ss-plat-deploy__card:hover .ss-plat-deploy__fig { background: #e6f0fd; }
body .ss-plat-deploy__fig { transition: background .3s var(--vm-ease); }

/* Wide-strip art (main.js .is-wide-media): art full width on top, copy spread in balanced columns */
@media (min-width: 961px) {
	body .is-wide-media { grid-template-columns: minmax(0, 1fr) !important; gap: 28px !important; }
	body .is-wide-media > [class*="__media"] { order: -1; position: static !important; display: flex; justify-content: center; }
	body .is-wide-media > [class*="__media"] img { max-height: 230px !important; width: auto !important; max-width: 100% !important; }
	body .ss-plat-ai__top.is-wide-media .ss-plat-ai__copy { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: clamp(24px, 3vw, 44px); align-items: start; }
	body .ss-plat-ai__top.is-wide-media .ss-plat-ai__copy > :is(.ss-plat-ai__tagline, .ss-plat-ai__note, .ss-btn-row) { grid-column: 1 / -1; }
	body .ss-plat-ai__top.is-wide-media .ss-plat-ai__copy > p:not(.ss-plat-ai__tagline):not(.ss-plat-ai__note) { margin: 0 0 4px; padding-left: 16px; border-left: 2px solid rgba(255, 176, 102, .45); }
	body .ss-plat-ai__top.is-wide-media .ss-plat-ai__copy > .ss-btn-row { margin-top: 22px; }
}

/* ------------------------------------------------------------------ */
/* Hero stats: one slim strip of figures with dividers (no boxes)      */
/* ------------------------------------------------------------------ */
body .ss-core-hero__stats, body .ss-core-hero__stats:has(> li:nth-child(4)), body .ss-core-hero__stats:has(> li:nth-child(2):last-child) {
	display: flex !important; flex-wrap: nowrap; gap: 0; max-width: none; width: fit-content; margin-top: 30px; padding: 14px 6px; border-radius: 16px;
	background: rgba(255, 255, 255, .05); border: 1px solid rgba(143, 186, 255, .22);
}
body .ss-core-hero__stats li, body .ss-core-hero__stats:has(> li:nth-child(4)) li { min-width: 0; padding: 2px 20px !important; border: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; transform: none !important; }
body .ss-core-hero__stats li + li { border-left: 1px solid rgba(143, 186, 255, .25) !important; }
body .ss-core-hero__stats .ss-core-hero__stat-value, body .ss-core-hero__stats:has(> li:nth-child(4)) .ss-core-hero__stat-value { font-size: clamp(20px, 1.8vw, 26px) !important; white-space: nowrap; line-height: 1.15; }
body .ss-core-hero__stats .ss-core-hero__stat-label { display: block; margin-top: 4px; font-size: 10.5px; letter-spacing: .1em; line-height: 1.35; max-width: 150px; }
@media (max-width: 1180px) {
	body .ss-core-hero__stats, body .ss-core-hero__stats:has(> li:nth-child(4)) { flex-wrap: wrap; width: auto; row-gap: 12px; }
	body .ss-core-hero__stats li { flex: 1 1 40%; }
	body .ss-core-hero__stats li:nth-child(3) { border-left: 0 !important; }
}
/* Hero with a product logo: logo sits clear of the header, headline capped */
body .ss-core-hero__logo { margin-top: 18px; margin-bottom: 14px; }
body .ss-core-hero__logo img { max-height: 44px; width: auto; }
body .ss-hero:has(.ss-core-hero__logo) .ss-hero__title { font-size: clamp(34px, 3.3vw, 50px); }
body .ss-hero:has(.ss-core-hero__stats) .ss-hero__buttons.is-stacked { display: flex; flex-direction: row; flex-wrap: wrap; width: auto; }

/* In-page form switch feedback */
@keyframes ss-flash { 0% { box-shadow: 0 0 0 0 rgba(241, 140, 33, .55); } 100% { box-shadow: 0 0 0 14px rgba(241, 140, 33, 0); } }
body .ss-core-form__card-wrap.is-flash, body .ss-fx-form.is-flash { animation: ss-flash 1s ease-out 2; border-radius: 18px; }
body select.is-flash { animation: ss-flash 1s ease-out 2; border-color: var(--vm-orange) !important; }
/* Consent checkboxes line up with the first line of their text */
body .ss-fx-check { display: flex !important; align-items: flex-start !important; gap: 10px; }
body .ss-fx-check input[type=checkbox] { flex: none; margin: 2px 0 0 !important; width: 18px; height: 18px; }
/* Nothing may cause sideways scrolling */
html, body { overflow-x: clip; }

/* Pillar cards on light sections: white card, colour edge, dark readable text */
body .ss-section:not(.ss-section--dark):not(.ss-band) .ss-plat-fw__card {
	position: relative; overflow: hidden; background: #fff !important; background-image: none !important;
	border: 1px solid var(--vm-line) !important; box-shadow: 0 18px 36px -24px rgba(14, 43, 84, .4) !important;
	transition: transform .35s var(--vm-ease), border-color .35s var(--vm-ease), box-shadow .35s var(--vm-ease);
}
body .ss-section:not(.ss-section--dark):not(.ss-band) .ss-plat-fw__card::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: var(--pc); transition: height .35s var(--vm-ease); z-index: 1; }
body .ss-section:not(.ss-section--dark):not(.ss-band) .ss-plat-fw__card::after { display: none !important; }
body .ss-section:not(.ss-section--dark):not(.ss-band) .ss-plat-fw__card * { text-shadow: none !important; }
body .ss-section:not(.ss-section--dark):not(.ss-band) .ss-plat-fw__title { color: var(--vm-ink) !important; opacity: 1 !important; }
body .ss-section:not(.ss-section--dark):not(.ss-band) .ss-plat-fw__text { color: #3f4f68 !important; opacity: 1 !important; }
body .ss-section:not(.ss-section--dark):not(.ss-band) .ss-plat-fw__more { color: var(--vm-green-700) !important; opacity: 1 !important; }
body .ss-section:not(.ss-section--dark):not(.ss-band) a.ss-plat-fw__card:hover { transform: translateY(-5px); border-color: color-mix(in srgb, var(--pc) 55%, var(--vm-line)) !important; box-shadow: 0 24px 44px -24px rgba(14, 43, 84, .5) !important; }
body .ss-section:not(.ss-section--dark):not(.ss-band) a.ss-plat-fw__card:hover::before { height: 7px; }
/* Band glows never widen the page */
body .ss-band { overflow: hidden; }
body .ss-section { overflow-x: clip; }

/* Product heroes: compact rhythm */
body .ss-prodb-hero .ss-hero__text p { margin-bottom: 10px; }
body .ss-prodb-hero .ss-prodb-hero__tagline { margin: 10px 0 12px; }
body .ss-prodb-hero .ss-hero__title { font-size: clamp(34px, 3.4vw, 52px); }

/* Two-column icon card grids: icon beside the text, no tall empty cards */
@media (min-width: 761px) {
	body .ss-core-cards__grid.ss-grid--2 > .ss-core-card.has-icon:not(.ss-core-card--statement) { display: grid; grid-template-columns: 56px minmax(0, 1fr); column-gap: 20px; align-content: start; padding: 24px 26px; }
	body .ss-core-cards__grid.ss-grid--2 > .ss-core-card.has-icon:not(.ss-core-card--statement) .ss-core-card__top { grid-row: 1 / span 3; margin: 0; }
	body .ss-core-cards__grid.ss-grid--2 > .ss-core-card.has-icon:not(.ss-core-card--statement) .ss-core-card__icon { width: 56px; height: 56px; }
	body .ss-core-cards__grid.ss-grid--2 > .ss-core-card.has-icon:not(.ss-core-card--statement) > :not(.ss-core-card__top) { grid-column: 2; }
	body .ss-core-cards__grid.ss-grid--2 > .ss-core-card.has-icon:not(.ss-core-card--statement) .ss-card__title { margin: 2px 0 6px; }
}
/* Criteria rails: tabs wrap in even rows (2x2 for four), never 3 + 1 */
body .ss-core-criteria__rail:has(> :nth-child(4):last-child) { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
body .ss-core-criteria__rail:has(> :nth-child(6):last-child) { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
body .ss-core-criteria__rail:has(> :nth-child(4):last-child) > *, body .ss-core-criteria__rail:has(> :nth-child(6):last-child) > * { width: 100%; justify-content: flex-start; }

/* Diagram hotspot markers: large, legible numbers */
body .ss-prodb-spot__btn { width: 40px !important; height: 40px !important; font-size: 15px !important; font-weight: 700 !important; border-width: 3px !important; box-shadow: 0 6px 16px rgba(7, 21, 51, .45), 0 0 0 4px rgba(241, 140, 33, .25) !important; transition: transform .25s var(--vm-ease); }
body .ss-prodb-spot:hover .ss-prodb-spot__btn, body .ss-prodb-spot.is-open .ss-prodb-spot__btn { transform: scale(1.12); background: #e07a10; }

/* AI-Powered Validation Lifecycle: each stage is one card (icon tile + number, title, text) */
body .ss-prodb-flow--stages { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px 24px; list-style: none; padding: 0; }
body .ss-prodb-flow--stages > .ss-prodb-stage { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 8px; margin: 0; padding: 22px 20px 20px; border-radius: 16px; background: #fff; border: 1px solid var(--vm-line); box-shadow: 0 16px 32px -24px rgba(14, 43, 84, .45); text-align: left; transition: transform .35s var(--vm-ease), border-color .35s var(--vm-ease), box-shadow .35s var(--vm-ease); }
body .ss-prodb-flow--stages .ss-prodb-stage__head { position: relative; display: block; width: auto; margin: 0 0 6px; padding: 0; }
body .ss-prodb-flow--stages .ss-prodb-stage__head::before, body .ss-prodb-flow--stages .ss-prodb-stage__head::after { display: none !important; }
body .ss-prodb-flow--stages .ss-prodb-stage__icon { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 14px; border: 0; background: linear-gradient(140deg, #1f5fba, #0e2b54); color: #fff; box-shadow: 0 10px 20px -10px rgba(14, 43, 84, .7); }
body .ss-prodb-flow--stages .ss-prodb-stage__icon svg { width: 24px; height: 24px; stroke: #fff; }
body .ss-prodb-flow--stages .ss-prodb-stage__num { position: absolute; top: -9px; right: -12px; left: auto; display: grid; place-items: center; width: 26px; height: 26px; padding: 0; border-radius: 50%; border: 2px solid #fff; background: var(--vm-orange); color: #fff; font-family: var(--vm-font-head); font-size: 11px; font-weight: 700; box-shadow: 0 4px 10px rgba(241, 140, 33, .45); }
body .ss-prodb-flow--stages .ss-prodb-stage__title { margin: 0; font-size: 17px; line-height: 1.3; }
body .ss-prodb-flow--stages .ss-prodb-stage__btn { display: inline; padding: 0; margin: 0; border: 0 !important; background: none !important; box-shadow: none !important; font: inherit; color: var(--vm-ink); text-align: left; text-decoration: none !important; cursor: pointer; }
body .ss-prodb-flow--stages .ss-prodb-stage__btn::after { content: "Details"; display: inline-flex; margin-left: 8px; padding: 2px 8px; border-radius: 999px; background: var(--vm-sky-50); border: 1px solid #dbe6f5; font-size: 10.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--vm-blue-600, #1f5fba); vertical-align: middle; }
body .ss-prodb-flow--stages .ss-prodb-stage__text { margin: 0; font-size: 14px; line-height: 1.55; color: var(--vm-text); }
body .ss-prodb-flow--stages > .ss-prodb-stage:not(:nth-child(4n)):not(:last-child)::after { content: ""; position: absolute; top: 46px; right: -18px; width: 12px; height: 12px; border-top: 2px solid var(--vm-orange); border-right: 2px solid var(--vm-orange); transform: rotate(45deg); opacity: .75; }
body .ss-prodb-flow--stages > .ss-prodb-stage:hover { transform: translateY(-4px); border-color: rgba(31, 95, 186, .35); box-shadow: 0 22px 40px -22px rgba(14, 43, 84, .5); }
@media (max-width: 1000px) { body .ss-prodb-flow--stages { grid-template-columns: repeat(2, minmax(0, 1fr)); } body .ss-prodb-flow--stages > .ss-prodb-stage::after { display: none; } }

/* Compact icon-left dark cards: icon pinned to the top beside the title */
body .ss-section--dark .ss-core-cards__grid:has(> .ss-core-card--light:nth-child(6)) > .ss-core-card--light .ss-core-card__top { align-self: start; }
body .ss-section--dark .ss-core-cards__grid:has(> .ss-core-card--light:nth-child(6)) > .ss-core-card--light { align-items: start; }

/* Product pages: link-style buttons use the site green cue (beats page-scoped blue) */
body[class*="ss-page--solutions"] .ss-btn--link { color: var(--vm-green-700) !important; letter-spacing: .05em !important; }
body[class*="ss-page--solutions"] :is(.ss-section--dark, .ss-band) .ss-btn--link { color: #7fd28a !important; }

/* Light/flat icon cards in 3-col grids of 6+: compact icon-left, top-aligned */
@media (min-width: 901px) {
	body .ss-core-cards__grid.ss-grid--3:has(> .ss-core-card:nth-child(6)):is(.ss-core-cards__grid--flat, .ss-core-cards__grid--light) > .ss-core-card.has-icon { display: grid; grid-template-columns: 52px minmax(0, 1fr); column-gap: 18px; align-content: start; align-items: start; padding: 22px 24px; }
	body .ss-core-cards__grid.ss-grid--3:has(> .ss-core-card:nth-child(6)):is(.ss-core-cards__grid--flat, .ss-core-cards__grid--light) > .ss-core-card.has-icon .ss-core-card__top { grid-row: 1 / span 3; margin: 0; align-self: start; }
	body .ss-core-cards__grid.ss-grid--3:has(> .ss-core-card:nth-child(6)):is(.ss-core-cards__grid--flat, .ss-core-cards__grid--light) > .ss-core-card.has-icon .ss-core-card__icon { width: 52px; height: 52px; }
	body .ss-core-cards__grid.ss-grid--3:has(> .ss-core-card:nth-child(6)):is(.ss-core-cards__grid--flat, .ss-core-cards__grid--light) > .ss-core-card.has-icon > :not(.ss-core-card__top) { grid-column: 2; }
	body .ss-core-cards__grid.ss-grid--3:has(> .ss-core-card:nth-child(6)):is(.ss-core-cards__grid--flat, .ss-core-cards__grid--light) > .ss-core-card.has-icon .ss-card__title { margin: 2px 0 6px; font-size: 17px; }
}

/* Footer bottom bar: copyright and legal links on one centred line, right edge matches the panel padding */
body .ss-footer__bottom { display: flex !important; align-items: center !important; justify-content: space-between; gap: 16px; padding: 16px 24px !important; }
body .ss-footer__bottom > *, body .ss-footer__bottom p, body .ss-footer__legal { margin: 0 !important; line-height: 1.4; }
body .ss-footer__legal { display: flex; align-items: center; list-style: none; padding: 0; }
body .ss-footer__legal li { display: inline-flex; align-items: center; }
body .ss-footer__legal li + li::before { margin: 0 12px; }
@media (max-width: 1100px) { body .ss-footer__bottom { padding-right: 96px !important; } }
#vmqa { display: none !important; }

/* Product hero status badge floats over the illustration (not crowding the copy) */
body .ss-prodb-hero__media { position: relative; }
body .ss-prodb-hero__badge--media { position: absolute; top: 4%; left: 50%; z-index: 3; margin: 0; transform: translateX(-50%); white-space: nowrap; }
body .ss-prodb-hero__badge--media .ss-badge { padding: 9px 16px; font-size: 11.5px; background: rgba(10, 31, 71, .72); border: 1px solid rgba(255, 176, 102, .55); box-shadow: 0 12px 26px -10px rgba(0, 0, 0, .55); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
@media (max-width: 900px) { body .ss-prodb-hero__badge--media { position: static; transform: none; margin: 0 0 14px; display: flex; justify-content: center; } }
@media (min-width: 901px) { body .ss-prodb-hero__media:has(.ss-prodb-hero__badge--media) { padding-top: 54px; } body .ss-prodb-hero__badge--media { top: 0; } }

/* ================================================================== */
/* Platform + Solutions pass                                           */
/* ================================================================== */
/* Product "works alongside" / "connects with" tables: linked rows */
body .ss-proda-alongside__item { position: relative; transition: background .25s var(--vm-ease); }
body .ss-proda-alongside__item--link { cursor: pointer; padding-right: 34px; }
body .ss-proda-alongside__name a { color: inherit; text-decoration: none !important; }
body .ss-proda-alongside__go { position: absolute; right: 12px; top: 50%; width: 8px; height: 8px; margin-top: -4px; border-top: 2px solid #7fd28a; border-right: 2px solid #7fd28a; transform: rotate(45deg); transition: transform .25s var(--vm-ease); }
body .ss-proda-alongside__item--link:hover { background: rgba(255, 255, 255, .06); }
body .ss-proda-alongside__item--link:hover .ss-proda-alongside__name { color: #ffb066; }
body .ss-proda-alongside__item--link:hover .ss-proda-alongside__go { transform: translateX(4px) rotate(45deg); }
body :not(.ss-section--dark) > .ss-container .ss-proda-alongside:not([class*=dark]) .ss-proda-alongside__go { border-color: var(--vm-green-700); }

/* 10-card product capability grids: 5 x 2, never 4 + 4 + 2 */
@media (min-width: 1081px) {
	body .ss-proda-cards__grid--c4:has(> :nth-child(10):last-child) { --cols: 5; --gap: 16px; }
	body .ss-proda-cards__grid--c4:has(> :nth-child(10):last-child) .ss-proda-card { padding: 20px 16px; }
	body .ss-proda-cards__grid--c4:has(> :nth-child(10):last-child) .ss-card__title { font-size: 15.5px; }
}

/* Dashboard preview cards on navy: glass, readable */
body .ss-section--dark .ss-proda-card--dash { background: linear-gradient(160deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .03)) !important; border: 1px solid rgba(143, 186, 255, .25) !important; box-shadow: 0 18px 36px -24px rgba(0, 0, 0, .6) !important; }
body .ss-section--dark .ss-proda-card--dash .ss-card__title { color: #fff !important; }
body .ss-section--dark .ss-proda-card--dash p { color: #c3cfe4 !important; }
body .ss-section--dark .ss-proda-card--dash .ss-proda-card__viz { background: rgba(255, 255, 255, .06) !important; }
body .ss-section--dark .ss-proda-card--dash:hover { transform: translateY(-4px); border-color: rgba(255, 176, 102, .55) !important; }

/* Capability tab cards: chevron cue (not a text arrow), single line */
body .ss-plat-cap__link { white-space: nowrap; }
body .ss-plat-cap__link > span[aria-hidden] { display: none; }
body .ss-plat-cap__link::after { content: ""; width: 7px; height: 7px; margin-left: 8px; border-top: 2px solid currentColor; border-right: 2px solid currentColor; transform: rotate(45deg); transition: transform .25s var(--vm-ease); }
body .ss-plat-cap__card--link:hover .ss-plat-cap__link::after { transform: translateX(4px) rotate(45deg); }
/* Business outcomes: check rows, not bullets */
body .ss-plat-cap__outcomes li { padding-left: 24px; }
body .ss-plat-cap__outcomes li::before { top: .2em; width: 16px; height: 16px; border-radius: 50%; box-shadow: none; background: var(--vm-tick, none) center / 9px no-repeat, linear-gradient(140deg, #5cc16a, #2f9e4f); }
/* Pillar card links: chevron, one line */
body .ss-plat-fw__more { white-space: nowrap; font-size: 11.5px !important; }
body .ss-plat-fw__more > span[aria-hidden] { display: none; }
body .ss-plat-fw__more::after { content: ""; display: inline-block; width: 7px; height: 7px; margin-left: 8px; border-top: 2px solid currentColor; border-right: 2px solid currentColor; transform: rotate(45deg); vertical-align: 1px; }

/* Integration split: media column stays beside the copy, stat badge anchored, sub-panel spans */
@media (min-width: 901px) {
	body .ss-plat-int__split { align-items: center; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); }
	body .ss-plat-int__split.ss-split--reverse { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); }
	body .ss-plat-int__media .ss-plat-media img { max-height: 340px; width: auto; }
}

/* Chip / pill rows everywhere: centred wrap so no row hangs */
body :is(.ss-plat-chips, .ss-proda-pills, .ss-proda-chips, .ss-prodb-pills__list, .ss-svc-chips) { justify-content: center; }
body .ss-split :is(.ss-plat-chips, .ss-proda-chips--left, .ss-svc-chips--light), body .ss-plat-int__copy .ss-plat-chips { justify-content: flex-start; }

/* Long outline buttons in cards never wrap mid-label */
body .ss-svc-sol__cta .ss-btn { white-space: normal; text-align: center; line-height: 1.35; padding-top: 10px; padding-bottom: 10px; }
body .ss-svc-sol--c2 .ss-svc-sol__cta .ss-btn { width: 100%; }

/* 10-card core grids: two even rows of five on wide screens */
@media (min-width: 1081px) {
	body .ss-core-cards__grid:has(> .ss-core-card:nth-child(10)):not(:has(> .ss-core-card:nth-child(11))) { --cols: 5 !important; --g: 14px; }
	body .ss-core-cards__grid:has(> .ss-core-card:nth-child(10)):not(:has(> .ss-core-card:nth-child(11))) > .ss-core-card { padding: 16px 14px; }
	body .ss-core-cards__grid:has(> .ss-core-card:nth-child(10)):not(:has(> .ss-core-card:nth-child(11))) .ss-card__title { font-size: 14.5px; }
	/* 5 light cards in one row: icon-left compact so text isn't crammed into slivers */
	body .ss-core-cards__grid.ss-grid--5:has(> .ss-core-card--light:nth-child(5):last-child) { --cols: 3 !important; }
}

/* Product checklists (VERITAS "Ideal for…"): 2-column check cards instead of a plain centred list */
body .ss-prodb-list--cols-1 .ss-checklist { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; max-width: 1000px; margin: 22px auto 0; padding: 0; list-style: none; }
body .ss-prodb-list--cols-1 .ss-checklist li { display: flex; align-items: center; gap: 12px; margin: 0; padding: 13px 16px; border-radius: 12px; background: #fff; border: 1px solid var(--vm-line); box-shadow: 0 10px 22px -18px rgba(14, 43, 84, .45); font-size: 14.5px; line-height: 1.45; text-align: left; transition: transform .25s var(--vm-ease), border-color .25s var(--vm-ease); }
body .ss-prodb-list--cols-1 .ss-checklist li::before { position: static; flex: none; width: 24px; height: 24px; border: 0; border-radius: 50%; transform: none; background: var(--vm-tick, none) center / 12px no-repeat, linear-gradient(140deg, #5cc16a, #2f9e4f); content: ""; }
body .ss-prodb-list--cols-1 .ss-checklist li:hover { transform: translateY(-2px); border-color: #b9d2f3; }
body .ss-prodb-list--cols-1 .ss-checklist li:last-child:nth-child(odd) { grid-column: 1 / -1; justify-self: center; width: calc(50% - 5px); }
@media (max-width: 760px) { body .ss-prodb-list--cols-1 .ss-checklist { grid-template-columns: 1fr; } body .ss-prodb-list--cols-1 .ss-checklist li:last-child:nth-child(odd) { width: auto; } }

/* Outline icon cards (VERITAS key capabilities): branded icon tiles, compact */
body .ss-core-card--outline.has-icon .ss-core-card__icon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 13px; background: linear-gradient(140deg, #1f5fba, #0e2b54); color: #fff; }
body .ss-core-card--outline.has-icon .ss-core-card__icon svg { width: 22px; height: 22px; stroke: #fff; }

/* Four chips in a split: neat 2 x 2 */
body .ss-proda-chips--left:has(> :nth-child(4):last-child) { display: grid; grid-template-columns: repeat(2, max-content); gap: 8px 10px; }

/* Device tiles: hover */
body .ss-prodb-tile { transition: transform .3s var(--vm-ease), border-color .3s var(--vm-ease), box-shadow .3s var(--vm-ease); }
body .ss-prodb-tile:hover { transform: translateY(-3px); border-color: #b9d2f3; box-shadow: 0 16px 30px -20px rgba(14, 43, 84, .45); }

/* Comparison headings keep product names whole */
body .ss-core-compare .ss-h2, body .ss-prodb-compare .ss-h2 { text-wrap: balance; }

/* Section art: a lazy image with width:auto can collapse to 0px before it loads and then never
   load. Give every capped illustration a real box (full column width, contained, capped height). */
body :is(.ss-core-split__media, .ss-core-row__media, .ss-core-tabs__media, .ss-core-listpanel__media, .ss-core-cards__splitmedia, .ss-res-feature__media, .ss-res-tiles__media, .ss-proda-split__media, .ss-co-portfolio__media, .ss-co-profile__media, .ss-plat-int__media, .ss-svc-why__art, .ss-plat-ai__media, .ss-sol-show__media, .ss-prodb-hero__media, .is-wide-media) img:not(.ss-badge img) {
	width: 100% !important; height: auto; object-fit: contain; object-position: center;
}
body .ss-plat-int__media .ss-plat-media { width: 100%; }
@media (min-width: 901px) {
	body .ss-plat-int__split:has(> .ss-plat-int__media:first-child) { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr) !important; }
}
@media (min-width: 1081px) {
	body .ss-core-cards__grid:has(> .ss-core-card:nth-child(10)):not(:has(> .ss-core-card:nth-child(11))) { gap: 14px !important; }
	body .ss-core-cards__grid:has(> .ss-core-card:nth-child(10)):not(:has(> .ss-core-card:nth-child(11))) > * { flex: 0 0 calc((100% - 56px) / 5) !important; }
	body .ss-core-cards__grid.ss-grid--5:has(> .ss-core-card--light:nth-child(5):last-child) > * { flex: 0 0 calc((100% - 44px) / 3) !important; }
}

/* Chip sets as even grids (no 6+4 / 5+1 rows) */
@media (min-width: 761px) {
	body .ss-plat-int__chips { display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
	body .ss-plat-int__chips > * { justify-content: center; text-align: center; white-space: nowrap; }
	body .ss-plat-ai__chips { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; max-width: 900px; }
	body .ss-plat-ai__chips > * { justify-content: center; text-align: center; }
}

/* ------------------------------------------------------------------ */
/* All heroes: wide copy column, buttons side by side, compact rhythm   */
/* ------------------------------------------------------------------ */
@media (min-width: 1001px) {
	body .ss-hero .ss-hero__inner { grid-template-columns: minmax(0, 1.3fr) minmax(0, .7fr) !important; gap: clamp(32px, 4vw, 64px) !important; align-items: center; }
	body .ss-hero .ss-hero__media img { max-height: 380px !important; width: auto !important; max-width: 100% !important; margin: 0 auto; }
	body .ss-hero .ss-hero__buttons, body .ss-hero .ss-hero__buttons.is-stacked { display: flex !important; flex-direction: row !important; flex-wrap: wrap; width: auto !important; gap: 12px; }
	body .ss-hero .ss-hero__buttons > * { width: auto !important; }
}
body .ss-hero .ss-hero__text p { margin-bottom: 10px; }
body .ss-hero .ss-hero__text { max-width: 720px; }
/* Product heroes: store badges and their note on one line */
body .ss-prodb-hero__stores { display: flex !important; flex-direction: row !important; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin-top: 16px; }
body .ss-prodb-hero__stores img { height: 40px; width: auto; }
body .ss-prodb-hero__stores p, body .ss-prodb-hero__stores small, body .ss-prodb-hero__stores [class*=note] { margin: 0 !important; flex: 1 1 200px; font-size: 12.5px; }
/* Product logos above the breadcrumb: compact */
body .ss-prodb-hero__logo img, body .ss-core-hero__logo img { max-height: 46px !important; width: auto !important; }
body .ss-prodb-hero__logo { margin-bottom: 12px !important; }

/* Four outcome tiles (TestMaster business outcomes): four equal cards, large 3D icon, link at the foot */
@media (min-width: 761px) {
	body .ss-core-cards__grid--tiles.ss-grid--4:has(> :nth-child(4):last-child) { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 20px !important; align-items: stretch; }
	body .ss-core-cards__grid--tiles.ss-grid--4:has(> :nth-child(4):last-child) > .ss-core-card--tiles { grid-column: auto !important; grid-row: auto !important; display: flex !important; flex-direction: column; align-items: flex-start; gap: 10px; padding: 28px 24px 24px !important; background: #fff !important; border: 1px solid var(--vm-line) !important; border-radius: 18px; box-shadow: 0 18px 36px -26px rgba(14, 43, 84, .45) !important; color: var(--vm-text); position: relative; overflow: hidden; }
	body .ss-core-cards__grid--tiles.ss-grid--4:has(> :nth-child(4):last-child) > .ss-core-card--tiles::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: linear-gradient(90deg, var(--vm-orange), var(--vm-green)); transform: scaleX(.25); transform-origin: 0 50%; transition: transform .45s var(--vm-ease); }
	body .ss-core-cards__grid--tiles.ss-grid--4:has(> :nth-child(4):last-child) > .ss-core-card--tiles::after { display: none !important; }
	body .ss-core-cards__grid--tiles.ss-grid--4:has(> :nth-child(4):last-child) .ss-core-card__top { display: block !important; margin: 0 0 6px !important; }
	body .ss-core-cards__grid--tiles.ss-grid--4:has(> :nth-child(4):last-child) .ss-core-card__icon { width: 96px !important; height: 96px !important; margin: 0 !important; background: none !important; box-shadow: none !important; }
	body .ss-core-cards__grid--tiles.ss-grid--4:has(> :nth-child(4):last-child) .ss-core-card__icon img { width: 100% !important; height: 100% !important; object-fit: contain; filter: drop-shadow(0 12px 16px rgba(14, 43, 84, .25)); transition: transform .45s var(--vm-ease); }
	body .ss-core-cards__grid--tiles.ss-grid--4:has(> :nth-child(4):last-child) .ss-card__title { margin: 0; font-size: 18px !important; line-height: 1.3; color: var(--vm-ink) !important; }
	body .ss-core-cards__grid--tiles.ss-grid--4:has(> :nth-child(4):last-child) p { margin: 0; font-size: 14.5px !important; line-height: 1.6; color: var(--vm-text) !important; }
	body .ss-core-cards__grid--tiles.ss-grid--4:has(> :nth-child(4):last-child) .ss-core-card__more { margin-top: auto !important; padding-top: 12px; color: var(--vm-green-700) !important; white-space: normal; }
	body .ss-core-cards__grid--tiles.ss-grid--4:has(> :nth-child(4):last-child) > .ss-core-card--tiles:hover { transform: translateY(-5px); border-color: rgba(31, 95, 186, .35) !important; box-shadow: 0 26px 46px -26px rgba(14, 43, 84, .5) !important; }
	body .ss-core-cards__grid--tiles.ss-grid--4:has(> :nth-child(4):last-child) > .ss-core-card--tiles:hover::before { transform: scaleX(1); }
	body .ss-core-cards__grid--tiles.ss-grid--4:has(> :nth-child(4):last-child) > .ss-core-card--tiles:hover .ss-core-card__icon img { transform: translateY(-4px) scale(1.06) rotate(-3deg); }
}
@media (min-width: 761px) and (max-width: 1100px) { body .ss-core-cards__grid--tiles.ss-grid--4:has(> :nth-child(4):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }

/* Split with chips below (Architecture "Modular Architecture"): chips sit in the copy column, art centred */
@media (min-width: 901px) {
	body .ss-core-split__grid:has(> .ss-core-split__copy) + .ss-core-chips, body .ss-core-split ~ .ss-core-split__chips { margin-left: auto; }
}
@media (min-width: 961px) {
	body .ss-core-split__grid:has(.ss-core-split__list > li:nth-child(5)):not(:has(.ss-core-split__tagline)) > .ss-core-split__copy > .ss-core-split__list { grid-column: 1; display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; justify-content: stretch; margin-top: 22px; }
	body .ss-core-split__grid.ss-split--reverse:has(.ss-core-split__list > li:nth-child(5)):not(:has(.ss-core-split__tagline)) > .ss-core-split__copy > .ss-core-split__list { grid-column: 2; }
	body .ss-core-split__grid:has(.ss-core-split__list > li:nth-child(5)):not(:has(.ss-core-split__tagline)) > .ss-core-split__media { grid-row: 1 / span 4; align-self: center; }
	body .ss-core-split__grid:has(.ss-core-split__list > li:nth-child(5)):not(:has(.ss-core-split__tagline)) .ss-core-split__list > li { width: 100%; }
}

/* Outcome tile links: always left-aligned with the text */
body .ss-core-cards__grid--tiles .ss-core-card__more { align-self: flex-start !important; justify-self: start !important; justify-content: flex-start !important; text-align: left !important; width: auto !important; margin-left: 0 !important; }

/* Hero stats strip: every figure sized to its content, nothing spills out */
body .ss-core-hero__stats, body .ss-core-hero__stats:has(> li:nth-child(4)), body .ss-core-hero__stats:has(> li:nth-child(2):last-child) {
	display: grid !important; grid-auto-flow: column; grid-auto-columns: max-content; width: fit-content !important; max-width: 100%; padding: 16px 8px !important;
}
body .ss-core-hero__stats li { padding: 0 22px !important; min-width: 0; }
body .ss-core-hero__stats .ss-core-hero__stat-value, body .ss-core-hero__stats:has(> li:nth-child(4)) .ss-core-hero__stat-value { font-size: 24px !important; white-space: nowrap; }
body .ss-core-hero__stats .ss-core-hero__stat-label { max-width: 140px; }
@media (max-width: 1200px) {
	body .ss-core-hero__stats, body .ss-core-hero__stats:has(> li:nth-child(4)) { grid-auto-flow: row; grid-template-columns: repeat(2, max-content); row-gap: 14px; }
	body .ss-core-hero__stats li:nth-child(3) { border-left: 0 !important; }
}

/* ---------------- Service pages pass ---------------- */
/* Three split minis: one even row (no 2 + full-width) */
@media (min-width: 901px) {
	body .ss-core-minis:has(> .ss-core-mini:nth-child(3):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
	body .ss-core-minis:has(> .ss-core-mini:nth-child(3):last-child) > .ss-core-mini { grid-column: auto !important; }
}
/* Hero stats labels: two lines max */
body .ss-core-hero__stats .ss-core-hero__stat-label { max-width: 170px !important; }
/* Stacked hero buttons share one width */
body .ss-hero .ss-hero__buttons.is-stacked { display: inline-grid !important; grid-auto-flow: row; width: auto !important; }
body .ss-hero .ss-hero__buttons.is-stacked > * { width: 100% !important; justify-content: center; }
/* Sticky card grid: cards in a row share one height */
body .ss-core-cards__grid--sticky { align-items: stretch !important; grid-auto-rows: 1fr; }
body .ss-core-cards__grid--sticky > .ss-core-card { height: 100% !important; }
/* Ideal-for title tiles: rows share height, text vertically centred */
body .ss-core-listpanel__panel:not(:has(.ss-core-listpanel__text)) .ss-core-listpanel__list { align-items: stretch; }
body .ss-core-listpanel__panel:not(:has(.ss-core-listpanel__text)) .ss-core-listpanel__item { min-height: 62px; }
/* Framework strip tiles: links pinned to the bottom, equal heights */
body .ss-svc-fw__tiles { align-items: stretch; }
body .ss-svc-fw__tile { height: 100%; }

/* Enterprise integrations: full-width strip of integration tiles under the split */
body .ss-plat-int__strip { margin-top: clamp(32px, 4vw, 48px); padding: clamp(22px, 3vw, 32px); border-radius: 22px; background: radial-gradient(120% 140% at 20% 0%, #1b4486 0%, var(--vm-navy-900) 60%, var(--vm-navy-950) 100%); box-shadow: 0 26px 50px -30px rgba(10, 31, 71, .6); }
body .ss-plat-int__strip-title { margin: 0 0 18px; text-align: center; font-family: var(--vm-font-head); font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: #ffb066; }
body .ss-plat-int__tiles { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
body .ss-plat-int__tile { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-radius: 12px; background: rgba(255, 255, 255, .06); border: 1px solid rgba(143, 186, 255, .22); font-family: var(--vm-font-head); font-size: 14px; font-weight: 500; color: #fff; transition: transform .3s var(--vm-ease), border-color .3s var(--vm-ease), background .3s var(--vm-ease); }
body .ss-plat-int__plug { flex: none; width: 26px; height: 26px; border-radius: 8px; background: rgba(241, 140, 33, .18) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffb066' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 2v6M15 2v6M6 8h12v4a6 6 0 0 1-12 0zM12 18v4'/%3E%3C/svg%3E") center / 14px no-repeat; }
body .ss-plat-int__tile:hover { transform: translateY(-3px); border-color: rgba(255, 176, 102, .55); background: rgba(255, 255, 255, .11); }
@media (max-width: 900px) { body .ss-plat-int__tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 901px) { body .ss-plat-int__split { align-items: center; } }

/* Sticky intro + cards: when the intro is much taller than the cards (main.js .is-tall-intro), the intro runs full width in two text columns above the cards */
body .ss-core-cards__sticky.is-tall-intro { grid-template-columns: 1fr; gap: 28px; }
body .ss-core-cards__sticky.is-tall-intro .ss-core-cards__aside { position: static; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: clamp(28px, 4vw, 56px); align-items: start; }
body .ss-core-cards__sticky.is-tall-intro .ss-core-cards__aside > .ss-head { grid-column: 1; grid-row: 1 / span 3; }
body .ss-core-cards__sticky.is-tall-intro .ss-core-cards__aside > :not(.ss-head) { grid-column: 2; }
body .ss-core-cards__sticky.is-tall-intro .ss-core-cards__grid--sticky { grid-template-columns: repeat(4, minmax(0, 1fr)); }
body .ss-core-cards__sticky.is-tall-intro .ss-core-cards__grid--sticky:has(> :nth-child(6)) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 900px) { body .ss-core-cards__sticky.is-tall-intro .ss-core-cards__aside { grid-template-columns: 1fr; } body .ss-core-cards__sticky.is-tall-intro .ss-core-cards__aside > * { grid-column: 1 !important; grid-row: auto !important; } body .ss-core-cards__sticky.is-tall-intro .ss-core-cards__grid--sticky { grid-template-columns: 1fr 1fr; } }
@media (min-width: 901px) {
	body .ss-core-cards__sticky.is-tall-intro .ss-core-cards__aside { display: block; }
	body .ss-core-cards__sticky.is-tall-intro .ss-core-cards__aside > .ss-head { max-width: 900px; margin-bottom: 20px; }
	body .ss-core-cards__sticky.is-tall-intro .ss-core-cards__intro { column-count: 2; column-gap: clamp(32px, 4vw, 56px); }
	body .ss-core-cards__sticky.is-tall-intro .ss-core-cards__intro p { break-inside: avoid; }
	body .ss-core-cards__sticky.is-tall-intro .ss-core-cards__asidenote, body .ss-core-cards__sticky.is-tall-intro .ss-btn-row { display: inline-flex; margin-top: 10px; margin-right: 18px; vertical-align: middle; }
}

/* ------------------------------------------------------------------ */
/* Hero stats: premium figure band (equal cells, accent, two-line labels) */
/* ------------------------------------------------------------------ */
body .ss-core-hero__stats, body .ss-core-hero__stats:has(> li:nth-child(4)), body .ss-core-hero__stats:has(> li:nth-child(2):last-child) {
	display: grid !important; grid-auto-flow: column !important; grid-auto-columns: minmax(0, 1fr) !important; grid-template-columns: none !important;
	width: 100% !important; max-width: 760px; margin-top: 32px; padding: 0 !important; gap: 0 !important; overflow: hidden;
	border-radius: 18px; background: linear-gradient(135deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .02)); border: 1px solid rgba(143, 186, 255, .25);
	box-shadow: 0 24px 50px -30px rgba(0, 0, 0, .7), inset 0 1px 0 rgba(255, 255, 255, .08);
}
body .ss-core-hero__stats li, body .ss-core-hero__stats:has(> li:nth-child(4)) li {
	position: relative; display: flex; flex-direction: column; justify-content: flex-start; gap: 8px; padding: 22px 20px 20px !important; min-width: 0;
	border: 0 !important; border-radius: 0 !important; background: none !important; transition: background .35s var(--vm-ease);
}
body .ss-core-hero__stats li + li { border-left: 1px solid rgba(143, 186, 255, .18) !important; }
body .ss-core-hero__stats li::before { content: ""; width: 26px; height: 3px; border-radius: 3px; background: linear-gradient(90deg, var(--vm-orange), #ffb066); transition: width .35s var(--vm-ease); }
body .ss-core-hero__stats li:hover { background: rgba(255, 255, 255, .06) !important; }
body .ss-core-hero__stats li:hover::before { width: 46px; }
body .ss-core-hero__stats .ss-core-hero__stat-value, body .ss-core-hero__stats:has(> li:nth-child(4)) .ss-core-hero__stat-value {
	font-size: clamp(22px, 1.9vw, 30px) !important; font-weight: 600; letter-spacing: -.01em; line-height: 1.1; white-space: nowrap;
	background: linear-gradient(180deg, #fff 35%, #9cc4ff); -webkit-background-clip: text; background-clip: text; color: transparent;
}
body .ss-core-hero__stats .ss-core-hero__stat-label { max-width: none !important; margin: 0; font-size: 10.5px !important; line-height: 1.4; letter-spacing: .1em; color: #ffb066 !important; text-wrap: balance; }
@media (max-width: 760px) {
	body .ss-core-hero__stats, body .ss-core-hero__stats:has(> li:nth-child(4)) { grid-auto-flow: row !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	body .ss-core-hero__stats li:nth-child(3) { border-left: 0 !important; }
	body .ss-core-hero__stats li:nth-child(n+3) { border-top: 1px solid rgba(143, 186, 255, .18) !important; }
}
body .ss-core-hero__stats, body .ss-core-hero__stats:has(> li:nth-child(4)) { grid-auto-columns: auto !important; width: fit-content !important; max-width: 100% !important; }
body .ss-core-hero__stats li, body .ss-core-hero__stats:has(> li:nth-child(4)) li { padding: 20px 24px 18px !important; }
body .ss-core-hero__stats .ss-core-hero__stat-label { max-width: 150px !important; }
body .ss-core-hero__stats .ss-core-hero__stat-value, body .ss-core-hero__stats:has(> li:nth-child(4)) .ss-core-hero__stat-value { font-size: clamp(22px, 1.7vw, 28px) !important; }
body .ss-core-hero__stats li.is-long .ss-core-hero__stat-value { font-size: clamp(16px, 1.25vw, 20px) !important; line-height: 1.4; padding-top: 4px; }
body .ss-core-hero__stats { overflow: visible !important; }

/* Hero stats adapt to the copy column width: one row when there is room, 2 x 2 when there isn't */
body .ss-hero__copy { container-type: inline-size; container-name: herocopy; }
@container herocopy (max-width: 720px) {
	.ss-core-hero__stats { grid-auto-flow: row !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; width: 100% !important; max-width: 520px !important; }
	.ss-core-hero__stats li:nth-child(3) { border-left: 0 !important; }
	.ss-core-hero__stats li:nth-child(n+3) { border-top: 1px solid rgba(143, 186, 255, .18) !important; }
	.ss-core-hero__stats .ss-core-hero__stat-label { max-width: none !important; }
}

/* Section-level CTA links ("Explore ValidationPro℠", "Explore the Platform"…) are real buttons */
body .ss-btn-row > .ss-btn--link, body :is(.ss-section--dark, .ss-band) .ss-btn-row > .ss-btn--link {
	min-height: 48px; padding: 0 28px !important; border-radius: 10px; border: 0 !important;
	background: linear-gradient(90deg, var(--vm-green-700), #5fb046) !important; color: #fff !important; font-size: 13px !important; letter-spacing: .06em !important;
	box-shadow: 0 4px 12px rgba(38, 163, 75, .25) !important; transition: transform .25s var(--vm-ease), box-shadow .25s var(--vm-ease), filter .25s var(--vm-ease) !important;
}
body .ss-btn-row > .ss-btn--link:hover, body :is(.ss-section--dark, .ss-band) .ss-btn-row > .ss-btn--link:hover { color: #fff !important; filter: brightness(1.06); transform: translateY(-2px) !important; box-shadow: 0 10px 22px rgba(38, 163, 75, .38) !important; }
@container herocopy (max-width: 720px) {
	body .ss-core-hero__stats, body .ss-core-hero__stats:has(> li:nth-child(4)) { grid-auto-flow: row !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; grid-auto-columns: auto !important; width: 100% !important; max-width: 520px !important; }
	body .ss-core-hero__stats li:nth-child(3) { border-left: 0 !important; }
	body .ss-core-hero__stats li:nth-child(n+3) { border-top: 1px solid rgba(143, 186, 255, .18) !important; }
	body .ss-core-hero__stats .ss-core-hero__stat-label { max-width: none !important; }
}

/* "Ideal For" (title-only check tiles under a centred intro): a navy showcase panel with glass tiles */
body .ss-core-listpanel:has(.ss-core-split__grid--solo) .ss-core-listpanel__panel:not(:has(.ss-core-listpanel__text)) {
	position: relative; overflow: hidden; margin-top: 8px; padding: clamp(26px, 3.5vw, 40px) clamp(22px, 3vw, 40px);
	border-radius: 24px; background: radial-gradient(120% 140% at 15% 0%, #1b4a8f 0%, var(--vm-navy-900) 55%, var(--vm-navy-950) 100%);
	box-shadow: 0 30px 60px -34px rgba(10, 31, 71, .7);
}
body .ss-core-listpanel:has(.ss-core-split__grid--solo) .ss-core-listpanel__panel:not(:has(.ss-core-listpanel__text))::before { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(140, 180, 255, .14) 1px, transparent 1px); background-size: 18px 18px; -webkit-mask-image: linear-gradient(200deg, #000, transparent 70%); mask-image: linear-gradient(200deg, #000, transparent 70%); pointer-events: none; }
body .ss-core-listpanel:has(.ss-core-split__grid--solo) .ss-core-listpanel__panel:not(:has(.ss-core-listpanel__text)) .ss-core-listpanel__title { position: relative; color: #ffb066 !important; margin-bottom: 18px; }
body .ss-core-listpanel:has(.ss-core-split__grid--solo) .ss-core-listpanel__panel:not(:has(.ss-core-listpanel__text)) .ss-core-listpanel__list { position: relative; display: flex !important; flex-wrap: wrap; justify-content: center; gap: 12px; columns: auto; }
body .ss-core-listpanel:has(.ss-core-split__grid--solo) .ss-core-listpanel__panel:not(:has(.ss-core-listpanel__text)) .ss-core-listpanel__item {
	flex: 0 1 calc((100% - 36px) / 4); min-width: 210px; min-height: 72px; margin: 0; padding: 14px 18px;
	background: linear-gradient(160deg, rgba(255, 255, 255, .1), rgba(255, 255, 255, .03)) !important; border: 1px solid rgba(143, 186, 255, .25) !important; box-shadow: none !important;
	transition: transform .3s var(--vm-ease), border-color .3s var(--vm-ease), background .3s var(--vm-ease);
}
body .ss-core-listpanel:has(.ss-core-split__grid--solo) .ss-core-listpanel__panel:not(:has(.ss-core-listpanel__text)) .ss-core-listpanel__item::before { background: var(--vm-tick, none) center / 14px no-repeat, linear-gradient(140deg, #5cc16a, #2f9e4f) !important; box-shadow: 0 0 0 4px rgba(92, 193, 106, .18); }
body .ss-core-listpanel:has(.ss-core-split__grid--solo) .ss-core-listpanel__panel:not(:has(.ss-core-listpanel__text)) .ss-core-listpanel__name { color: #fff !important; font-size: 15px; }
body .ss-core-listpanel:has(.ss-core-split__grid--solo) .ss-core-listpanel__panel:not(:has(.ss-core-listpanel__text)) .ss-core-listpanel__item:hover { transform: translateY(-4px); border-color: rgba(255, 176, 102, .6) !important; background: linear-gradient(160deg, rgba(255, 255, 255, .16), rgba(255, 255, 255, .05)) !important; }
@media (max-width: 760px) { body .ss-core-listpanel:has(.ss-core-split__grid--solo) .ss-core-listpanel__panel:not(:has(.ss-core-listpanel__text)) .ss-core-listpanel__item { flex-basis: 100%; } }
body .ss-core-hero__stats li, body .ss-core-hero__stats:has(> li:nth-child(4)) li { min-width: max-content !important; padding: 20px 18px 18px !important; }
body .ss-core-hero__stats .ss-core-hero__stat-label { max-width: 160px !important; white-space: normal; }
body .ss-core-hero__stats li { min-width: min-content !important; }
body .ss-core-hero__stats li .ss-core-hero__stat-value { min-width: max-content; }

/* Centred list-panel intros ("When ValidationPro℠ Is the Right Engagement Model"): a readable lead + the follow-up line as a callout */
body .ss-core-listpanel .ss-core-split__grid--solo .ss-core-split__text { max-width: 800px; margin-inline: auto; }
body .ss-core-listpanel .ss-core-split__grid--solo .ss-core-split__text p { text-wrap: pretty; }
body .ss-core-listpanel .ss-core-split__grid--solo .ss-core-split__text p:first-child { font-size: 18px; line-height: 1.65; color: var(--vm-navy-700, #1d3461); }
body .ss-core-listpanel .ss-core-split__grid--solo .ss-core-split__text p + p {
	display: flex; align-items: center; gap: 16px; width: fit-content; max-width: 720px; margin: 24px auto 0; padding: 14px 22px 14px 16px;
	background: #fff; border: 1px solid rgba(29, 52, 97, .1); border-left: 4px solid var(--vm-orange, #f28c1b); border-radius: 12px;
	box-shadow: 0 14px 30px -20px rgba(16, 37, 77, .45); text-align: left; font-size: 15.5px; line-height: 1.55;
}
body .ss-core-listpanel .ss-core-split__grid--solo .ss-core-split__text p + p::before {
	content: ""; flex: 0 0 38px; height: 38px; border-radius: 50%;
	background: rgba(242, 140, 27, .12) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f28c1b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2 2 7l10 5 10-5-10-5z'/%3E%3Cpath d='m2 17 10 5 10-5'/%3E%3Cpath d='m2 12 10 5 10-5'/%3E%3C/svg%3E") center / 20px no-repeat;
}
/* Hero headline: punctuation stays on the line with the word before it */
.ss-word-glue { display: inline-block; white-space: nowrap; }

/* Product split checklists ("Ideal for organizations that are:", "Organizations can use … to:"):
   2-column check cards inside the copy column, never wider than it */
body .ss-proda-listbox:not(.ss-proda-listbox--dark) { padding: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important; }
body .ss-proda-listbox .ss-proda-listbox__title { margin-bottom: 14px; font-size: 17px; font-weight: 600; color: var(--vm-navy-700); }
body .ss-proda-listbox:not(.ss-proda-listbox--dark) .ss-checklist, body .ss-proda-listbox:not(.ss-proda-listbox--dark) .ss-checklist--light:has(> li:nth-child(6):last-child) { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; justify-content: stretch !important; gap: 10px !important; width: 100%; }
body .ss-proda-listbox:not(.ss-proda-listbox--dark) .ss-checklist li { display: flex; align-items: center; gap: 12px; margin: 0; padding: 12px 16px !important; border-radius: 12px; background: #fff; border: 1px solid var(--vm-line); box-shadow: 0 10px 22px -18px rgba(14, 43, 84, .45); font-size: 14.5px; line-height: 1.45; text-align: left; transition: transform .25s var(--vm-ease), border-color .25s var(--vm-ease), box-shadow .25s var(--vm-ease); }
body .ss-proda-listbox:not(.ss-proda-listbox--dark) .ss-checklist li::before { position: static; flex: none; width: 24px; height: 24px; border: 0; border-radius: 50%; transform: none; background: var(--vm-tick) center / 12px no-repeat, linear-gradient(140deg, #5cc16a, #2f9e4f); }
body .ss-proda-listbox:not(.ss-proda-listbox--dark) .ss-checklist li:hover { transform: translateY(-2px); border-color: #b9d2f3; box-shadow: 0 16px 28px -18px rgba(14, 43, 84, .5); }
body .ss-proda-listbox:not(.ss-proda-listbox--dark) .ss-checklist li:last-child:nth-child(odd) { grid-column: 1 / -1; }
@media (max-width: 640px) { body .ss-proda-listbox:not(.ss-proda-listbox--dark) .ss-checklist { grid-template-columns: 1fr !important; } }
/* Split art sits level with the copy block rather than pinned at the top */
@media (min-width: 961px) {
	body .ss-proda-split__grid { align-items: center !important; }
	body .ss-proda-split__grid > .ss-proda-split__media { position: static !important; align-self: center !important; }
}

/* "It works alongside": a grid of linked glass cards instead of a table of rows */
body .ss-proda-alongside { padding: clamp(28px, 3.4vw, 44px) !important; }
body .ss-proda-alongside__title { margin: 0 0 22px !important; text-align: center; font-family: var(--vm-font-head); font-size: 12px !important; font-weight: 600 !important; letter-spacing: .16em; text-transform: uppercase; color: var(--vm-orange) !important; }
body .ss-proda-alongside__list { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
body .ss-proda-alongside__item { display: flex !important; flex-direction: column; align-items: flex-start; gap: 8px !important; padding: 22px 22px 20px !important; border: 1px solid rgba(143, 186, 255, .2) !important; border-radius: 14px; background: linear-gradient(160deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .02)) !important; font-size: 14.5px; transition: transform .25s var(--vm-ease), border-color .25s var(--vm-ease), background .25s var(--vm-ease), box-shadow .25s var(--vm-ease) !important; }
body .ss-proda-alongside__item--link { padding-right: 22px !important; }
body .ss-proda-alongside__name { flex-direction: column; align-items: flex-start !important; gap: 8px !important; font-size: 17px; }
body .ss-proda-alongside__name .ss-badge { order: -1; font-size: 9.5px; }
body .ss-proda-alongside__desc { flex: 1; line-height: 1.55; }
body .ss-proda-alongside__go { position: static !important; display: inline-flex; align-items: center; gap: 8px; width: auto !important; height: auto !important; margin: 6px 0 0 !important; border: 0 !important; transform: none !important; font-family: var(--vm-font-head); font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: #7fd28a; }
body .ss-proda-alongside__go::before { content: "Explore"; }
body .ss-proda-alongside__go::after { content: ""; width: 7px; height: 7px; border-top: 2px solid currentColor; border-right: 2px solid currentColor; transform: rotate(45deg); transition: transform .25s var(--vm-ease); }
body .ss-proda-alongside__item--link:hover { transform: translateY(-4px); border-color: rgba(241, 140, 33, .65) !important; background: linear-gradient(160deg, rgba(255, 255, 255, .13), rgba(255, 255, 255, .04)) !important; box-shadow: 0 22px 40px -22px rgba(0, 0, 0, .6); }
body .ss-proda-alongside__item--link:hover .ss-proda-alongside__go::after { transform: translateX(4px) rotate(45deg); }
@media (max-width: 1000px) { body .ss-proda-alongside__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { body .ss-proda-alongside__list { grid-template-columns: 1fr; } }

/* ------------------------------------------------------------------ */
/* Legal pages (Terms of Use, Privacy Statement)                       */
/* ------------------------------------------------------------------ */
body .ss-core-text:has(.tou-page) { padding-top: clamp(48px, 5vw, 72px); background: linear-gradient(180deg, var(--vm-sky-50) 0%, #fff 420px); }
body .ss-core-text:has(.tou-page) .ss-container--narrow { max-width: calc(var(--vm-container) + var(--vm-gutter) * 2); }
body .tou-page, body .tou-page .wp-block-group__inner-container { max-width: none !important; }
body .tou-page .wp-block-group__inner-container > * { max-width: none !important; margin-inline: 0 !important; }
body .tou-section + .tou-section { margin-top: clamp(28px, 3vw, 40px); }
body .tou-intro { max-width: 900px !important; margin: 0 auto !important; padding: 22px 28px; border-radius: 16px; background: #fff; border: 1px solid var(--vm-line); border-left: 4px solid var(--vm-orange); box-shadow: 0 16px 34px -24px rgba(16, 37, 77, .45); }
body .tou-intro .wp-block-group__inner-container { display: grid; gap: 10px; }
body .tou-intro p { margin: 0 !important; text-align: left !important; font-size: 16.5px; line-height: 1.65; color: var(--vm-navy-700); }
body .tou-layout { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: clamp(28px, 3.5vw, 56px); align-items: start; }
body .tou-toc { position: sticky; top: 150px; padding: 22px 18px; border-radius: 16px; background: radial-gradient(120% 120% at 80% 0%, #163a73 0%, var(--vm-navy-800) 45%, var(--vm-navy-900) 100%); box-shadow: 0 18px 40px -20px rgba(7, 21, 51, .5); }
body .tou-toc__label { margin: 0 0 12px 8px; font-family: var(--vm-font-head); font-size: 11.5px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--vm-orange); }
body .tou-toc__list { margin: 0; padding: 0; list-style: none; display: grid; gap: 2px; }
body .tou-toc__list li { margin: 0; padding: 0; }
body .tou-toc__list li::before { display: none; }
body .tou-toc__list a { display: flex; align-items: baseline; gap: 10px; padding: 9px 10px; border-radius: 10px; font-family: var(--vm-font-head); font-size: 14px; font-weight: 500; line-height: 1.35; color: #d5e1f5 !important; text-decoration: none !important; transition: background .2s var(--vm-ease), color .2s var(--vm-ease); }
body .tou-toc__list a span { flex: none; font-size: 11.5px; font-weight: 600; color: #7fa6e0; }
body .tou-toc__list a:hover, body .tou-toc__list a.is-active { background: rgba(255, 255, 255, .09); color: #fff !important; }
body .tou-toc__list a.is-active span, body .tou-toc__list a:hover span { color: var(--vm-orange); }
body .tou-clauses { display: grid; gap: 14px; }
body .tou-clause { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 20px; padding: 26px 30px; border-radius: 16px; background: #fff; border: 1px solid var(--vm-line); box-shadow: 0 14px 30px -24px rgba(16, 37, 77, .45); scroll-margin-top: 150px; transition: border-color .25s var(--vm-ease), box-shadow .25s var(--vm-ease), transform .25s var(--vm-ease); }
body .tou-clause:hover { border-color: #b9d2f3; transform: translateY(-2px); box-shadow: 0 20px 36px -24px rgba(16, 37, 77, .5); }
body .tou-clause__num { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 14px; background: linear-gradient(140deg, #2a6bd1, #0b2a5c); font-family: var(--vm-font-head); font-size: 16px; font-weight: 600; color: #fff; box-shadow: inset 0 0 0 1px rgba(143, 186, 255, .5); }
body .tou-clause__body > :first-child { margin-top: 0 !important; }
body .tou-clause__body > :last-child { margin-bottom: 0 !important; }
body .tou-clause .tou-h2 { margin: 4px 0 12px !important; font-size: clamp(20px, 1.6vw, 24px); line-height: 1.25; color: var(--vm-navy-800, #10254d); }
body .tou-clause p, body .tou-clause li { font-size: 15.5px; line-height: 1.7; color: var(--vm-ink-soft, #4a5872); }
body .tou-clause p + p { margin-top: 12px; }
body .tou-clause a { color: var(--vm-green-700); font-weight: 600; }
/* Closing CTA: navy band like the rest of the site, without the Validation365™ (blog) logo */
body .tou-cta { position: relative; overflow: hidden; padding: clamp(36px, 4.5vw, 60px) clamp(24px, 4vw, 56px); border-radius: 20px; background: radial-gradient(120% 120% at 80% 0%, #1d4a8f 0%, var(--vm-navy-800) 45%, var(--vm-navy-900) 100%); box-shadow: 0 24px 50px -26px rgba(7, 21, 51, .6); text-align: center; }
body .tou-cta::before { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(143, 186, 255, .14) 1px, transparent 1px); background-size: 18px 18px; mask-image: linear-gradient(180deg, transparent, #000 70%); pointer-events: none; }
body .tou-cta > * { position: relative; }
body .tou-cta-logo { display: none !important; }
body .tou-cta-heading { margin: 0 auto 12px !important; max-width: 760px !important; font-size: clamp(26px, 2.4vw, 36px); line-height: 1.2; color: #fff !important; text-wrap: balance; }
body .tou-cta-sub { margin: 0 auto 26px !important; max-width: 620px !important; font-size: 16.5px; color: #c3cfe4 !important; }
body .tou-cta .wp-block-buttons { justify-content: center; gap: 12px; }
body .tou-cta .wp-block-button__link { display: inline-flex; align-items: center; min-height: 50px; padding: 0 28px; border-radius: 10px; font-family: var(--vm-font-head); font-size: 13px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; text-decoration: none !important; transition: transform .25s var(--vm-ease), box-shadow .25s var(--vm-ease), background .25s var(--vm-ease); }
body .tou-btn-green .wp-block-button__link { background: linear-gradient(90deg, var(--vm-green-700), #5fb046); color: #fff !important; box-shadow: 0 4px 12px rgba(38, 163, 75, .3); }
body .tou-btn-blue .wp-block-button__link { background: transparent; border: 1.5px solid rgba(255, 255, 255, .6); color: #fff !important; }
body .tou-cta .wp-block-button__link:hover { transform: translateY(-2px); }
body .tou-btn-green .wp-block-button__link:hover { box-shadow: 0 10px 22px rgba(38, 163, 75, .4); }
body .tou-btn-blue .wp-block-button__link:hover { background: rgba(255, 255, 255, .1); border-color: #fff; }
@media (max-width: 900px) {
	body .tou-layout { grid-template-columns: 1fr; }
	body .tou-toc { position: static; }
	body .tou-clause { grid-template-columns: 1fr; gap: 12px; padding: 22px 20px; }
	body .tou-clause__num { width: 42px; height: 42px; font-size: 14px; }
}

/* Diagram footer: the note (as a linked callout) and the main button share one row under the panel */
body .ss-proda-diagram__foot { display: flex; align-items: center; justify-content: space-between; gap: 20px 32px; margin-top: 22px; }
body .ss-proda-diagram__foot > .ss-proda-note { flex: 1 1 auto; max-width: 860px; margin: 0 !important; padding: 16px 22px; border-radius: 14px; background: #fff; border: 1px solid var(--vm-line); border-left: 4px solid var(--vm-orange); box-shadow: 0 14px 30px -24px rgba(16, 37, 77, .45); font-style: normal !important; font-size: 15px; line-height: 1.55; text-align: left !important; color: var(--vm-ink-soft, #4a5872); }
body .ss-proda-diagram__foot > .ss-proda-note .ss-proda-note__link { white-space: nowrap; font-weight: 600; color: var(--vm-green-700); }
body .ss-proda-diagram__foot > .ss-btn-row { flex: none; margin: 0 !important; }
body .ss-section--dark .ss-proda-diagram__foot > .ss-proda-note { background: rgba(255, 255, 255, .06); border-color: rgba(143, 186, 255, .2); color: #c3cfe4; }
body .ss-proda-diagram__foot:not(:has(.ss-proda-note)) { justify-content: center; }
@media (max-width: 800px) { body .ss-proda-diagram__foot { flex-direction: column; align-items: stretch; } }

/* Featured event (on-demand fallback): thumbnail with play button beside the details */
body .ss-fx-feature--fallback.has-media { display: grid !important; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); align-items: center; gap: clamp(28px, 3.5vw, 52px); padding: clamp(22px, 2.6vw, 34px) !important; border-radius: 22px; overflow: hidden; border: 1px solid rgba(143, 186, 255, .22); box-shadow: 0 30px 60px -30px rgba(7, 21, 51, .7) !important; transition: box-shadow .35s var(--vm-ease), border-color .35s var(--vm-ease); }
body .ss-fx-feature--fallback.has-media:hover { border-color: rgba(241, 140, 33, .5); }
body .ss-fx-feature--fallback.has-media::after { content: ""; position: absolute; z-index: 0; top: -40%; left: -10%; width: 60%; height: 180%; background: radial-gradient(closest-side, rgba(42, 107, 209, .35), transparent); pointer-events: none; animation: ssFxGlow 9s ease-in-out infinite alternate; }
@keyframes ssFxGlow { to { transform: translateX(40%); } }
body .ss-fx-feature--fallback.has-media > * { position: relative; z-index: 1; }
body .ss-fx-feature__media { position: relative; display: block; overflow: hidden; border-radius: 16px; aspect-ratio: 16 / 10; background: #0b2147; box-shadow: 0 0 0 1px rgba(143, 186, 255, .25), 0 24px 44px -22px rgba(0, 0, 0, .7); }
body .ss-fx-feature__media img { width: 100% !important; height: 100% !important; object-fit: cover; transition: transform .6s var(--vm-ease), filter .6s var(--vm-ease); }
body .ss-fx-feature__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(7, 21, 51, .55)); }
body .ss-fx-feature__media:hover img { transform: scale(1.05); filter: brightness(1.05); }
body .ss-fx-feature__play { position: absolute; z-index: 2; left: 50%; top: 50%; width: 76px; height: 76px; margin: -38px 0 0 -38px; border-radius: 50%; background: linear-gradient(140deg, #5cc16a, #2f9e4f); box-shadow: 0 12px 30px rgba(38, 163, 75, .5); transition: transform .35s var(--vm-ease); }
body .ss-fx-feature__play::before { content: ""; position: absolute; left: 31px; top: 25px; border-style: solid; border-width: 13px 0 13px 21px; border-color: transparent transparent transparent #fff; }
body .ss-fx-feature__play::after { content: ""; position: absolute; inset: -10px; border-radius: 50%; border: 2px solid rgba(127, 210, 138, .7); animation: ssFxPulse 2.2s var(--vm-ease) infinite; }
@keyframes ssFxPulse { from { transform: scale(.85); opacity: 1; } to { transform: scale(1.35); opacity: 0; } }
body .ss-fx-feature__media:hover .ss-fx-feature__play { transform: scale(1.08); }
body .ss-fx-feature__live { position: absolute; z-index: 2; left: 16px; top: 16px; display: inline-flex; align-items: center; gap: 8px; padding: 7px 12px; border-radius: 999px; background: rgba(7, 21, 51, .75); backdrop-filter: blur(6px); font-family: var(--vm-font-head); font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: #fff; }
body .ss-fx-feature__live::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #5cc16a; box-shadow: 0 0 0 0 rgba(92, 193, 106, .7); animation: ssFxDot 1.8s infinite; }
@keyframes ssFxDot { 70% { box-shadow: 0 0 0 8px rgba(92, 193, 106, 0); } 100% { box-shadow: 0 0 0 0 rgba(92, 193, 106, 0); } }
body .ss-fx-feature--fallback .ss-fx-feature__eyebrow { margin: 0 0 10px; font-family: var(--vm-font-head); font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--vm-orange); }
body .ss-fx-feature--fallback .ss-fx-feature__title { margin: 0 0 14px; font-size: clamp(24px, 2vw, 32px); line-height: 1.2; color: #fff; text-wrap: balance; }
body .ss-fx-feature__chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 16px; padding: 0; list-style: none; }
body .ss-fx-chip { margin: 0; padding: 6px 12px; border-radius: 999px; border: 1px solid rgba(143, 186, 255, .3); background: rgba(255, 255, 255, .06); font-family: var(--vm-font-head); font-size: 12px; font-weight: 600; letter-spacing: .04em; color: #dce7f8; }
body .ss-fx-chip::before { display: none !important; }
body .ss-fx-chip--1 { border-color: rgba(92, 193, 106, .5); color: #9be3a5; }
body .ss-fx-feature--fallback .ss-fx-feature__text { margin: 0 0 18px; font-size: 15.5px; line-height: 1.65; color: #c3cfe4; }
body .ss-fx-feature__presenter { display: flex; align-items: center; gap: 14px; margin: 0 0 22px; padding: 12px 16px; border-radius: 14px; background: rgba(255, 255, 255, .05); border: 1px solid rgba(143, 186, 255, .18); }
body .ss-fx-feature__presenter > span:last-child { display: grid; gap: 1px; }
body .ss-fx-feature__avatar { display: grid; place-items: center; flex: none; width: 46px; height: 46px; border-radius: 50%; background: linear-gradient(140deg, #2a6bd1, #0b2a5c); box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--vm-orange); font-family: var(--vm-font-head); font-weight: 600; color: #fff; }
body .ss-fx-feature__by { font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: #7fa6e0; }
body .ss-fx-feature__presenter strong { font-family: var(--vm-font-head); font-size: 15.5px; color: #fff; }
body .ss-fx-feature__role { font-size: 13px; color: #a9badb; }
body .ss-fx-feature--fallback .ss-btn-row { gap: 12px; }
@media (max-width: 900px) { body .ss-fx-feature--fallback.has-media { grid-template-columns: 1fr; } }

/* Mini cards (events pages): icon tile instead of the orange top tab; linked cards fully clickable */
body .ss-res-mini::before { display: none !important; }
body .ss-res-mini__icon { display: block; width: 48px; height: 48px; margin-bottom: 8px; }
body .ss-res-mini__icon img { width: 100% !important; height: 100% !important; }
body .ss-res-mini--link .ss-res-mini__link { margin-top: auto; padding-top: 6px; }
body .ss-res-mini--link .ss-res-mini__link::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
body .ss-res-mini--link { cursor: pointer; }
body .ss-res-mini__meta { color: var(--vm-orange); }
body .ss-fx-feature__media { aspect-ratio: auto !important; }
body .ss-fx-feature__media img { height: auto !important; object-fit: contain; display: block; }

/* No hard background seams between bands:
   - a fading sky band followed by its own continuation (flush-top) runs as one band
   - two fading sky bands in a row: the second fades in from white
   - a sky band directly after a white band eases in instead of starting on a hard line */
body .ss-section--sky-fade:has(+ .ss-core--flush-top) { background: linear-gradient(180deg, var(--vm-sky-50) 0%, #f7fbff 100%) !important; }
body .ss-section--sky-fade + .ss-section--sky-fade.ss-core--flush-top { background: linear-gradient(180deg, #f7fbff 0%, #fff 100%) !important; }
body .ss-section--sky-fade + .ss-section--sky-fade:not(.ss-core--flush-top),
body :is(.ss-section--white, .ss-section:not([class*="ss-section--"])) + .ss-section--sky-fade { background: linear-gradient(180deg, #fff 0%, var(--vm-sky-50) 22%, #fff 100%) !important; }
body :is(.ss-section--white, .ss-section:not([class*="ss-section--"])) + .ss-section--sky { background: linear-gradient(180deg, #fff 0%, var(--vm-sky-50) 160px) !important; }
body .ss-section--sky + :is(.ss-section--white, .ss-section:not([class*="ss-section--"])):not(.ss-band) { background: linear-gradient(180deg, var(--vm-sky-50) 0%, #fff 160px); }

/* Tile icons (product / service / company SVGs carry their own navy tile): no second tile behind them */
body [class*="__icon"]:has(> img[src*="-ic-"], > img[src*="svc-ico-"], > img[src*="co-ico-"]) { background: none !important; box-shadow: none !important; border: 0 !important; padding: 0 !important; overflow: visible !important; }
body [class*="__icon"]:has(> img[src*="-ic-"], > img[src*="svc-ico-"], > img[src*="co-ico-"]) > img { width: 100% !important; height: 100% !important; padding: 0 !important; margin: 0 !important; background: none !important; box-shadow: none !important; }

/* Lifecycle stages (TestMaster AI™): the detail slides up inside the card instead of a tooltip over the next row */
@media (min-width: 761px) {
	body .ss-prodb-flow--stages > .ss-prodb-stage { position: relative; overflow: hidden; isolation: isolate; }
	body .ss-prodb-flow--stages .ss-prodb-stage__head { position: relative; z-index: 1; }
	body .ss-prodb-flow--stages .ss-prodb-stage__num { z-index: 3; }
	body .ss-prodb-flow--stages .ss-prodb-stage__pop { position: absolute !important; inset: 0 !important; z-index: 4; display: flex; flex-direction: column; justify-content: center; gap: 10px; margin: 0 !important; padding: 24px 24px 22px !important; border-radius: inherit; background: radial-gradient(120% 120% at 80% 0%, #1d4a8f 0%, var(--vm-navy-800) 50%, var(--vm-navy-900) 100%) !important; box-shadow: none !important; color: #d5e1f5 !important; font-size: 14.5px !important; line-height: 1.6; opacity: 0; visibility: hidden; transform: translateY(14px) !important; transition: opacity .3s var(--vm-ease), transform .35s var(--vm-ease), visibility .3s !important; }
	body .ss-prodb-flow--stages .ss-prodb-stage__pop::before { content: attr(data-title) !important; position: static !important; width: auto !important; height: auto !important; background: none !important; transform: none !important; font-family: var(--vm-font-head); font-size: 11.5px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--vm-orange); }
	body .ss-prodb-flow--stages .ss-prodb-stage__pop p { margin: 0; }
	body .ss-prodb-flow--stages > .ss-prodb-stage.has-popup:is(:hover, :focus-within, .is-open) .ss-prodb-stage__pop { opacity: 1; visibility: visible; transform: none !important; }
	body .ss-prodb-flow--stages > .ss-prodb-stage.has-popup:is(:hover, :focus-within, .is-open) .ss-prodb-stage__icon { transform: none !important; box-shadow: none !important; }
}

/* Two navy bands where the second continues the first (flush-top): one continuous background */
body .ss-section--dark:has(+ .ss-section--dark.ss-core--flush-top) { background: radial-gradient(120% 110% at 70% 0%, var(--vm-navy-700) 0%, var(--vm-navy-800) 40%, var(--vm-navy-900) 100%) !important; padding-bottom: clamp(36px, 4vw, 56px) !important; }
body .ss-section--dark + .ss-section--dark.ss-core--flush-top { background: radial-gradient(90% 120% at 30% 100%, #12336b 0%, var(--vm-navy-900) 70%) !important; }
body .ss-section--dark + .ss-section--dark.ss-core--flush-top::before, body .ss-section--dark:has(+ .ss-section--dark.ss-core--flush-top)::after { display: none !important; }

/* Eight-tile capability matrices on navy (Validation Intelligence™): one dashboard panel with hairline dividers */
@media (min-width: 961px) {
	body .ss-section--dark .ss-core-cards__grid.ss-grid--4:has(> .ss-core-card:nth-child(8):last-child) { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px !important; overflow: hidden; border-radius: 20px; border: 1px solid rgba(143, 186, 255, .22); background: rgba(143, 186, 255, .16); box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .6); }
	body .ss-section--dark .ss-core-cards__grid.ss-grid--4:has(> .ss-core-card:nth-child(8):last-child) > .ss-core-card { flex: none !important; width: auto !important; margin: 0 !important; border: 0 !important; border-radius: 0 !important; background: linear-gradient(160deg, #11306a 0%, #0b2150 100%) !important; box-shadow: none !important; transform: none !important; transition: background .3s var(--vm-ease) !important; }
	body .ss-section--dark .ss-core-cards__grid.ss-grid--4:has(> .ss-core-card:nth-child(8):last-child) > .ss-core-card:hover { background: linear-gradient(160deg, #1a4285 0%, #0f2a62 100%) !important; }
	body .ss-section--dark .ss-core-cards__grid.ss-grid--4:has(> .ss-core-card:nth-child(8):last-child) > .ss-core-card:hover .ss-core-card__icon { transform: translateY(-3px) scale(1.06); }
	body .ss-section--dark .ss-core-cards__grid.ss-grid--4:has(> .ss-core-card:nth-child(8):last-child) .ss-core-card__icon { transition: transform .35s var(--vm-ease); }
}

/* Comparison with nothing in the generic column (Why TestMaster AI™ Is Different): compact 3-up check cards */
body .ss-prodb-vs { margin-top: clamp(24px, 3vw, 36px); padding: clamp(20px, 2.4vw, 30px); border-radius: 22px; background: radial-gradient(120% 120% at 80% 0%, #1d4a8f 0%, var(--vm-navy-800) 45%, var(--vm-navy-900) 100%); box-shadow: 0 30px 60px -30px rgba(7, 21, 51, .6); }
body .ss-prodb-vs__legend { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 28px; margin: 0 0 18px; font-family: var(--vm-font-head); font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
body .ss-prodb-vs__legend > span { display: inline-flex; align-items: center; gap: 10px; }
body .ss-prodb-vs__us { color: #fff; }
body .ss-prodb-vs__them { color: #8ea3c7; }
body .ss-prodb-vs__us::before, body .ss-prodb-vs__item::before { content: ""; flex: none; width: 22px; height: 22px; border-radius: 50%; background: var(--vm-tick) center / 11px no-repeat, linear-gradient(140deg, #5cc16a, #2f9e4f); }
body .ss-prodb-vs__them::before { content: ""; width: 22px; height: 2px; border-radius: 2px; background: #5b6f93; }
body .ss-prodb-vs__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
body .ss-prodb-vs__item { display: grid; grid-template-columns: 22px minmax(0, 1fr); column-gap: 14px; align-content: start; margin: 0; padding: 18px 20px; border-radius: 14px; border: 1px solid rgba(143, 186, 255, .2); background: linear-gradient(160deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .02)); transition: transform .25s var(--vm-ease), border-color .25s var(--vm-ease), background .25s var(--vm-ease); }
body .ss-prodb-vs__item::before { grid-row: 1 / span 2; margin-top: 1px; }
body .ss-prodb-vs__item:hover { transform: translateY(-3px); border-color: rgba(127, 210, 138, .55); background: linear-gradient(160deg, rgba(255, 255, 255, .12), rgba(255, 255, 255, .04)); }
body .ss-prodb-vs__title { margin: 0 0 4px; font-size: 16px; line-height: 1.3; color: #fff; }
body .ss-prodb-vs__text { margin: 0; font-size: 14px; line-height: 1.55; color: #c3cfe4; }
@media (max-width: 1000px) { body .ss-prodb-vs__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { body .ss-prodb-vs__grid { grid-template-columns: 1fr; } }

/* Criteria tabs: label text always left-aligned, even when it wraps */
body .ss-core-criteria__tab { text-align: left !important; }

/* Six-item checklists: an even 3 x 2 grid of check cards that always fits its container */
body .ss-checklist--light:has(> li:nth-child(6):last-child) { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; justify-content: stretch !important; gap: 10px !important; width: 100%; max-width: 100%; margin-inline: 0; }
body .ss-checklist--light:has(> li:nth-child(6):last-child) > li { display: flex; align-items: center; gap: 12px; margin: 0; padding: 13px 16px !important; border-radius: 12px; background: #fff; border: 1px solid var(--vm-line); box-shadow: 0 10px 22px -18px rgba(14, 43, 84, .45); font-size: 14.5px; line-height: 1.45; text-align: left; transition: transform .25s var(--vm-ease), border-color .25s var(--vm-ease); }
body .ss-checklist--light:has(> li:nth-child(6):last-child) > li::before { position: static; flex: none; width: 24px; height: 24px; border: 0; border-radius: 50%; transform: none; background: var(--vm-tick) center / 12px no-repeat, linear-gradient(140deg, #5cc16a, #2f9e4f); }
body .ss-checklist--light:has(> li:nth-child(6):last-child) > li:hover { transform: translateY(-2px); border-color: #b9d2f3; }
@media (max-width: 900px) { body .ss-checklist--light:has(> li:nth-child(6):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 560px) { body .ss-checklist--light:has(> li:nth-child(6):last-child) { grid-template-columns: 1fr !important; } }
/* Left-aligned product sections: pill rows start under their left-aligned label */
body .ss-prodb-section--left .ss-prodb-pills__list { justify-content: flex-start !important; margin-left: 0 !important; padding-left: 0 !important; }

/* Light product card grids (3-up): icon beside the copy, left-aligned, compact */
@media (min-width: 761px) {
	body .ss-proda-cards__grid--c3 > .ss-proda-card--light { display: grid !important; grid-template-columns: 56px minmax(0, 1fr); column-gap: 18px; align-content: start; text-align: left !important; padding: 24px 24px 22px !important; border: 1px solid var(--vm-line); border-radius: 16px; box-shadow: 0 14px 30px -24px rgba(16, 37, 77, .45); transition: transform .3s var(--vm-ease), border-color .3s var(--vm-ease), box-shadow .3s var(--vm-ease); }
	body .ss-proda-cards__grid--c3 > .ss-proda-card--light > .ss-card__icon { grid-row: 1 / span 3; width: 56px !important; height: 56px !important; margin: 0 !important; transition: transform .35s var(--vm-ease); }
	body .ss-proda-cards__grid--c3 > .ss-proda-card--light > :not(.ss-card__icon) { grid-column: 2; margin-left: 0 !important; margin-right: 0 !important; text-align: left !important; }
	body .ss-proda-cards__grid--c3 > .ss-proda-card--light .ss-card__title { margin: 2px 0 6px !important; font-size: 17px; }
	body .ss-proda-cards__grid--c3 > .ss-proda-card--light:hover { transform: translateY(-4px); border-color: #b9d2f3; box-shadow: 0 22px 40px -24px rgba(16, 37, 77, .5); }
	body .ss-proda-cards__grid--c3 > .ss-proda-card--light:hover > .ss-card__icon { transform: scale(1.06) rotate(-3deg); }
}

/* Step rows (Employee Journey): filled step nodes on a gradient rail, each step as a card */
body .ss-core-steps--row .ss-core-step__node { background: linear-gradient(140deg, #2a6bd1, #0b2a5c) !important; border: 0 !important; box-shadow: 0 0 0 6px #fff, 0 0 0 7px #d6e4f7, 0 14px 26px -10px rgba(11, 42, 92, .55) !important; transition: transform .3s var(--vm-ease), box-shadow .3s var(--vm-ease); }
body .ss-core-steps--row .ss-core-step__num { color: #fff !important; }
body .ss-core-steps--row .ss-core-step__body { margin-top: 18px; padding: 18px 16px; border-radius: 14px; background: #fff; border: 1px solid var(--vm-line); box-shadow: 0 14px 30px -24px rgba(16, 37, 77, .45); transition: transform .3s var(--vm-ease), border-color .3s var(--vm-ease); }
body .ss-core-steps--row .ss-core-step:hover .ss-core-step__node { transform: translateY(-3px); box-shadow: 0 0 0 6px #fff, 0 0 0 8px var(--vm-orange), 0 18px 30px -10px rgba(11, 42, 92, .6) !important; }
body .ss-core-steps--row .ss-core-step:hover .ss-core-step__body { transform: translateY(-3px); border-color: #b9d2f3; }

/* Brand line under split copy ("Human-Guided. AI-Assisted. …"): a pill, not stray italic text */
body .ss-proda-split .ss-proda-note--left { display: inline-flex; align-items: center; gap: 10px; width: fit-content; max-width: 100%; margin: 18px 0 0 !important; padding: 9px 16px 9px 12px; border-radius: 999px; background: #fff; border: 1px solid var(--vm-line); box-shadow: 0 10px 22px -18px rgba(14, 43, 84, .45); font-family: var(--vm-font-head); font-size: 13px !important; font-style: normal !important; font-weight: 600; color: var(--vm-navy-700) !important; }
body .ss-proda-split .ss-proda-note--left::before { content: ""; flex: none; width: 8px; height: 8px; border-radius: 50%; background: var(--vm-orange); box-shadow: 0 0 0 4px rgba(241, 140, 33, .18); }
body .ss-section--dark .ss-proda-split .ss-proda-note--left, body .ss-section--dark.ss-proda-split .ss-proda-note--left { background: rgba(255, 255, 255, .06); border-color: rgba(143, 186, 255, .25); color: #fff !important; }

/* Label-only comparison cards: two across, title weight only */
body .ss-prodb-vs--labels .ss-prodb-vs__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body .ss-prodb-vs--labels .ss-prodb-vs__item { align-items: center; }
body .ss-prodb-vs--labels .ss-prodb-vs__item::before { grid-row: auto; }
body .ss-prodb-vs--labels .ss-prodb-vs__title { margin: 0; font-size: 15.5px; font-weight: 500; }
body .ss-prodb-vs--labels .ss-prodb-vs__item:last-child:nth-child(odd) { grid-column: 1 / -1; justify-self: center; width: calc(50% - 6px); }
@media (max-width: 640px) { body .ss-prodb-vs--labels .ss-prodb-vs__grid { grid-template-columns: 1fr; } body .ss-prodb-vs--labels .ss-prodb-vs__item:last-child:nth-child(odd) { width: auto; } }
@media (min-width: 761px) {
	body .ss-proda-cards__grid--c3 > .ss-proda-card--light > * { justify-self: start !important; align-self: start !important; }
	body .ss-proda-cards__grid--c3 > .ss-proda-card--light .ss-card__title { width: auto !important; text-align: left !important; }
}
body .ss-core-steps--row .ss-core-steps__list { align-items: stretch !important; }
body .ss-core-steps--row .ss-core-step { display: flex !important; flex-direction: column; align-items: center; }
body .ss-core-steps--row .ss-core-step__body { flex: 1 1 auto; width: 100%; }
body .ss-proda-notice { padding-top: 0 !important; }
body .ss-proda-listbox--dark .ss-proda-listbox__title { color: #fff !important; }

/* Resource cards with artwork covers: copy lines up with the cover edge; wide art sits centred in the cover */
body .ss-core-resource:has(> .ss-core-resource__cover) > :not(.ss-core-resource__cover) { padding-left: 0 !important; padding-right: 0 !important; margin-left: 0 !important; margin-right: 0 !important; }
body .ss-core-resource__cover:has(> img.vm-art) { display: grid; place-items: center; background: linear-gradient(160deg, #eef5ff, #e3eefc); }
body .ss-core-resource__cover > img.vm-art { object-fit: contain !important; object-position: center !important; padding: 14px; }
body .ss-core-resource > .ss-core-resource__cover { margin: 0 0 18px !important; }

/* Supported platforms: category rail + one platform panel */
body .ss-proda-ptabs { display: grid; grid-template-columns: minmax(280px, 380px) minmax(0, 1fr); gap: 18px; margin-top: clamp(24px, 3vw, 36px); align-items: stretch; }
body .ss-proda-ptabs__rail { display: grid; align-content: start; gap: 4px; padding: 10px; border-radius: 18px; background: #fff; border: 1px solid var(--vm-line); box-shadow: 0 16px 34px -26px rgba(16, 37, 77, .45); }
body .ss-proda-ptabs__tab { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; padding: 11px 14px; border: 0; border-radius: 12px; background: none; font-family: var(--vm-font-head); font-size: 14.5px; font-weight: 500; line-height: 1.3; text-align: left; color: var(--vm-navy-700); cursor: pointer; transition: background .2s var(--vm-ease), color .2s var(--vm-ease); }
body .ss-proda-ptabs__count { flex: none; display: grid; place-items: center; min-width: 28px; height: 24px; padding: 0 8px; border-radius: 999px; background: var(--vm-sky-50); border: 1px solid #dbe6f5; font-size: 12px; font-weight: 600; color: #1f5fba; transition: background .2s var(--vm-ease), color .2s var(--vm-ease); }
body .ss-proda-ptabs__tab:hover { background: var(--vm-sky-50); }
body .ss-proda-ptabs__tab[aria-selected="true"] { background: linear-gradient(140deg, #1d4a8f, #0b2150); color: #fff; box-shadow: 0 12px 24px -14px rgba(11, 33, 80, .7); }
body .ss-proda-ptabs__tab[aria-selected="true"] .ss-proda-ptabs__count { background: var(--vm-orange); border-color: var(--vm-orange); color: #fff; }
body .ss-proda-ptabs__panel { position: relative; overflow: hidden; display: flex; flex-direction: column; padding: clamp(26px, 3vw, 40px); border-radius: 18px; background: radial-gradient(120% 120% at 85% 0%, #1d4a8f 0%, var(--vm-navy-800) 45%, var(--vm-navy-900) 100%); box-shadow: 0 30px 60px -30px rgba(7, 21, 51, .6); color: #c3cfe4; }
body .ss-proda-ptabs__panel::before { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(143, 186, 255, .14) 1px, transparent 1px); background-size: 18px 18px; mask-image: linear-gradient(200deg, #000, transparent 60%); pointer-events: none; }
body .ss-proda-ptabs__panel > * { position: relative; }
body .ss-proda-ptabs__panel[hidden] { display: none; }
body .ss-proda-ptabs__panel.is-entering { animation: ssPtabIn .35s var(--vm-ease); }
@keyframes ssPtabIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
body .ss-proda-ptabs__eyebrow { margin: 0 0 8px; font-family: var(--vm-font-head); font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--vm-orange); }
body .ss-proda-ptabs__title { margin: 0 0 22px; font-size: clamp(22px, 1.9vw, 28px); line-height: 1.25; color: #fff; }
body .ss-proda-ptabs__panel .ss-proda-cat__label { display: none; }
body .ss-proda-ptabs__panel .ss-proda-pills { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; justify-content: stretch !important; }
body .ss-proda-ptabs__panel .ss-proda-pill { display: flex; align-items: center; gap: 12px; margin: 0; padding: 13px 16px; border-radius: 12px; border: 1px solid rgba(143, 186, 255, .22); background: linear-gradient(160deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .02)); font-size: 15px; font-weight: 500; color: #fff; text-align: left; transition: transform .25s var(--vm-ease), border-color .25s var(--vm-ease), background .25s var(--vm-ease); }
body .ss-proda-ptabs__panel .ss-proda-pill::before { content: ""; flex: none; width: 22px; height: 22px; border-radius: 50%; background: var(--vm-tick) center / 11px no-repeat, linear-gradient(140deg, #5cc16a, #2f9e4f); }
body .ss-proda-ptabs__panel .ss-proda-pill:hover { transform: translateY(-2px); border-color: rgba(127, 210, 138, .55); background: linear-gradient(160deg, rgba(255, 255, 255, .13), rgba(255, 255, 255, .04)); }
body .ss-proda-ptabs__panel .ss-proda-cat__note { margin: 16px 0 0; font-size: 14px; color: #a9badb; }
body .ss-proda-ptabs__cta { display: inline-flex; align-items: center; gap: 10px; align-self: flex-start; margin-top: auto; padding-top: 24px; font-family: var(--vm-font-head); font-size: 13px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: #7fd28a !important; text-decoration: none !important; }
body .ss-proda-ptabs__cta::after { content: ""; width: 7px; height: 7px; border-top: 2px solid currentColor; border-right: 2px solid currentColor; transform: rotate(45deg); transition: transform .25s var(--vm-ease); }
body .ss-proda-ptabs__cta:hover::after { transform: translateX(4px) rotate(45deg); }
@media (max-width: 900px) {
	body .ss-proda-ptabs { grid-template-columns: 1fr; }
	body .ss-proda-ptabs__rail { display: flex; overflow-x: auto; gap: 6px; scrollbar-width: none; }
	body .ss-proda-ptabs__tab { flex: none; width: auto; white-space: nowrap; }
	body .ss-proda-ptabs__panel .ss-proda-pills { grid-template-columns: 1fr; }
}
/* Section closes tighter after the panel (no long blank run before the next band) */
body .ss-proda-platforms--open { padding-bottom: clamp(48px, 5vw, 72px) !important; }
body .ss-proda-platforms--open .ss-proda-note { margin-top: 18px !important; }
body .ss-proda-ptabs__panel .ss-proda-pill { flex-direction: row !important; flex-wrap: nowrap !important; justify-content: flex-start !important; text-align: left !important; }
body .ss-proda-ptabs__panel .ss-proda-pill > span { display: inline !important; }

/* Ten-card navy capability grids (5 x 2): icon above the title so titles get the full card width */
body .ss-core-cards__grid--dark:has(> .ss-core-card:nth-child(10):last-child) > .ss-core-card { display: flex !important; flex-direction: column !important; align-items: flex-start; padding: 24px 22px 22px !important; }
body .ss-core-cards__grid--dark:has(> .ss-core-card:nth-child(10):last-child) > .ss-core-card > * { grid-column: auto !important; grid-row: auto !important; margin-left: 0 !important; }
body .ss-core-cards__grid--dark:has(> .ss-core-card:nth-child(10):last-child) .ss-core-card__top { margin: 0 0 16px !important; }
body .ss-core-cards__grid--dark:has(> .ss-core-card:nth-child(10):last-child) .ss-core-card__icon { width: 48px !important; height: 48px !important; margin: 0 !important; transition: transform .35s var(--vm-ease); }
body .ss-core-cards__grid--dark:has(> .ss-core-card:nth-child(10):last-child) .ss-card__title { margin: 0 0 8px !important; font-size: 16.5px !important; line-height: 1.3; }
body .ss-core-cards__grid--dark:has(> .ss-core-card:nth-child(10):last-child) > .ss-core-card:hover .ss-core-card__icon { transform: translateY(-3px) scale(1.06); }

/* Sub-labels inside product sections ("Where Teams Use VERITAS™", "Supported Devices", "Key Capabilities"): one consistent style */
body .ss-prodb-subtitle { font-family: var(--vm-font-head); font-size: 19px !important; font-weight: 600 !important; line-height: 1.3; color: var(--vm-navy-700) !important; letter-spacing: 0; }
body .ss-section--dark .ss-prodb-subtitle { color: #fff !important; }
body .ss-core-resource__cover > img.vm-art { width: 100% !important; height: 100% !important; }
body :is(.ss-section--white, .ss-section:not([class*="ss-section--"])) + .ss-section--sky-fade:has(+ .ss-core--flush-top),
body .ss-section--sky-fade + .ss-section--sky-fade:not(.ss-core--flush-top):has(+ .ss-core--flush-top) { background: linear-gradient(180deg, #fff 0%, var(--vm-sky-50) 22%, #f7fbff 100%) !important; }

/* Every band is its own formatting context, so a first child's top margin can never push the band down
   and leave a strip of page background between two bands */
main > section.ss-section { display: flow-root; }

/* An outline button standing alone (no green button beside it) reads as the main action: solid green like the rest */
body .ss-btn--outline:only-child, body .ss-btn-row:not(:has(.ss-btn--primary)) > .ss-btn--outline { background: linear-gradient(90deg, var(--vm-green-700), #5fb046) !important; border-color: transparent !important; color: #fff !important; box-shadow: 0 4px 12px rgba(38, 163, 75, .25) !important; }
body .ss-btn--outline:only-child:hover, body .ss-btn-row:not(:has(.ss-btn--primary)) > .ss-btn--outline:hover { transform: translateY(-2px); box-shadow: 0 10px 22px rgba(38, 163, 75, .38) !important; }

/* Contact form: two roomy columns, inquiry chips across the top */
body .ss-fx-form--contact .ss-form__grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 18px 20px !important; }
body .ss-fx-form--contact .ss-form__grid > .ss-form__field { grid-column: auto !important; }
body .ss-fx-form--contact .ss-form__grid > .ss-form__field--full, body .ss-fx-form--contact .ss-form__grid > .ss-form__field--chips { grid-column: 1 / -1 !important; }
body .ss-fx-form--contact .ss-form__field--chips { order: -1; padding: 18px 18px 20px; border-radius: 14px; background: var(--vm-sky-50); border: 1px solid #dbe6f5; }
body .ss-fx-form--contact .ss-form__field--chips > label { margin-bottom: 12px; font-size: 15px; }
body .ss-inq-select { position: absolute !important; width: 1px !important; height: 1px !important; opacity: 0; pointer-events: none; }
body .ss-inq-chips { display: flex; flex-wrap: wrap; gap: 8px; }
body .ss-inq-chip { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 8px 16px; border-radius: 999px; border: 1.5px solid #c9d8ee; background: #fff; font-family: var(--vm-font-head); font-size: 13.5px; font-weight: 500; color: var(--vm-navy-700); cursor: pointer; transition: border-color .2s var(--vm-ease), background .2s var(--vm-ease), color .2s var(--vm-ease), box-shadow .2s var(--vm-ease), transform .2s var(--vm-ease); }
body .ss-inq-chip:hover { border-color: #2a6bd1; transform: translateY(-1px); }
body .ss-inq-chip:focus-visible { outline: 2px solid var(--vm-orange); outline-offset: 2px; }
body .ss-inq-chip.is-selected { border-color: transparent; background: linear-gradient(140deg, #1d4a8f, #0b2150); color: #fff; box-shadow: 0 10px 20px -10px rgba(11, 33, 80, .7); }
body .ss-inq-chip.is-selected::before { content: ""; width: 18px; height: 18px; border-radius: 50%; background: var(--vm-tick) center / 10px no-repeat, linear-gradient(140deg, #5cc16a, #2f9e4f); }
body .ss-fx-form--contact .ss-form__field--chips.is-invalid, body .ss-fx-form--contact .ss-form__field--chips[aria-invalid="true"] { border-color: #e05a4f; }
/* Help cards: the one that pre-filled the form shows it */
body .ss-core-form__card--link.is-selected { border-color: #5cc16a !important; box-shadow: 0 0 0 3px rgba(92, 193, 106, .25), 0 16px 30px -22px rgba(16, 37, 77, .5) !important; }
body .ss-core-form__card--link.is-selected::after { content: "Selected"; position: absolute; top: 12px; right: 14px; display: inline-flex; align-items: center; padding: 3px 10px; border-radius: 999px; background: linear-gradient(140deg, #5cc16a, #2f9e4f); font-family: var(--vm-font-head); font-size: 10.5px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: #fff; }
body .ss-core-form__card--link { position: relative; }
@media (max-width: 640px) { body .ss-fx-form--contact .ss-form__grid { grid-template-columns: 1fr !important; } }

/* Webinar library */
body .ss-webinar-filter { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 0 0 28px; }
body .ss-webinar-filter__chip { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 8px 16px; border-radius: 999px; border: 1.5px solid #c9d8ee; background: #fff; font-family: var(--vm-font-head); font-size: 13.5px; font-weight: 500; color: var(--vm-navy-700); cursor: pointer; transition: border-color .2s var(--vm-ease), background .2s var(--vm-ease), color .2s var(--vm-ease), transform .2s var(--vm-ease); }
body .ss-webinar-filter__chip span { display: grid; place-items: center; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 999px; background: var(--vm-sky-50); font-size: 11.5px; font-weight: 600; color: #1f5fba; }
body .ss-webinar-filter__chip:hover { border-color: #2a6bd1; transform: translateY(-1px); }
body .ss-webinar-filter__chip.is-active { border-color: transparent; background: linear-gradient(140deg, #1d4a8f, #0b2150); color: #fff; box-shadow: 0 10px 20px -10px rgba(11, 33, 80, .7); }
body .ss-webinar-filter__chip.is-active span { background: var(--vm-orange); color: #fff; }
body .ss-core-webinar[hidden] { display: none !important; }
body .ss-core-webinar.is-filter-in { animation: ssPtabIn .35s var(--vm-ease); }
body .ss-core-webinar__thumb { position: relative; }
body .ss-core-webinar__thumb::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 50%, rgba(7, 21, 51, .55)); opacity: .7; transition: opacity .35s var(--vm-ease); pointer-events: none; }
body .ss-core-webinar__play { position: absolute; z-index: 2; left: 50%; top: 50%; width: 62px; height: 62px; margin: -31px 0 0 -31px; border-radius: 50%; background: linear-gradient(140deg, #5cc16a, #2f9e4f); box-shadow: 0 10px 26px rgba(38, 163, 75, .55); opacity: 0; transform: scale(.8); transition: opacity .3s var(--vm-ease), transform .3s var(--vm-ease); }
body .ss-core-webinar__play::before { content: ""; position: absolute; left: 25px; top: 20px; border-style: solid; border-width: 11px 0 11px 17px; border-color: transparent transparent transparent #fff; }
body .ss-core-webinar__card:hover .ss-core-webinar__play { opacity: 1; transform: scale(1); }
body .ss-core-webinar__dur { position: absolute; z-index: 2; right: 10px; bottom: 10px; display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px; border-radius: 999px; background: rgba(7, 21, 51, .8); backdrop-filter: blur(6px); font-family: var(--vm-font-head); font-size: 12px; font-weight: 600; color: #fff; }
body .ss-core-webinar__dur::before { content: ""; width: 0; height: 0; border-style: solid; border-width: 5px 0 5px 8px; border-color: transparent transparent transparent #7fd28a; }
body .ss-core-webinar__tags { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 12px; padding: 0; list-style: none; }
body .ss-core-webinar__tags li { margin: 0; padding: 4px 10px; border-radius: 999px; border: 1px solid rgba(143, 186, 255, .3); background: rgba(255, 255, 255, .06); font-family: var(--vm-font-head); font-size: 11.5px; font-weight: 600; letter-spacing: .03em; color: #cfe0fb; }
body .ss-core-webinar__tags li::before { display: none; }
body .ss-core-webinar__hosts-row { display: flex; align-items: center; gap: 12px; margin: auto 0 16px; padding-top: 14px; border-top: 1px solid rgba(143, 186, 255, .16); }
body .ss-core-webinar__avatars { display: flex; flex: none; }
body .ss-core-webinar__avatars span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: linear-gradient(140deg, #2a6bd1, #0b2a5c); box-shadow: 0 0 0 2px #0b2150, 0 0 0 3px rgba(241, 140, 33, .8); font-family: var(--vm-font-head); font-size: 12px; font-weight: 600; color: #fff; }
body .ss-core-webinar__avatars span + span { margin-left: -8px; }
body .ss-core-webinar__by { display: grid; font-size: 13px; line-height: 1.35; color: #fff; font-weight: 500; }
body .ss-core-webinar__by em { font-style: normal; font-weight: 400; font-size: 12.5px; color: #a9badb; }
body .ss-core-webinar__text { margin-bottom: 16px !important; }
body .ss-core-webinar__cta { margin-top: 0 !important; }

/* No stray orange tab marks on cards (honors, resource tiles, why panels, HQ actions) */
body .ss-co-honor::before, body .ss-res-tile--card::before, body .ss-svc-why__panels li::before, body .ss-co-hq__action::before { display: none !important; }
/* Five-item check rows sit on one line (no lone fifth item) */
@media (min-width: 1001px) {
	body .ss-core-listpanel__list:has(> :nth-child(5):last-child) { display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)) !important; gap: 10px !important; }
	body .ss-core-listpanel__list:has(> :nth-child(5):last-child) > * { width: auto !important; max-width: none !important; margin: 0 !important; }
}
body .ss-core-form__card--link.is-selected::after { top: auto !important; bottom: 16px; right: 16px; }
body .ss-fx-form--contact .ss-form__grid { align-items: start !important; }
body .ss-fx-form--contact .ss-form__field > label { min-height: 0; margin-top: 0 !important; }
body .ss-core-form__card--link.is-selected { overflow: visible !important; }
body .ss-core-form__card--link.is-selected::after { content: "" !important; top: -10px !important; right: -10px !important; bottom: auto !important; width: 28px; height: 28px; padding: 0 !important; border-radius: 50% !important; background: var(--vm-tick) center / 13px no-repeat, linear-gradient(140deg, #5cc16a, #2f9e4f) !important; box-shadow: 0 0 0 3px #fff, 0 6px 14px rgba(38, 163, 75, .45); }
body .ss-section--dark.ss-core-listpanel .ss-core-split__grid--solo .ss-core-split__text p:first-child, body .ss-section--dark .ss-core-listpanel .ss-core-split__grid--solo .ss-core-split__text p:first-child { color: #d5e1f5 !important; }
body .ss-section--dark.ss-core-listpanel .ss-core-split__grid--solo .ss-core-split__text p + p { background: rgba(255, 255, 255, .06); border-color: rgba(143, 186, 255, .22); color: #d5e1f5; }
@media (min-width: 1001px) {
	body .ss-core-listpanel:has(.ss-core-split__grid--solo) .ss-core-listpanel__panel:not(:has(.ss-core-listpanel__text)) .ss-core-listpanel__list:has(> :nth-child(5):last-child) { display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
	body .ss-core-listpanel:has(.ss-core-split__grid--solo) .ss-core-listpanel__panel:not(:has(.ss-core-listpanel__text)) .ss-core-listpanel__list:has(> :nth-child(5):last-child) > * { flex: none !important; width: auto !important; min-width: 0 !important; max-width: none !important; }
}

/* Split-layout forms (Careers, Support, Partners…): two roomy columns, no stranded field */
body .ss-core-form--split .ss-fx-form .ss-form__grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 18px 20px !important; align-items: start !important; }
body .ss-core-form--split .ss-fx-form .ss-form__grid > .ss-form__field { grid-column: auto !important; }
body .ss-core-form--split .ss-fx-form .ss-form__grid > .ss-form__field--full { grid-column: 1 / -1 !important; }
@media (min-width: 1001px) { body .ss-core-form--split .ss-core-form__copy { position: sticky; top: 150px; align-self: start; } }
@media (max-width: 640px) { body .ss-core-form--split .ss-fx-form .ss-form__grid { grid-template-columns: 1fr !important; } }

/* File fields as a drop zone */
body .ss-fx-form__field--file { position: relative; }
body .ss-fx-form__field--file input[type="file"] { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; z-index: 2; }
body .ss-fx-form__field--file .ss-drop { display: flex; align-items: center; gap: 16px; padding: 18px 20px; border: 2px dashed #b9cde9; border-radius: 14px; background: var(--vm-sky-50); transition: border-color .2s var(--vm-ease), background .2s var(--vm-ease); }
body .ss-fx-form__field--file .ss-drop__icon { flex: none; width: 44px; height: 44px; border-radius: 12px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 16V4'/%3E%3Cpath d='m7 9 5-5 5 5'/%3E%3Cpath d='M4 16v3a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-3'/%3E%3C/svg%3E") center / 20px no-repeat, linear-gradient(140deg, #2a6bd1, #0b2a5c); }
body .ss-fx-form__field--file .ss-drop__text { display: grid; gap: 2px; font-size: 14.5px; color: var(--vm-navy-700); }
body .ss-fx-form__field--file .ss-drop__text strong { font-family: var(--vm-font-head); font-weight: 600; }
body .ss-fx-form__field--file .ss-drop__text span { font-size: 13px; color: var(--vm-muted, #6b7a93); }
body .ss-fx-form__field--file:hover .ss-drop, body .ss-fx-form__field--file.is-drag .ss-drop { border-color: #2a6bd1; background: #eaf2fe; }
body .ss-fx-form__field--file.has-file .ss-drop { border-style: solid; border-color: #5cc16a; background: #f0faf1; }
body .ss-fx-form__field--file.has-file .ss-drop__icon { background: var(--vm-tick) center / 18px no-repeat, linear-gradient(140deg, #5cc16a, #2f9e4f); }
body .ss-fx-form__field--file .ss-form__help { display: none; }

/* Stacked intro: the lead paragraph runs full width, the rest in two even columns, then the brand pill and button together on one line */
@media (min-width: 901px) {
	body .ss-core-cards__sticky.is-tall-intro .ss-core-cards__intro > p:first-child { column-span: all; max-width: 980px; margin-bottom: 22px; }
	body .ss-core-cards__sticky.is-tall-intro .ss-core-cards__intro { margin-bottom: 6px; }
	body .ss-core-cards__sticky.is-tall-intro .ss-core-cards__asidenote { margin: 8px 16px 0 0 !important; }
	body .ss-core-cards__sticky.is-tall-intro .ss-btn-row { margin: 8px 0 0 !important; }
}
/* No partial accent bars on card edges */
body .ss-core-cards__grid--sticky .ss-core-card::before { display: none !important; }

/* White paper library: cover beside the copy, the newest paper featured full width, the rest two across */
@media (min-width: 901px) {
	body .ss-core-resources__grid--papers { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 20px !important; }
	body .ss-core-resources__grid--papers > .ss-core-resource { display: grid !important; grid-template-columns: 170px minmax(0, 1fr); grid-template-rows: auto auto 1fr auto; column-gap: 26px; align-content: start; width: auto !important; margin: 0 !important; padding: 22px !important; }
	body .ss-core-resources__grid--papers > .ss-core-resource > .ss-core-resource__cover { grid-column: 1; grid-row: 1 / span 4; margin: 0 !important; aspect-ratio: 3 / 4; height: auto; border-radius: 10px; overflow: hidden; background: #0a1f47 !important; box-shadow: 0 18px 30px -18px rgba(7, 21, 51, .65); transition: transform .35s var(--vm-ease); }
	body .ss-core-resources__grid--papers > .ss-core-resource > .ss-core-resource__cover img { width: 100% !important; height: 100% !important; object-fit: cover !important; padding: 0 !important; }
	body .ss-core-resources__grid--papers > .ss-core-resource > :not(.ss-core-resource__cover) { grid-column: 2; }
	body .ss-core-resources__grid--papers > .ss-core-resource:hover > .ss-core-resource__cover { transform: translateY(-4px) rotate(-1deg); }
	body .ss-core-resources__grid--papers > .ss-core-resource:first-child { grid-column: 1 / -1; grid-template-columns: 230px minmax(0, 1fr); padding: 28px !important; background: radial-gradient(120% 120% at 85% 0%, #1d4a8f 0%, var(--vm-navy-800) 45%, var(--vm-navy-900) 100%) !important; border-color: rgba(143, 186, 255, .25) !important; }
	body .ss-core-resources__grid--papers > .ss-core-resource:first-child .ss-card__title { font-size: clamp(22px, 1.8vw, 28px); color: #fff; }
	body .ss-core-resources__grid--papers > .ss-core-resource:first-child .ss-core-resource__text { font-size: 15.5px; color: #c3cfe4; max-width: 720px; }
	body .ss-core-resources__grid--papers > .ss-core-resource:first-child .ss-core-resource__type::after { content: " · Featured"; }
	body .ss-core-resources__grid--papers .ss-core-resource__cta { align-self: end; margin-top: 14px; }
}
@media (min-width: 901px) {
	body .ss-core-resources__grid--papers { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	body .ss-core-resources__grid--papers > .ss-core-resource:not(:first-child) { grid-column: auto !important; }
	body .ss-core-resources__grid--papers > .ss-core-resource:first-child { grid-column: 1 / -1 !important; }
}

/* Case study library: featured story on navy, the rest two across, each with artwork and its headline result */
body .ss-core-resources__grid--cases > .ss-core-resource[hidden] { display: none !important; }
body .ss-core-resources__grid--cases > .ss-core-resource.is-filter-in { animation: ssPtabIn .35s var(--vm-ease); }
body .ss-core-resources__grid--cases .ss-core-resource__cover { position: relative; display: grid; place-items: center; aspect-ratio: 16 / 9; margin: 0 0 18px !important; border-radius: 14px; overflow: hidden; background: radial-gradient(120% 120% at 80% 0%, #1d4a8f 0%, var(--vm-navy-800) 50%, var(--vm-navy-900) 100%) !important; }
body .ss-core-resources__grid--cases .ss-core-resource__cover img { width: 100% !important; height: 100% !important; object-fit: contain !important; padding: 18px 18px 46px !important; transition: transform .5s var(--vm-ease); }
body .ss-core-resources__grid--cases .ss-core-resource:hover .ss-core-resource__cover img { transform: scale(1.04); }
body .ss-core-resource__metric { position: absolute; left: 14px; bottom: 14px; display: inline-flex; align-items: baseline; gap: 8px; padding: 8px 14px; border-radius: 12px; background: rgba(255, 255, 255, .96); box-shadow: 0 10px 22px -10px rgba(0, 0, 0, .5); font-family: var(--vm-font-head); font-size: 12.5px; font-weight: 600; color: var(--vm-navy-700); }
body .ss-core-resource__metric strong { font-size: 24px; line-height: 1; color: #2f9e4f; }
body .ss-core-resource__tags { margin: -2px 0 10px !important; }
body .ss-core-resource__tags li { border-color: #c9d8ee !important; background: var(--vm-sky-50) !important; color: #1f5fba !important; }
@media (min-width: 901px) {
	body .ss-core-resources__grid--cases { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 20px !important; }
	body .ss-core-resources__grid--cases > .ss-core-resource { grid-column: auto !important; width: auto !important; margin: 0 !important; display: flex !important; flex-direction: column; padding: 18px 18px 22px !important; }
	body .ss-core-resources__grid--cases:not(.is-filtered) > .ss-core-resource:first-child { grid-column: 1 / -1 !important; display: grid !important; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); grid-template-rows: auto auto auto 1fr auto; column-gap: 34px; padding: 22px !important; background: radial-gradient(120% 120% at 85% 0%, #1d4a8f 0%, var(--vm-navy-800) 45%, var(--vm-navy-900) 100%) !important; border-color: rgba(143, 186, 255, .25) !important; }
	body .ss-core-resources__grid--cases:not(.is-filtered) > .ss-core-resource:first-child > .ss-core-resource__cover { grid-column: 1; grid-row: 1 / span 5; margin: 0 !important; aspect-ratio: auto; min-height: 320px; background: rgba(255, 255, 255, .05) !important; }
	body .ss-core-resources__grid--cases:not(.is-filtered) > .ss-core-resource:first-child > :not(.ss-core-resource__cover) { grid-column: 2; }
	body .ss-core-resources__grid--cases:not(.is-filtered) > .ss-core-resource:first-child .ss-core-resource__type { margin-top: 10px; }
	body .ss-core-resources__grid--cases:not(.is-filtered) > .ss-core-resource:first-child .ss-core-resource__type::after { content: " · Featured"; }
	body .ss-core-resources__grid--cases:not(.is-filtered) > .ss-core-resource:first-child .ss-card__title { font-size: clamp(22px, 1.8vw, 28px); color: #fff; }
	body .ss-core-resources__grid--cases:not(.is-filtered) > .ss-core-resource:first-child .ss-core-resource__text { font-size: 15.5px; color: #c3cfe4; }
	body .ss-core-resources__grid--cases:not(.is-filtered) > .ss-core-resource:first-child .ss-core-resource__tags li { background: rgba(255, 255, 255, .08) !important; border-color: rgba(143, 186, 255, .3) !important; color: #cfe0fb !important; }
	body .ss-core-resources__grid--cases .ss-core-resource__cta { margin-top: auto; padding-top: 12px; align-self: start; }
}
body .ss-core-form--split .ss-fx-form .ss-form__grid > .ss-form__field--chips { grid-column: 1 / -1 !important; }

/* FAQ library */
body .ss-faq-lib { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: clamp(28px, 3.5vw, 52px); align-items: start; margin-top: clamp(24px, 3vw, 36px); }
body .ss-faq-lib__rail { position: sticky; top: 150px; display: grid; gap: 14px; }
body .ss-faq-lib__search input { width: 100%; height: 48px; padding: 0 16px 0 44px; border-radius: 12px; border: 1.5px solid #c9d8ee; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231f5fba' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") 15px center / 18px no-repeat; font-size: 15px; }
body .ss-faq-lib__search input:focus { outline: none; border-color: #2a6bd1; box-shadow: 0 0 0 3px rgba(42, 107, 209, .15); }
body .ss-faq-lib__cats { display: grid; gap: 4px; padding: 10px; border-radius: 16px; background: #fff; border: 1px solid var(--vm-line); box-shadow: 0 16px 34px -26px rgba(16, 37, 77, .45); }
body .ss-faq-lib__cat { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 11px 14px; border: 0; border-radius: 10px; background: none; font-family: var(--vm-font-head); font-size: 14.5px; font-weight: 500; text-align: left; color: var(--vm-navy-700); cursor: pointer; transition: background .2s var(--vm-ease); }
body .ss-faq-lib__cat span { display: grid; place-items: center; min-width: 26px; height: 22px; padding: 0 7px; border-radius: 999px; background: var(--vm-sky-50); font-size: 11.5px; font-weight: 600; color: #1f5fba; }
body .ss-faq-lib__cat:hover { background: var(--vm-sky-50); }
body .ss-faq-lib__cat.is-active { background: linear-gradient(140deg, #1d4a8f, #0b2150); color: #fff; }
body .ss-faq-lib__cat.is-active span { background: var(--vm-orange); color: #fff; }
body .ss-faq-lib__help { padding: 20px; border-radius: 16px; background: radial-gradient(120% 120% at 85% 0%, #1d4a8f 0%, var(--vm-navy-800) 50%, var(--vm-navy-900) 100%); color: #c3cfe4; }
body .ss-faq-lib__help p { margin: 0 0 12px; font-size: 14px; }
body .ss-faq-lib__help .ss-faq-lib__help-title { margin-bottom: 4px; font-family: var(--vm-font-head); font-size: 17px; font-weight: 600; color: #fff; }
body .ss-faq-lib__group { margin: 26px 0 10px; font-family: var(--vm-font-head); font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--vm-orange); }
body .ss-faq-lib__group:first-child { margin-top: 0; }
body .ss-faq-lib .ss-core-faq__list { display: grid; gap: 10px; border: 0 !important; }
body .ss-faq-lib .ss-acc { border: 1px solid var(--vm-line) !important; border-radius: 14px; background: #fff; box-shadow: 0 12px 26px -22px rgba(16, 37, 77, .45); overflow: hidden; transition: border-color .2s var(--vm-ease), box-shadow .2s var(--vm-ease); }
body .ss-faq-lib .ss-acc:hover { border-color: #b9d2f3 !important; }
body .ss-faq-lib .ss-acc:has(.ss-acc__btn[aria-expanded="true"]) { border-color: #2a6bd1 !important; box-shadow: 0 18px 34px -22px rgba(16, 37, 77, .55); }
body .ss-faq-lib .ss-acc[hidden], body .ss-faq-lib__group[hidden] { display: none !important; }
body .ss-faq-lib .ss-core-faq__q { margin: 0; }
body .ss-faq-lib .ss-acc__btn { padding: 18px 22px !important; font-size: 16px !important; }
body .ss-faq-lib .ss-acc__body { padding: 0 22px 20px !important; font-size: 15px; }
body .ss-faq-lib .ss-acc__body a { color: var(--vm-green-700); font-weight: 600; }
body .ss-faq-lib__empty { margin: 16px 0 0; padding: 18px; border-radius: 14px; background: var(--vm-sky-50); text-align: center; }
@media (max-width: 900px) { body .ss-faq-lib { grid-template-columns: 1fr; } body .ss-faq-lib__rail { position: static; } body .ss-faq-lib__cats { display: flex; overflow-x: auto; } body .ss-faq-lib__cat { flex: none; } }
body .ss-core-resources__grid--cases .ss-core-resource__cover > img { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; object-fit: contain !important; }

/* Article "At a Glance" chips: readable on the light aside card */
body .ss-fx-aside .ss-fx-chip { display: inline-flex; padding: 5px 11px; border-radius: 999px; border: 1px solid #c9d8ee; background: var(--vm-sky-50); font-size: 12.5px; font-weight: 600; color: #1f5fba !important; opacity: 1 !important; }
body .ss-fx-tags { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0 0; padding: 0; list-style: none; }
body .ss-fx-tags li::before { display: none; }

/* Webinar session page */
body .ss-webinar-player { display: block; margin: 24px 0; }
body .ss-webinar-facts__label { margin: 4px 0 8px; font-family: var(--vm-font-head); font-size: 11.5px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--vm-orange); }
body .ss-webinar-facts__hosts { display: grid; gap: 8px; margin: 0 0 16px; padding: 0; list-style: none; }
body .ss-webinar-facts__hosts li { display: flex; align-items: center; gap: 10px; margin: 0; font-family: var(--vm-font-head); font-size: 14.5px; font-weight: 600; color: var(--vm-navy-700); }
body .ss-webinar-facts__hosts li::before { display: none; }
body .ss-webinar-facts__avatar { display: grid; place-items: center; flex: none; width: 36px; height: 36px; border-radius: 50%; background: linear-gradient(140deg, #2a6bd1, #0b2a5c); box-shadow: 0 0 0 2px #fff, 0 0 0 3px var(--vm-orange); font-size: 12px; color: #fff; }
body .ss-webinar-facts__list { display: grid; gap: 10px; margin: 0 0 16px; padding: 14px 0 0; border-top: 1px solid var(--vm-line); }
body .ss-webinar-facts__list div { display: flex; justify-content: space-between; gap: 12px; font-size: 14px; }
body .ss-webinar-facts__list dt { color: var(--vm-muted, #6b7a93); }
body .ss-webinar-facts__list dd { margin: 0; font-weight: 600; text-align: right; color: var(--vm-navy-700); }
body .ss-webinar-facts .ss-btn { margin-top: 16px; }

/* FAQ answer page */
body .ss-faq-single__answer { padding: 28px 30px; border-radius: 18px; background: #fff; border: 1px solid var(--vm-line); border-left: 4px solid #2f9e4f; box-shadow: 0 16px 34px -26px rgba(16, 37, 77, .45); }
body .ss-faq-single__label { margin: 0 0 10px; font-family: var(--vm-font-head); font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: #2f9e4f; }
body .ss-faq-single__answer .ss-prose { font-size: 17px; line-height: 1.7; }
body .ss-faq-single__rel-title { margin: 34px 0 14px; }
body .ss-faq-single__related { display: grid; gap: 8px; margin: 0 0 24px; padding: 0; list-style: none; }
body .ss-faq-single__related li { margin: 0; }
body .ss-faq-single__related li::before { display: none; }
body .ss-faq-single__related a { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 15px 18px; border-radius: 12px; background: #fff; border: 1px solid var(--vm-line); font-family: var(--vm-font-head); font-size: 15px; font-weight: 500; color: var(--vm-navy-700); text-decoration: none !important; transition: border-color .2s var(--vm-ease), transform .2s var(--vm-ease); }
body .ss-faq-single__related a::after { content: ""; flex: none; width: 8px; height: 8px; border-top: 2px solid var(--vm-green-700); border-right: 2px solid var(--vm-green-700); transform: rotate(45deg); }
body .ss-faq-single__related a:hover { border-color: #2a6bd1; transform: translateX(3px); }
/* Text-only heroes: titles use the width they have */
body .ss-hero--text .ss-hero__copy { max-width: 980px !important; }
body .ss-hero--text .ss-hero__title { max-width: 980px !important; }

/* ------------------------------------------------------------------ */
/* Case study story pages                                              */
/* ------------------------------------------------------------------ */
@media (min-width: 1001px) { body .ss-fx-article:has(.ss-cs-body) .ss-fx-article__aside { position: sticky; top: 150px; align-self: start; } }
body .ss-cs-body .cs-summary-card { margin: 0 0 clamp(28px, 3vw, 40px); padding: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important; }
body .ss-cs-body .cs-summary-card .wp-block-columns { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px !important; margin: 0 !important; }
body .ss-cs-body .cs-summary-card .wp-block-column { margin: 0 !important; padding: 22px 20px; border-radius: 16px; background: #fff; border: 1px solid var(--vm-line); box-shadow: 0 14px 30px -24px rgba(16, 37, 77, .45); }
body .ss-cs-body .cs-summary-card .wp-block-column:last-child { background: radial-gradient(120% 120% at 85% 0%, #1d4a8f 0%, var(--vm-navy-800) 50%, var(--vm-navy-900) 100%); border-color: transparent; }
body .ss-cs-body .cs-summary-card .wp-block-column:last-child h3 { color: #fff; }
body .ss-cs-body .cs-summary-card .wp-block-column:last-child p { color: #d5e1f5; }
body .ss-cs-body .cs-summary-card h3 { display: flex; align-items: center; gap: 12px; margin: 0 0 10px !important; font-size: 17px; }
body .ss-cs-body .cs-summary-card h3::before { content: ""; flex: none; width: 40px; height: 40px; border-radius: 12px; background: linear-gradient(140deg, #2a6bd1, #0b2a5c) center / 20px no-repeat; }
body .ss-cs-body .cs-icon-challenge::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f5a043' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 9v4M12 17h.01'/%3E%3Cpath d='M10.3 3.9 1.8 18a2 2 0 0 0 1.7 3h17a2 2 0 0 0 1.7-3L13.7 3.9a2 2 0 0 0-3.4 0z'/%3E%3C/svg%3E"), linear-gradient(140deg, #2a6bd1, #0b2a5c) !important; background-size: 20px, auto !important; background-repeat: no-repeat !important; background-position: center !important; }
body .ss-cs-body .cs-icon-impact::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e6f0ff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2 2 7l10 5 10-5-10-5z'/%3E%3Cpath d='m2 17 10 5 10-5'/%3E%3Cpath d='m2 12 10 5 10-5'/%3E%3C/svg%3E"), linear-gradient(140deg, #2a6bd1, #0b2a5c) !important; background-size: 20px, auto !important; background-repeat: no-repeat !important; background-position: center !important; }
body .ss-cs-body .cs-icon-result::before { background-image: var(--vm-tick), linear-gradient(140deg, #5cc16a, #2f9e4f) !important; background-size: 18px, auto !important; background-repeat: no-repeat !important; background-position: center !important; }
body .ss-cs-body .cs-section { margin: 0 0 clamp(26px, 3vw, 38px); }
body .ss-cs-body .cs-section h2 { display: flex; align-items: center; gap: 14px; margin: 0 0 14px !important; font-size: clamp(22px, 1.8vw, 28px); }
body .ss-cs-num { display: grid; place-items: center; flex: none; width: 42px; height: 42px; border-radius: 50%; background: linear-gradient(140deg, #2a6bd1, #0b2a5c); box-shadow: 0 0 0 4px #fff, 0 0 0 5px #d6e4f7; font-size: 14px; font-weight: 600; color: #fff; }
body .ss-cs-body .cs-checklist { display: grid; gap: 10px; margin: 16px 0 !important; padding: 0 !important; list-style: none; }
body .ss-cs-body .cs-checklist > li { position: relative; margin: 0 !important; padding: 16px 18px 16px 54px !important; border-radius: 14px; background: #fff; border: 1px solid var(--vm-line); box-shadow: 0 12px 26px -22px rgba(16, 37, 77, .45); font-size: 15px; line-height: 1.6; }
body .ss-cs-body .cs-checklist > li::before { content: "" !important; position: absolute !important; left: 18px !important; top: 18px !important; width: 22px !important; height: 22px !important; border: 0 !important; border-radius: 50%; transform: none !important; background: var(--vm-tick) center / 11px no-repeat, linear-gradient(140deg, #5cc16a, #2f9e4f) !important; }
body .ss-cs-body .cs-checklist > li strong { display: block; margin-bottom: 2px; font-family: var(--vm-font-head); font-size: 16px; font-weight: 600; color: var(--vm-navy-700); }
/* Results: three across, figures large */
body .ss-cs-body .cs-section.is-results .cs-checklist { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body .ss-cs-body .cs-section.is-results .cs-checklist > li { padding: 20px !important; background: radial-gradient(120% 120% at 85% 0%, #1d4a8f 0%, var(--vm-navy-800) 50%, var(--vm-navy-900) 100%); border-color: transparent; color: #c3cfe4; }
body .ss-cs-body .cs-section.is-results .cs-checklist > li::before { position: static !important; display: block; margin: 0 0 12px; }
body .ss-cs-body .cs-section.is-results .cs-checklist > li.has-figure::before { display: none; }
body .ss-cs-body .cs-section.is-results .cs-checklist > li strong { color: #fff; }
body .ss-cs-figure { display: block; margin: 0 0 6px; font-family: var(--vm-font-head); font-size: 40px; font-weight: 600; line-height: 1; background: linear-gradient(90deg, #7fd28a, #5cc16a); -webkit-background-clip: text; background-clip: text; color: transparent; }
@media (max-width: 760px) { body .ss-cs-body .cs-summary-card .wp-block-columns, body .ss-cs-body .cs-section.is-results .cs-checklist { grid-template-columns: 1fr; } }
/* Solutions Used */
body .ss-cs-used { margin: 8px 0 24px; padding: 24px; border-radius: 18px; background: var(--vm-sky-50); border: 1px solid #dbe6f5; }
body .ss-cs-used__title { margin: 0 0 14px; font-size: 20px; }
body .ss-cs-used__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
body .ss-cs-used__list li { margin: 0; }
body .ss-cs-used__list li::before { display: none; }
body .ss-cs-used__list a { display: flex; align-items: center; gap: 14px; height: 100%; padding: 14px 16px; border-radius: 14px; background: #fff; border: 1px solid var(--vm-line); text-decoration: none !important; transition: transform .25s var(--vm-ease), border-color .25s var(--vm-ease), box-shadow .25s var(--vm-ease); }
body .ss-cs-used__list a:hover { transform: translateY(-3px); border-color: #2a6bd1; box-shadow: 0 16px 30px -22px rgba(16, 37, 77, .5); }
body .ss-cs-used__icon { flex: none; width: 44px; height: 44px; }
body .ss-cs-used__icon img { width: 100%; height: 100%; }
body .ss-cs-used__text { display: grid; gap: 2px; }
body .ss-cs-used__text strong { font-family: var(--vm-font-head); font-size: 15px; color: var(--vm-navy-700); }
body .ss-cs-used__text span { font-size: 13px; color: var(--vm-muted, #6b7a93); }
body .ss-fx-chip--link { text-decoration: none !important; transition: background .2s var(--vm-ease), border-color .2s var(--vm-ease); }
body .ss-fx-chip--link:hover { background: #eaf2fe !important; border-color: #2a6bd1 !important; }
@media (max-width: 640px) { body .ss-cs-used__list { grid-template-columns: 1fr; } }
/* Related case studies: same artwork cards as the library, three across */
@media (min-width: 901px) { body .ss-core-resources__grid--cases.ss-cs-related { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } body .ss-core-resources__grid--cases.ss-cs-related > .ss-core-resource:first-child { grid-column: auto !important; display: flex !important; background: #fff !important; border-color: var(--vm-line) !important; } body .ss-core-resources__grid--cases.ss-cs-related > .ss-core-resource:first-child .ss-card__title { font-size: 17px; color: var(--vm-navy-700); } body .ss-core-resources__grid--cases.ss-cs-related > .ss-core-resource:first-child > .ss-core-resource__cover { min-height: 0; aspect-ratio: 16 / 9; margin: 0 0 16px !important; background: radial-gradient(120% 120% at 80% 0%, #1d4a8f 0%, var(--vm-navy-800) 50%, var(--vm-navy-900) 100%) !important; } body .ss-core-resources__grid--cases.ss-cs-related > .ss-core-resource:first-child .ss-core-resource__type::after { content: none; } }
body .ss-cs-related .ss-card__title a { color: inherit; text-decoration: none; }
body .ss-cs-related .ss-core-resource__more { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; padding-top: 10px; font-family: var(--vm-font-head); font-size: 12.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--vm-green-700); }
body .ss-cs-related .ss-core-resource__more::after { content: ""; width: 7px; height: 7px; border-top: 2px solid currentColor; border-right: 2px solid currentColor; transform: rotate(45deg); transition: transform .25s var(--vm-ease); }
body .ss-cs-related .ss-core-resource:hover .ss-core-resource__more::after { transform: translateX(4px) rotate(45deg); }
body .ss-cs-related .ss-core-resource { position: relative; transition: transform .3s var(--vm-ease), box-shadow .3s var(--vm-ease); }
body .ss-cs-related .ss-core-resource:hover { transform: translateY(-4px); box-shadow: 0 22px 40px -24px rgba(16, 37, 77, .5); }
/* No orange/blue tab marks on article cards site-wide */
body .ss-fx-card::before { display: none !important; }
@media (min-width: 761px) {
	body .ss-cs-body .cs-section.is-results .cs-checklist:has(> li:nth-child(4):last-child), body .ss-cs-body .cs-section.is-results .cs-checklist:has(> li:nth-child(2):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	body .ss-cs-used__list > li:last-child:nth-child(odd) { grid-column: 1 / -1; }
}
@media (min-width: 901px) { body .ss-core-resources__grid--cases.ss-cs-related > .ss-core-resource:first-child { padding: 18px 18px 22px !important; column-gap: 0; } }

/* Homepage hero: the platform hub graphic carries labels, so it gets real room */
@media (min-width: 1001px) {
	body.home .ss-hero .ss-hero__inner { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr) !important; }
	body.home .ss-hero .ss-hero__media img, body.home .ss-hero .ss-hero__media svg, body.home .ss-hero .ss-hero__media > * { max-height: none !important; width: 100% !important; max-width: 620px !important; }
}

/* Homepage platform orbit */
@property --orbit { syntax: '<angle>'; inherits: true; initial-value: 0deg; }
body .ss-hero__media.has-orbit { display: grid; place-items: center; }
body .ss-orbit { --r: 41%; --orbit: 0deg; position: relative; width: min(560px, 100%); aspect-ratio: 1; transition: --orbit 1s cubic-bezier(.65, 0, .35, 1); }
body .ss-orbit__ring { position: absolute; inset: 9%; border-radius: 50%; border: 1px solid rgba(143, 186, 255, .28); background: radial-gradient(circle, rgba(42, 107, 209, .25), transparent 65%); }
body .ss-orbit__ring::after { content: ""; position: absolute; inset: 17%; border-radius: 50%; border: 1px dashed rgba(143, 186, 255, .25); }
body .ss-orbit__core { position: absolute; left: 50%; top: 50%; width: 34%; aspect-ratio: 1; transform: translate(-50%, -50%); display: grid; place-items: center; border-radius: 50%; background: #fff; box-shadow: 0 0 0 8px rgba(42, 107, 209, .35), 0 0 60px rgba(42, 107, 209, .55), 0 24px 50px -20px rgba(0, 0, 0, .6); }
body .ss-orbit__core img { width: 76%; height: auto; position: relative; z-index: 1; }
body .ss-orbit__spin { position: absolute; inset: -14px; border-radius: 50%; border: 4px dashed #2f7cf0; border-color: #2f7cf0 transparent #2f7cf0 transparent; animation: ssOrbitSpin 14s linear infinite; }
@keyframes ssOrbitSpin { to { transform: rotate(360deg); } }
body .ss-orbit__tile { --ang: calc(var(--a) + var(--orbit)); position: absolute; left: 50%; top: 50%; width: 0; height: 0; transform: rotate(var(--ang)) translate(calc(min(560px, 100vw) * .41)) rotate(calc(var(--ang) * -1)); text-decoration: none !important; z-index: 2; }
body .ss-orbit__card { position: absolute; left: 0; top: 0; display: grid; justify-items: center; align-content: center; gap: 6px; width: 92px; padding: 12px 8px; border-radius: 14px; background: #fff; border: 1px solid rgba(143, 186, 255, .6); box-shadow: 0 0 0 4px rgba(42, 107, 209, .25), 0 16px 30px -14px rgba(0, 0, 0, .6); transform: translate(-50%, -50%) scale(.82); opacity: .85; transition: transform .8s cubic-bezier(.65, 0, .35, 1), opacity .5s, box-shadow .5s, width .5s; text-align: center; }
body .ss-orbit__card img { width: 28px; height: auto; }
body .ss-orbit__name { font-family: var(--vm-font-head); font-size: 10.5px; font-weight: 600; line-height: 1.2; color: var(--vm-navy-700); }
body .ss-orbit__name sup { font-size: .55em; }
body .ss-orbit__badge { display: inline-flex; padding: 2px 7px; border-radius: 999px; background: var(--vm-orange); font-family: var(--vm-font-head); font-size: 8.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: #fff; }
body .ss-orbit__tile.is-active { z-index: 3; }
body .ss-orbit__tile.is-active .ss-orbit__card { width: 150px; padding: 16px 12px; transform: translate(-50%, -50%) scale(1.15); opacity: 1; box-shadow: 0 0 0 4px var(--vm-orange), 0 0 40px rgba(241, 140, 33, .45), 0 24px 40px -14px rgba(0, 0, 0, .7); }
body .ss-orbit__tile.is-active .ss-orbit__card img { width: 40px; }
body .ss-orbit__tile.is-active .ss-orbit__name { font-size: 14px; }
body .ss-orbit__tile:focus-visible .ss-orbit__card { outline: 2px solid var(--vm-orange); outline-offset: 4px; }
@media (max-width: 1000px) { body .ss-orbit { width: min(440px, 92vw); } body .ss-orbit__tile { transform: rotate(var(--ang)) translate(calc(min(440px, 92vw) * .41)) rotate(calc(var(--ang) * -1)); } }
@media (prefers-reduced-motion: reduce) { body .ss-orbit, body .ss-orbit__card { transition: none; } body .ss-orbit__spin { animation: none; } }
body .ss-orbit { container-type: inline-size; padding: 0; }
body .ss-orbit__tile { transform: rotate(var(--ang)) translate(37cqw) rotate(calc(var(--ang) * -1)) !important; }
body .ss-orbit__card { width: 112px !important; padding: 10px 10px !important; gap: 4px !important; }
body .ss-orbit__card img { width: 22px !important; }
body .ss-orbit__name { display: none; }
body .ss-orbit__short { font-family: var(--vm-font-head); font-size: 12px; font-weight: 600; line-height: 1.2; white-space: nowrap; color: var(--vm-navy-700); }
body .ss-orbit__badge { display: none; }
body .ss-orbit__tile.is-active .ss-orbit__card { width: 176px !important; padding: 14px 14px !important; gap: 6px !important; transform: translate(-50%, -50%) scale(1.08) !important; }
body .ss-orbit__tile.is-active .ss-orbit__card img { width: 34px !important; }
body .ss-orbit__tile.is-active .ss-orbit__short { display: none; }
body .ss-orbit__tile.is-active .ss-orbit__name { display: block; font-size: 14.5px; }
body .ss-orbit__tile.is-active .ss-orbit__badge { display: inline-flex; }
body .ss-hero__media.has-orbit { padding: 40px 0; }
body.home .ss-hero .ss-hero__media .ss-orbit img { max-height: none !important; max-width: none !important; }
body.home .ss-hero .ss-hero__media .ss-orbit__card img { width: 22px !important; height: auto !important; }
body.home .ss-hero .ss-hero__media .ss-orbit__tile.is-active .ss-orbit__card img { width: 32px !important; }
body.home .ss-hero .ss-hero__media .ss-orbit__core img { width: 74% !important; height: auto !important; }
body.home .ss-hero .ss-hero__media > .ss-orbit, body.home .ss-hero .ss-hero__media .ss-orbit { width: min(540px, 100%) !important; margin-top: 48px; }

/* Homepage hub (live version of the original graphic) */
body .ss-hero__media.has-hub { display: grid; place-items: center; }
body .ss-hub { width: min(560px, 100%); }
body .ss-hub svg { display: block; width: 100%; height: auto; overflow: visible; }
body .ss-hub .hub-tile__g { transform-box: view-box; transform-origin: 0 0; }
body .ss-hub.is-live .hub-tile__g { transition: transform .9s cubic-bezier(.65, 0, .35, 1); }
body .ss-hub .hub-tile { cursor: pointer; }
body .ss-hub .hub-tile:hover .hub-tile__face, body .ss-hub .hub-tile:focus-visible .hub-tile__face { stroke: #f5a043; stroke-width: 2; }
body .ss-hub .hub-spin { transform-box: view-box; transform-origin: 500px 530px; animation: ssOrbitSpin 18s linear infinite; }
@media (prefers-reduced-motion: reduce) { body .ss-hub .hub-spin { animation: none; } body .ss-hub.is-live .hub-tile__g { transition: none; } }

/* ------------------------------------------------------------------ */
/* Mobile pass (≤760px)                                                */
/* ------------------------------------------------------------------ */
@media (max-width: 760px) {
	body .ss-split > *, body [class*="__grid"] > * { min-width: 0; }
	body .ss-core-split__grid--criteria { grid-template-columns: minmax(0, 1fr) !important; }
	body .ss-core-panel { padding-left: 18px !important; padding-right: 18px !important; }
	body .ss-co-proof__tiles, body .ss-co-proof--row .ss-co-proof__tiles { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	body .ss-co-proof--row .ss-co-proof__tile { min-height: 0; padding: 16px 10px; }
	body .ss-co-proof--row .ss-co-proof__value { font-size: 28px; }
	body .ss-co-partner__top { flex-wrap: wrap; }
	body .ss-co-partner__tag { white-space: normal; }
	body .ss-badge, body [class*="__badge"] { font-size: 10.5px !important; }
}
@media (max-width: 760px) {
	body .ss-co-proof--row .ss-co-proof__tiles { display: grid !important; overflow: visible !important; }
	body .ss-co-proof--row .ss-co-proof__tiles > * { width: auto !important; min-width: 0 !important; flex: none !important; }
	body .ss-plat-hub__diagram { grid-template-columns: minmax(0, 1fr) !important; gap: 14px !important; }
	body .ss-plat-hub__diagram > .ss-plat-hub__core { order: -1; grid-column: 1 !important; grid-row: auto !important; justify-self: center; }
	body .ss-plat-hub__diagram > .ss-plat-hub__list { grid-column: 1 !important; grid-row: auto !important; grid-template-columns: minmax(0, 1fr) !important; width: 100% !important; }
	body .ss-plat-hub__diagram::before, body .ss-plat-hub__diagram::after, body .ss-plat-hub__list::before, body .ss-plat-hub__item::before, body .ss-plat-hub__item::after { display: none !important; }
	body .ss-core-criteria__panel, body .ss-core-criteria { min-width: 0 !important; max-width: 100% !important; width: auto !important; }
	body .ss-core-criteria__rail { max-width: 100%; }
}

/* Phone carousels (main.js .m-carousel) */
@media (max-width: 760px) {
	body .m-carousel { display: flex !important; flex-wrap: nowrap !important; flex-direction: row !important; gap: 14px !important; overflow-x: auto !important; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none; margin-left: -24px !important; margin-right: -24px !important; padding: 4px 24px 14px !important; scroll-padding-inline: 24px; grid-template-columns: none !important; }
	body .m-carousel::-webkit-scrollbar { display: none; }
	body .m-carousel > * { flex: 0 0 82% !important; width: 82% !important; max-width: none !important; min-width: 0 !important; margin: 0 !important; scroll-snap-align: start; grid-column: auto !important; }
	body .m-carousel__dots { display: flex; justify-content: center; gap: 6px; margin: 4px 0 6px; }
	body .m-carousel__dots span { width: 7px; height: 7px; border-radius: 999px; background: #c9d8ee; transition: width .25s, background .25s; }
	body .m-carousel__dots span.is-on { width: 22px; background: var(--vm-orange); }
	body .ss-section--dark .m-carousel__dots span { background: rgba(255, 255, 255, .25); }
	body .ss-section--dark .m-carousel__dots span.is-on { background: var(--vm-orange); }
	/* Short checklists: two across instead of a tall single column */
	body .ss-checklist:not(:has(> li:nth-child(9))) { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; gap: 8px !important; }
	body .ss-checklist > li { font-size: 13.5px !important; }
	body .ss-checklist > li:last-child:nth-child(odd) { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
	body .m-carousel__ctrl { display: flex; align-items: center; justify-content: center; gap: 14px; margin: 6px 0 8px; }
	body .m-carousel__ctrl .m-carousel__dots { margin: 0; }
	body .m-carousel__arrow { position: relative; flex: none; width: 38px; height: 38px; border-radius: 50%; border: 1.5px solid #c9d8ee; background: #fff; box-shadow: 0 6px 14px -8px rgba(16, 37, 77, .4); cursor: pointer; transition: background .2s, border-color .2s, opacity .2s; }
	body .m-carousel__arrow::before { content: ""; position: absolute; left: 50%; top: 50%; width: 9px; height: 9px; border-top: 2px solid var(--vm-navy-700); border-right: 2px solid var(--vm-navy-700); transform: translate(-65%, -50%) rotate(45deg); }
	body .m-carousel__arrow--prev::before { transform: translate(-35%, -50%) rotate(-135deg); }
	body .m-carousel__arrow:not(:disabled):active { background: var(--vm-sky-50); border-color: #2a6bd1; }
	body .m-carousel__arrow:disabled { opacity: .35; }
	body .ss-section--dark .m-carousel__arrow { background: rgba(255, 255, 255, .08); border-color: rgba(143, 186, 255, .35); }
	body .ss-section--dark .m-carousel__arrow::before { border-color: #fff; }
}
@media (max-width: 760px) {
	body .ss-res-shelf__grid { grid-template-columns: minmax(0, 1fr) !important; gap: 12px !important; }
	body .ss-res-book { grid-template-columns: 84px minmax(0, 1fr) !important; gap: 14px !important; padding: 14px !important; }
	body .ss-res-book__cover { width: 84px !important; }
	body .ss-res-book__body { min-width: 0; }
	body .ss-res-book .ss-btn, body .ss-res-book [class*="__cta"] { white-space: normal; }
}
@media (max-width: 760px) { body .m-carousel { max-width: none; width: auto !important; } body .ss-fx-pagination ul { flex-wrap: wrap; justify-content: center; } }

/* Phones: pill rows, collapsed lists, trimmed intros */
@media (max-width: 760px) {
	body .m-more-hidden { display: none !important; }
	body .m-more-btn, body .m-clamp-btn { display: inline-flex; align-items: center; gap: 8px; margin: 12px 0 0; padding: 9px 16px; border-radius: 999px; border: 1.5px solid #c9d8ee; background: #fff; font-family: var(--vm-font-head); font-size: 13px; font-weight: 600; color: var(--vm-navy-700); cursor: pointer; }
	body .m-more-btn::after { content: ""; width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-2px) rotate(45deg); }
	body .m-more-btn[aria-expanded="true"]::after { transform: translateY(2px) rotate(-135deg); }
	body .ss-section--dark .m-more-btn, body .ss-section--dark .m-clamp-btn, body .ss-band .m-clamp-btn { background: rgba(255, 255, 255, .08); border-color: rgba(143, 186, 255, .35); color: #fff; }
	body .m-clamp:not(.is-open) { display: -webkit-box !important; -webkit-box-orient: vertical; -webkit-line-clamp: 6; overflow: hidden; }
	body .m-clamp:not(.is-open) > p + p { display: none; }
	body .m-clamp-btn { padding: 6px 14px; font-size: 12.5px; }
	body [class*="center"] + .m-clamp-btn, body .ss-head--center ~ .m-clamp-btn, body .ss-head__text.m-clamp + .m-clamp-btn { margin-left: auto; margin-right: auto; display: flex; width: fit-content; }
}
@media (max-width: 760px) {
	/* Heroes: compact on phones - shorter art, trimmed lede, buttons side by side when they fit */
	body .ss-hero .ss-hero__media img, body .ss-hero .ss-hero__media svg { max-height: 210px !important; width: auto !important; margin: 0 auto; }
	/* Full first paragraph on phones (a 5-line clamp cut sentences mid-word); later paragraphs stay hidden. */
	body .ss-hero .ss-hero__text > p + p { display: none; }
	body .ss-hero .ss-hero__buttons, body .ss-hero .ss-hero__buttons.is-stacked { flex-direction: row !important; flex-wrap: wrap !important; gap: 10px !important; }
	body .ss-hero .ss-hero__buttons .ss-btn { flex: 1 1 auto; min-height: 44px; padding-left: 16px !important; padding-right: 16px !important; font-size: 12px !important; }
	body.home .ss-hero .ss-hero__media .ss-hub { width: min(320px, 90vw) !important; }
	/* Expert cards: short bio, areas as a swipe row */
	body .ss-res-expert__bio { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; overflow: hidden; }
	body .ss-res-expert__areas { display: flex !important; flex-wrap: nowrap !important; gap: 6px; overflow-x: auto; scrollbar-width: none; }
	body .ss-res-expert__areas > * { flex: none; white-space: nowrap; }
}
@media (max-width: 760px) {
	body .ss-hero .ss-hero__text.is-open, body .m-clamp.is-open { display: block !important; -webkit-line-clamp: unset !important; overflow: visible !important; }
	body .ss-hero .ss-hero__text.is-open > p + p, body .m-clamp.is-open > p + p { display: block !important; }
	body .ss-hero .m-clamp-btn { margin: 4px 0 14px; }
}

@media (max-width: 760px) {
	/* "+N more" pill */
	body .m-pill-more { list-style: none; display: inline-flex; margin: 0; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; }
	body .m-pill-more::before { display: none !important; }
	body .m-pill-more button { padding: 7px 14px; border-radius: 999px; border: 1.5px dashed #2a6bd1; background: #fff; font-family: var(--vm-font-head); font-size: 12.5px; font-weight: 600; color: #1f5fba; cursor: pointer; }
	body .ss-section--dark .m-pill-more button { background: rgba(255, 255, 255, .08); border-color: rgba(143, 186, 255, .6); color: #fff; }
	/* Filters and tab rails as a dropdown */
	body .m-filter-chips { display: none !important; }
	body .m-filter-select { position: relative; display: block; margin: 0 0 18px; }
	body .m-filter-select::after { content: ""; position: absolute; right: 18px; top: 50%; width: 8px; height: 8px; border-right: 2px solid var(--vm-navy-700); border-bottom: 2px solid var(--vm-navy-700); transform: translateY(-70%) rotate(45deg); pointer-events: none; }
	body .m-filter-select select { width: 100%; height: 50px; padding: 0 44px 0 16px; border-radius: 12px; border: 1.5px solid #c9d8ee; background: #fff; font-family: var(--vm-font-head); font-size: 15px; font-weight: 600; color: var(--vm-navy-700); -webkit-appearance: none; appearance: none; box-shadow: 0 10px 22px -18px rgba(16, 37, 77, .45); }
	body .ss-section--dark .m-filter-select select { background: rgba(255, 255, 255, .08); border-color: rgba(143, 186, 255, .35); color: #fff; }
	body .ss-section--dark .m-filter-select select option { color: #0b2150; }
	body .ss-section--dark .m-filter-select::after { border-color: #fff; }
}
@media (max-width: 760px) {
	body .ss-head__text.m-clamp:not(.is-open) { -webkit-line-clamp: 4; }
	/* Card copy inside phone carousels: 4 lines, cards stay a sensible height */
	body .m-carousel > * p:not([class*="type"]):not([class*="meta"]):not([class*="eyebrow"]):not([class*="label"]) { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; overflow: hidden; }
	/* Small value lists: two across */
	body .ss-res-pillars, body .ss-res-pillars > ul { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; }
	body .ss-res-pillars [class*="text"] { font-size: 13px; }
}
@media (max-width: 760px) {
	body .m-compare-toggle { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; margin: 0 0 14px; padding: 4px; border-radius: 14px; background: #e8f0fb; }
	body .m-compare-toggle button { min-height: 44px; padding: 8px 10px; border: 0; border-radius: 10px; background: none; font-family: var(--vm-font-head); font-size: 12.5px; font-weight: 600; line-height: 1.25; color: var(--vm-navy-700); cursor: pointer; }
	body .m-compare-toggle button.is-on { background: linear-gradient(140deg, #1d4a8f, #0b2150); color: #fff; box-shadow: 0 8px 18px -10px rgba(11, 33, 80, .7); }
	body .m-compare thead { display: none !important; }
	body .m-compare, body .m-compare tbody { display: block !important; width: 100% !important; }
	body .m-compare tr { display: block !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-bottom: 1px solid var(--vm-line) !important; background: none !important; box-shadow: none !important; }
	body .m-compare th[scope="row"] { display: block !important; padding: 12px 4px 2px !important; font-size: 14px !important; text-align: left !important; background: none !important; }
	body .m-compare td { display: block !important; padding: 10px 4px !important; border: 0 !important; background: none !important; font-size: 14px !important; text-align: left !important; }
	body .m-compare td::before { display: none !important; }
	body .m-compare th[scope="row"] + td { padding-top: 2px !important; }
	body .m-compare.m-compare--b tr > td:nth-last-child(2) { display: none !important; }
	body .m-compare.m-compare--a tr > td:last-child { display: none !important; }
	/* Flow steps two across */
	body .ss-prodb-flow--flow { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; }
	body .ss-prodb-flow--flow > :last-child:nth-child(odd) { grid-column: 1 / -1; }
	body .ss-prodb-flow--flow .ss-prodb-stage__text { font-size: 13px; }
}

/* Phone heroes: everything centred, Read more on its own line under the copy */
@media (max-width: 760px) {
	body .ss-hero .ss-hero__inner { text-align: center !important; justify-items: center !important; }
	body .ss-hero .ss-hero__copy { display: flex !important; flex-direction: column; align-items: center !important; text-align: center !important; }
	body .ss-hero .ss-hero__meta { justify-content: center !important; flex-wrap: wrap; }
	body .ss-hero .ss-hero__title, body .ss-hero .ss-hero__text, body .ss-hero .ss-lead, body .ss-hero [class*="__tagline"], body .ss-hero .ss-eyebrow { text-align: center !important; margin-left: auto !important; margin-right: auto !important; }
	body .ss-hero .ss-hero__text { display: -webkit-box; }
	body .ss-hero .m-clamp-btn { display: flex !important; align-self: center; width: fit-content; margin: 2px auto 16px !important; }
	body .ss-hero .ss-hero__buttons, body .ss-hero .ss-hero__buttons.is-stacked { justify-content: center !important; width: 100% !important; }
	body .ss-hero .ss-hero__buttons .ss-btn { flex: 1 1 100% !important; justify-content: center; }
	body .ss-hero .ss-core-hero__logo, body .ss-hero [class*="hero__logo"] { margin-left: auto !important; margin-right: auto !important; justify-content: center; display: flex; }
	body .ss-hero .ss-core-hero__stats { margin-left: auto !important; margin-right: auto !important; }
	body .ss-hero .ss-hero__media { justify-self: center; margin: 0 auto; }
	body .ss-hero [class*="badges"], body .ss-hero [class*="__apps"], body .ss-hero [class*="store"] { justify-content: center !important; }
	body .ss-hero .ss-core-hero__promo, body .ss-hero [class*="__promo"] { text-align: left; width: 100%; }
}

/* Covers and thumbnails never crop: artwork sits inside its frame */
body .ss-core-resource__cover { position: relative; overflow: hidden; }
body .ss-core-webinar__thumb { aspect-ratio: 16 / 9 !important; }
body .ss-core-webinar__thumb img { object-fit: cover !important; object-position: center !important; }
@media (max-width: 900px) {
	body .ss-core-resource__cover > img { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; object-fit: contain !important; }
	body .ss-core-resources__grid--papers .ss-core-resource__cover { width: 58% !important; aspect-ratio: 3 / 4 !important; margin: 0 auto 16px !important; border-radius: 10px; box-shadow: 0 16px 28px -16px rgba(7, 21, 51, .6); }
	body .ss-core-resources__grid--papers .ss-core-resource__cover > img { padding: 0 !important; object-fit: cover !important; }
	body .ss-core-resources__grid--papers > .ss-core-resource:first-child { background: #fff !important; }
	body .ss-core-resources__grid--papers > .ss-core-resource:first-child .ss-card__title { color: var(--vm-navy-700) !important; }
	body .ss-core-resources__grid--papers > .ss-core-resource:first-child .ss-core-resource__text { color: inherit !important; }
}
@media (max-width: 760px) {
	body .m-acc:not(.is-open) .m-acc__body { display: none; }
	body .m-acc .ss-head { margin-bottom: 0 !important; }
	body .m-acc__toggle { display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; margin: 18px 0 0; padding: 13px 18px; border-radius: 12px; border: 1.5px solid #c9d8ee; background: #fff; font-family: var(--vm-font-head); font-size: 14px; font-weight: 600; color: var(--vm-navy-700); box-shadow: 0 10px 22px -18px rgba(16, 37, 77, .45); cursor: pointer; }
	body .m-acc__toggle::after { content: ""; width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform .25s var(--vm-ease); }
	body .m-acc.is-open .m-acc__toggle::after { transform: translateY(2px) rotate(-135deg); }
	body .m-acc.is-open .m-acc__toggle { margin-bottom: 18px; }
	body .ss-section--dark .m-acc__toggle, body .ss-band .m-acc__toggle { background: rgba(255, 255, 255, .08); border-color: rgba(143, 186, 255, .35); color: #fff; }
	body .m-acc .m-acc__body { animation: ssPtabIn .35s var(--vm-ease); }
	body .m-acc { padding-bottom: 40px !important; }
}
@media (max-width: 760px) {
	body .ss-hero .ss-hero__copy { display: block !important; text-align: center !important; }
	body .ss-hero .ss-hero__copy > * { margin-left: auto !important; margin-right: auto !important; max-width: 100% !important; }
	body .ss-hero .ss-hero__meta { display: flex !important; flex-direction: column; align-items: center; gap: 10px; }
	body .ss-hero .ss-core-crumbs, body .ss-hero .ss-crumbs { max-width: 100%; }
	body .ss-hero .ss-crumbs { display: flex !important; flex-wrap: nowrap !important; overflow: hidden; white-space: nowrap; width: fit-content; max-width: 100%; }
	body .ss-hero .ss-crumbs li { flex: none; white-space: nowrap; }
	body .ss-hero .ss-crumbs li:last-child { flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
	body .ss-hero .ss-crumbs li:last-child > * { overflow: hidden; text-overflow: ellipsis; display: block; }
	body .ss-hero .ss-hero__buttons, body .ss-hero .ss-hero__buttons.is-stacked { display: flex !important; }
	body .ss-hero .ss-core-hero__stats { display: grid !important; }
}
@media (max-width: 760px) {
	body .ss-hero .ss-hero__inner { justify-items: stretch !important; }
	body .ss-hero .ss-hero__copy { width: 100% !important; justify-self: stretch !important; }
	body .ss-hero .ss-hero__media { justify-self: center !important; }
}
/* Phone breadcrumb: a single back link to the parent page */
@media (max-width: 760px) {
	body .ss-hero .ss-crumbs li { display: none !important; }
	body .ss-hero .ss-crumbs li:nth-last-child(2) { display: inline-flex !important; align-items: center; }
	body .ss-hero .ss-crumbs li:nth-last-child(2)::before { content: "" !important; display: inline-block !important; width: 7px; height: 7px; margin: 0 9px 0 2px; border-left: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); background: none !important; position: static !important; }
	body .ss-hero .ss-crumbs li:nth-last-child(2)::after { display: none !important; }
	body .ss-hero .ss-crumbs li:only-child { display: inline-flex !important; }
}
@media (max-width: 760px) {
	body .ss-hero .ss-core-hero__stats li { align-items: center !important; text-align: center !important; justify-items: center; }
	body .ss-hero .ss-core-hero__stats li::before { margin-left: auto !important; margin-right: auto !important; }
}
/* Homepage hub graphic: full size at every width */
body.home .ss-hero .ss-hero__media .ss-hub svg { max-height: none !important; width: 100% !important; height: auto !important; }
@media (max-width: 760px) { body.home .ss-hero .ss-hero__media, body.home .ss-hero .ss-hero__media .ss-hub { width: 100% !important; max-width: 420px !important; justify-self: center; } body.home .ss-hero .ss-hero__media { margin: 8px auto 0 !important; } }
@media (min-width: 1001px) { body.home .ss-hero .ss-hero__media .ss-hub { width: min(600px, 100%) !important; } }
@media (max-width: 900px) {
	body .ss-fx-feature--fallback, body .ss-fx-feature { height: auto !important; max-height: none !important; overflow: visible !important; }
	body .ss-fx-feature--fallback.has-media { overflow: hidden !important; }
	body .ss-fx-feature--fallback.has-media > * { min-height: 0; }
	body .ss-fx-feature__main { min-width: 0; }
}
@media (max-width: 760px) { body .ss-proda-chips { flex-wrap: wrap !important; max-width: 100%; } body .ss-proda-chip { white-space: normal !important; max-width: 100%; } }

/* Orchestration Layer graphic: no numbered pins on the art, no matching numbers on the cards */
body .ss-prodb-spot { display: none !important; }
body .ss-prodb-hotspots__item::before { display: none !important; content: none !important; }
/* Phone step titles wrap inside their card */
@media (max-width: 760px) { body .ss-prodb-stage__title { overflow-wrap: anywhere; word-break: break-word; hyphens: auto; font-size: 15px !important; } body .ss-prodb-stage { min-width: 0; } }

/* Phone: lifecycle stages become a compact numbered timeline; details open on tap instead of stretching every card */
@media (max-width: 760px) {
	body .ss-prodb-flow--stages { grid-template-columns: 1fr !important; gap: 10px !important; max-width: none !important; }
	body .ss-prodb-flow--stages > .ss-prodb-stage { display: grid !important; grid-template-columns: 44px minmax(0, 1fr); column-gap: 14px; row-gap: 2px; align-items: start; padding: 14px 16px !important; overflow: visible !important; }
	body .ss-prodb-flow--stages > .ss-prodb-stage::before, body .ss-prodb-flow--stages > .ss-prodb-stage::after { display: none !important; }
	body .ss-prodb-flow--stages .ss-prodb-stage__head { grid-column: 1; grid-row: 1 / span 3; margin: 0 !important; }
	body .ss-prodb-flow--stages .ss-prodb-stage__icon { width: 44px; height: 44px; border-radius: 12px; }
	body .ss-prodb-flow--stages .ss-prodb-stage__icon svg { width: 20px; height: 20px; }
	body .ss-prodb-flow--stages .ss-prodb-stage__num { width: 22px; height: 22px; top: -7px; right: -9px; font-size: 10px; }
	body .ss-prodb-flow--stages .ss-prodb-stage__title { grid-column: 2; font-size: 16px !important; line-height: 1.3; overflow-wrap: normal; word-break: normal; }
	body .ss-prodb-flow--stages .ss-prodb-stage__btn { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 10px; }
	body .ss-prodb-flow--stages .ss-prodb-stage__btn::before { content: ""; position: absolute; inset: 0; z-index: 1; }
	body .ss-prodb-flow--stages .ss-prodb-stage__btn::after { content: "+"; flex: 0 0 auto; display: grid; place-items: center; width: 24px; height: 24px; margin: 0; padding: 0; border-radius: 50%; font-size: 15px; letter-spacing: 0; line-height: 1; transition: transform .25s var(--vm-ease); }
	body .ss-prodb-flow--stages > .ss-prodb-stage.is-open .ss-prodb-stage__btn::after { transform: rotate(45deg); background: var(--vm-orange); border-color: var(--vm-orange); color: #fff; }
	body .ss-prodb-flow--stages .ss-prodb-stage__text { grid-column: 2; font-size: 13.5px; line-height: 1.5; }
	body .ss-prodb-flow--stages .ss-prodb-stage__pop { grid-column: 1 / -1; position: static !important; display: none !important; margin: 10px 0 0 !important; padding: 12px 14px !important; border: 0 !important; border-left: 3px solid var(--vm-orange) !important; border-radius: 10px !important; background: var(--vm-sky-50, #f2f7fd) !important; color: var(--vm-text) !important; font-size: 13.5px !important; line-height: 1.55; opacity: 1 !important; visibility: visible !important; transform: none !important; box-shadow: none !important; }
	body .ss-prodb-flow--stages .ss-prodb-stage__pop::before { display: none !important; }
	body .ss-prodb-flow--stages > .ss-prodb-stage.is-open .ss-prodb-stage__pop { display: block !important; }
	body .ss-prodb-flow--stages > .ss-prodb-stage:hover { transform: none; }
}

/* Phone: tall-card cleanup */
@media (max-width: 760px) {
	/* carousel cards share one height, so no ragged gap above the arrows */
	body .m-carousel { align-items: stretch !important; }
	body .m-carousel > * { height: auto !important; align-self: stretch !important; }
	/* capability cards: link wraps inside the card */
	body .ss-plat-cap :is(a, [class*="__cue"], [class*="__link"]) { white-space: normal !important; max-width: 100%; overflow-wrap: anywhere; }
	body .ss-plat-cap { padding-left: 20px !important; padding-right: 20px !important; }
	/* enterprise applications inside the architecture stack: icon + title rows in a carousel */
	body .ss-plat-stack__apps.m-carousel > .ss-plat-app { flex-direction: column !important; align-items: flex-start !important; gap: 10px !important; }
	body .ss-plat-stack__apps.m-carousel .ss-plat-app__icon { width: 56px !important; height: 56px !important; }
	/* service ladder: only the active stage takes up room */
	body .ss-svc-ladder__panel[hidden] { display: none !important; }
	body .ss-svc-ladder__panel { align-content: start !important; }
	/* company honors: icon beside the text instead of stacked on top */
	body .ss-co-honors__list { gap: 10px !important; }
	body .ss-co-honor { display: grid !important; grid-template-columns: 48px minmax(0, 1fr); column-gap: 14px; row-gap: 2px; align-items: start; padding: 14px 16px !important; text-align: left !important; }
	body .ss-co-honor__mark { grid-column: 1; grid-row: 1 / span 2; margin: 0 !important; }
	body .ss-co-honor__icon { width: 48px !important; height: 48px !important; }
	body .ss-co-honor__program, body .ss-co-honor__title { grid-column: 2; margin: 0 !important; }
	body .ss-co-honor__title { font-size: 15px !important; }
}
@media (max-width: 760px) {
	body .m-clamp-btn { align-self: flex-start; width: auto !important; }
	body .m-clamp-btn.m-clamp-btn--dark { background: rgba(255, 255, 255, .08) !important; border-color: rgba(143, 186, 255, .35) !important; color: #fff !important; }
}
@media (max-width: 760px) {
	/* platform pills inside the dark tab panel: tighter rows */
	body .ss-proda-ptabs__panel .ss-proda-pills { gap: 6px !important; }
	body .ss-proda-ptabs__panel .ss-proda-pill { padding: 8px 12px !important; font-size: 13.5px !important; line-height: 1.35; }
	/* artwork inside tab panels stays a supporting size */
	body :is(.ss-svc-tabs__panel, .ss-sol-show__panel) img { max-height: 190px !important; width: auto !important; max-width: 100% !important; object-fit: contain; margin-left: auto; margin-right: auto; }
	body .ss-core-resource__cover { max-height: 150px; }
}

/* Phone "Read more": a quiet text link in the site's link style, not a pill button */
@media (max-width: 760px) {
	body .m-clamp-btn, body .m-clamp-btn.m-clamp-btn--dark, body .ss-hero .m-clamp-btn { display: inline-flex !important; align-items: center; gap: 7px; width: auto !important; min-height: 0 !important; margin: 8px 0 4px !important; padding: 4px 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; font-family: var(--vm-font-head); font-size: 12.5px !important; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; line-height: 1.2; color: var(--vm-green-700) !important; cursor: pointer; }
	body .m-clamp-btn::after { content: ""; width: 6px; height: 6px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform .25s var(--vm-ease); }
	body .m-clamp-btn[aria-expanded="true"]::after { transform: translateY(1px) rotate(-135deg); }
	body .m-clamp-btn.m-clamp-btn--dark, body .ss-section--dark .m-clamp-btn, body .ss-band .m-clamp-btn, body .ss-hero .m-clamp-btn { color: var(--vm-orange) !important; }
	body .ss-hero .m-clamp-btn, body [class*="center"] + .m-clamp-btn, body .ss-head--center ~ .m-clamp-btn, body .ss-head__text.m-clamp + .m-clamp-btn { display: flex !important; width: fit-content !important; margin: 6px auto 14px !important; align-self: center; }
	body .m-clamp-btn:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
	/* softer cut-off than a hard ellipsis line */
	body .m-clamp:not(.is-open) { -webkit-mask-image: linear-gradient(180deg, #000 70%, transparent); mask-image: linear-gradient(180deg, #000 70%, transparent); }
}
body .m-clamp-group > p:not(:last-child) { margin-bottom: 1em; }

/* Business Outcomes: tiles with a check mark, not dots inside pills */
body .ss-svc-mat__outcomes .ss-svc-chips--dot { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; margin-top: 22px; }
body .ss-svc-mat__outcomes .ss-svc-chips--dot li { display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 12px; padding: 20px 16px 18px; border-radius: 14px; background: #fff; border: 1px solid var(--vm-line); box-shadow: 0 14px 28px -24px rgba(14, 43, 84, .5); font-size: 14.5px; font-weight: 600; line-height: 1.35; color: var(--vm-ink); text-align: center; transition: transform .3s var(--vm-ease), border-color .3s var(--vm-ease); }
body .ss-svc-mat__outcomes .ss-svc-chips--dot li::before { width: 34px; height: 34px; border-radius: 50%; background: var(--vm-tick) center / 16px no-repeat, linear-gradient(140deg, #5cc16a, #2f9e4f); box-shadow: 0 8px 16px -8px rgba(47, 158, 79, .7); }
body .ss-svc-mat__outcomes .ss-svc-chips--dot li:hover { transform: translateY(-3px); border-color: rgba(63, 174, 73, .45); }
@media (max-width: 1100px) { body .ss-svc-mat__outcomes .ss-svc-chips--dot { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* Check lists inside dark panels: plain rows, no pill or box around each line */
body .ss-svc-tabs__ideal ul { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 22px !important; }
body .ss-svc-tabs__ideal li { display: grid !important; grid-template-columns: 20px minmax(0, 1fr); align-items: start; column-gap: 10px; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; font-size: 14.5px; line-height: 1.4; transform: none !important; }
body .ss-svc-tabs__ideal li::before { width: 20px !important; height: 20px !important; margin-top: 0; }
body .ss-svc-ladder__list { gap: 12px 22px !important; }
body .ss-svc-ladder__list li { padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; align-items: start !important; transform: none !important; }
body .ss-proda-ptabs__panel .ss-proda-pills { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 24px !important; }
body .ss-proda-ptabs__panel .ss-proda-pill { align-items: flex-start !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; transform: none !important; line-height: 1.4; }
body .ss-proda-ptabs__panel .ss-proda-pill::before { width: 20px !important; height: 20px !important; }

@media (max-width: 760px) {
	body .ss-svc-mat__outcomes { text-align: left; }
	body .ss-svc-mat__outcomes .ss-svc-chips--dot { grid-template-columns: 1fr; gap: 8px; }
	body .ss-svc-mat__outcomes .ss-svc-chips--dot li { flex-direction: row; align-items: center; gap: 12px; padding: 12px 14px; text-align: left; font-size: 14px; }
	body .ss-svc-mat__outcomes .ss-svc-chips--dot li::before { width: 26px; height: 26px; background-size: 13px, auto; flex: none; }
	body .ss-svc-tabs__ideal ul, body .ss-proda-ptabs__panel .ss-proda-pills { grid-template-columns: 1fr; }
	body .ss-proda-ptabs__panel .ss-proda-pill { font-size: 14px !important; }
	/* contact headquarters: one column, text wraps at words */
	body .ss-co-hq__actions { grid-template-columns: 1fr !important; gap: 10px; }
	body .ss-co-hq__action, body .ss-co-hq__action--visit { grid-column: auto !important; flex-direction: row !important; align-items: flex-start; gap: 14px; padding: 16px !important; min-width: 0; }
	body .ss-co-hq__body { min-width: 0; }
	body .ss-co-hq__action--visit .ss-co-hq__value, body .ss-co-office__address { white-space: normal !important; }
	body .ss-co-hq__value { overflow-wrap: normal !important; word-break: normal !important; font-size: 14.5px; }
	body .ss-co-hq__label, body .ss-co-hq__cue { white-space: nowrap; }
}

/* Product chips: a clean check list instead of dots inside pills */
body .ss-proda-chips { gap: 10px 26px !important; }
body .ss-proda-chip { display: inline-flex !important; align-items: center; gap: 10px; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; font-size: 15px; font-weight: 600; color: var(--vm-ink); }
body .ss-proda-chip::before { width: 22px !important; height: 22px !important; border-radius: 50%; background: var(--vm-tick) center / 11px no-repeat, linear-gradient(140deg, #5cc16a, #2f9e4f) !important; box-shadow: 0 6px 12px -6px rgba(47, 158, 79, .7); }
body .ss-section--dark .ss-proda-chip { background: none !important; color: #fff; }
body .ss-proda-chips--left:has(> :nth-child(4):last-child) { gap: 12px 30px !important; }
@media (max-width: 760px) {
	body .ss-proda-chips, body .ss-proda-chips--left:has(> :nth-child(4):last-child) { display: grid !important; grid-template-columns: 1fr !important; justify-items: start; gap: 10px !important; }
	body .ss-proda-chip { font-size: 14.5px; }
}
@media (max-width: 760px) {
	body .ss-proda-chips:not(.ss-proda-chips--left) { grid-template-columns: repeat(2, max-content) !important; justify-content: center; column-gap: 26px !important; }
}

/* Solution / service cards: artwork centred the same way in every card; chips line up with the left-aligned copy */
body .ss-svc-sol__media { display: flex !important; align-items: center !important; justify-content: center !important; }
body .ss-svc-sol__media .vm-flow { display: flex; align-items: center; justify-content: center; height: auto !important; max-height: 100%; }
body .ss-svc-sol--c2 .ss-svc-sol__media img, body .ss-svc-sol--c2 .ss-svc-sol__media .vm-flow > img { height: auto !important; max-height: 190px; width: auto; max-width: 100%; }
body .ss-svc-sol__card .ss-svc-chips { justify-content: flex-start !important; margin-left: 0; }

/* Check lists: tick + text in a clean grid, no box or pill around each line */
body .ss-checklist--light:has(> li:nth-child(6):last-child) { gap: 12px 28px !important; }
body .ss-checklist--light:has(> li:nth-child(6):last-child) > li { align-items: flex-start; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; transform: none !important; line-height: 1.4; }
body .ss-checklist--light:has(> li:nth-child(6):last-child) > li::before { width: 22px !important; height: 22px !important; }
@media (max-width: 760px) {
	body .ss-checklist > li { padding-top: 0 !important; padding-bottom: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; border-radius: 0 !important; }
	body .ss-checklist:not(:has(> li:nth-child(9))) { gap: 10px 18px !important; }
	body .ss-checklist > li:last-child:nth-child(odd) { grid-column: auto; }
	/* a switched tab or criteria panel only takes the room it needs */
	main [hidden] { display: none !important; }
}

/* Phone partners: one compact row per partner (mark, name + type, short line), whole row is the link */
@media (max-width: 760px) {
	body .ss-co-partners__grid { display: grid !important; grid-template-columns: 1fr !important; gap: 10px !important; }
	body .ss-co-partner.ss-co-partner--v2 { display: grid !important; grid-template-columns: 44px minmax(0, 1fr) 16px; grid-template-areas: "mark name ext" "mark tag ext" "mark text ext"; column-gap: 14px; row-gap: 3px; align-items: start; padding: 14px 16px !important; min-height: 0 !important; height: auto !important; }
	body .ss-co-partner--v2 .ss-co-partner__top { display: contents; }
	body .ss-co-partner--v2 .ss-co-partner__mark { grid-area: mark; width: 44px !important; height: 44px !important; font-size: 14px !important; margin: 0 !important; }
	body .ss-co-partner--v2 .ss-co-partner__name { grid-area: name; margin: 0 !important; font-size: 16px !important; }
	body .ss-co-partner--v2 .ss-co-partner__tag { grid-area: tag; justify-self: start; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; font-size: 10.5px !important; white-space: nowrap; }
	body .ss-co-partner--v2 .ss-co-partner__text { grid-area: text; margin: 4px 0 0 !important; font-size: 13.5px !important; line-height: 1.45; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
	body .ss-co-partner--v2 .ss-co-partner__cue { grid-area: ext; align-self: center; margin: 0 !important; padding: 0 !important; font-size: 0 !important; gap: 0 !important; }
	body .ss-co-partner--v2 .ss-co-partner__cue .ss-co-partner__ext { margin: 0 !important; }
}

/* Two-up solution cards: artwork on top, copy underneath */
body .ss-svc-sol--c2 .ss-svc-sol__card { flex-direction: column !important; }
body .ss-svc-sol--c2 .ss-svc-sol__media { flex: none !important; width: 100%; height: 230px !important; min-height: 0 !important; padding: 22px 24px 10px !important; background: radial-gradient(60% 75% at 50% 60%, rgba(79, 143, 232, .2), transparent 70%), linear-gradient(180deg, #eef5fe, rgba(243, 249, 255, 0)) !important; }
body .ss-svc-sol--c2 .ss-svc-sol__media img, body .ss-svc-sol--c2 .ss-svc-sol__media .vm-flow > img { max-height: 196px !important; }
body .ss-svc-sol--c2 .ss-svc-sol__body { padding: 18px 32px 30px !important; }
@media (max-width: 760px) { body .ss-svc-sol--c2 .ss-svc-sol__media { height: 180px !important; } body .ss-svc-sol--c2 .ss-svc-sol__media img, body .ss-svc-sol--c2 .ss-svc-sol__media .vm-flow > img { max-height: 150px !important; } body .ss-svc-sol--c2 .ss-svc-sol__body { padding: 16px 20px 22px !important; } }
@media (max-width: 760px) {
	body .m-more-btn { display: inline-flex !important; align-items: center; gap: 7px; margin: 12px 0 0 !important; padding: 4px 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; font-family: var(--vm-font-head); font-size: 12.5px !important; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--vm-green-700) !important; }
	body .m-more-btn::after { width: 6px !important; height: 6px !important; }
	body .ss-section--dark .m-more-btn, body .ss-band .m-more-btn { color: var(--vm-orange) !important; }
}

@media (max-width: 760px) {
	/* stacked icon cards (not carousels): icon beside the copy, so each card is a compact row */
	body .ss-core-cards__grid:not(.m-carousel) > .ss-core-card.has-icon { display: grid !important; grid-template-columns: 48px minmax(0, 1fr); column-gap: 16px; row-gap: 4px; align-items: start; padding: 18px !important; text-align: left !important; }
	body .ss-core-cards__grid:not(.m-carousel) > .ss-core-card.has-icon > .ss-core-card__top { grid-column: 1; grid-row: 1 / span 4; margin: 0 !important; }
	body .ss-core-cards__grid:not(.m-carousel) > .ss-core-card.has-icon > :not(.ss-core-card__top) { grid-column: 2; margin-top: 0 !important; }
	body .ss-core-cards__grid:not(.m-carousel) > .ss-core-card.has-icon .ss-core-card__icon { width: 48px !important; height: 48px !important; margin: 0 !important; }
	body .ss-core-cards__grid:not(.m-carousel) > .ss-core-card.has-icon .ss-card__title { font-size: 17px !important; margin-bottom: 2px !important; }
	body .ss-core-cards__grid:not(.m-carousel) { gap: 10px !important; }
	/* hiring / process steps: numbered timeline with the line running through the numbers */
	body .ss-core-steps__list { display: grid !important; grid-template-columns: 1fr !important; gap: 0 !important; }
	body .ss-core-step { position: relative; display: grid !important; grid-template-columns: 44px minmax(0, 1fr); column-gap: 14px; align-items: start; padding: 0 0 14px !important; text-align: left !important; }
	body .ss-core-step::before, body .ss-core-step::after { content: none !important; display: none !important; }
	body .ss-core-step:not(:last-child) .ss-core-step__node::after { content: "" !important; display: block !important; position: absolute; left: 50%; top: 46px; width: 2px; height: calc(100% + 400px); max-height: none; transform: translateX(-50%); background: linear-gradient(180deg, var(--vm-orange), rgba(241, 140, 33, .15)); }
	body .ss-core-step__node { position: relative; grid-column: 1; width: 44px !important; height: 44px !important; margin: 0 !important; align-self: start; z-index: 1; }
	body .ss-core-step:not(:last-child) { overflow: hidden; }
	body .ss-core-step__body { grid-column: 2; margin: 0 !important; padding: 14px 16px !important; text-align: left !important; }
	body .ss-core-step__body::before, body .ss-core-step__body::after { display: none !important; }
	body .ss-core-step__num { font-size: 14px !important; }
}
@media (max-width: 760px) {
	body .ss-core-steps .ss-core-steps__list > .ss-core-step { display: grid !important; grid-template-columns: 44px minmax(0, 1fr) !important; align-items: start !important; }
	body .ss-core-steps .ss-core-step > .ss-core-step__node { grid-area: 1 / 1 !important; }
	body .ss-core-steps .ss-core-step > .ss-core-step__body { grid-area: 1 / 2 !important; }
}
@media (max-width: 760px) {
	/* resource / category tiles outside a carousel: icon beside the copy */
	body :not(.m-carousel) > li > .ss-res-tile--icon, body :not(.m-carousel) > .ss-res-tile--icon { display: grid !important; grid-template-columns: 60px minmax(0, 1fr) !important; column-gap: 14px; align-items: center !important; padding: 16px !important; min-height: 0 !important; text-align: left !important; }
	body :not(.m-carousel) > li > .ss-res-tile--icon .ss-res-tile__icon, body :not(.m-carousel) > .ss-res-tile--icon .ss-res-tile__icon { width: 60px !important; height: 60px !important; margin: 0 !important; }
	body :not(.m-carousel) > li > .ss-res-tile--icon .ss-res-tile__icon img, body :not(.m-carousel) > .ss-res-tile--icon .ss-res-tile__icon img { width: 100% !important; height: 100% !important; object-fit: contain; }
	body :not(.m-carousel) > li > .ss-res-tile--icon .ss-res-tile__body, body :not(.m-carousel) > .ss-res-tile--icon .ss-res-tile__body { gap: 3px !important; }
	body :not(.m-carousel) > li > .ss-res-tile--icon .ss-res-tile__title, body :not(.m-carousel) > .ss-res-tile--icon .ss-res-tile__title { font-size: 16.5px !important; margin: 0 !important; }
	body :not(.m-carousel) > li > .ss-res-tile--icon .ss-res-tile__text, body :not(.m-carousel) > .ss-res-tile--icon .ss-res-tile__text { font-size: 13.5px !important; line-height: 1.45; }
	body :not(.m-carousel) > li > .ss-res-tile--icon .ss-res-tile__cta, body :not(.m-carousel) > .ss-res-tile--icon .ss-res-tile__cta { margin-top: 4px !important; }
}
@media (max-width: 760px) {
	/* odd number of hero stats: the last one spans the row instead of leaving an empty cell */
	body .ss-hero-stats > :last-child:nth-child(odd) { grid-column: 1 / -1 !important; }
	body .ss-hero-stats > :last-child:nth-child(odd)::before { left: 50% !important; }
}

/* Drawer: the Validation365™ blog as its logo, in a card like the header pill */
body .ss-nav__drawer-blog { display: flex !important; align-items: center; justify-content: center; gap: 12px; margin-top: 4px; padding: 14px 18px; border-radius: 14px; border: 1px solid #d6e4f5; background: linear-gradient(180deg, #f6faff, #eef5fe); text-decoration: none !important; transition: border-color .25s var(--vm-ease), box-shadow .25s var(--vm-ease); }
body .ss-nav__drawer-blog-logo { display: block; width: auto; height: 34px; }
body .ss-nav__drawer-blog .ss-header__blog-tag { flex: none; transition: background .25s var(--vm-ease), color .25s var(--vm-ease); }
body .ss-nav__drawer-blog-ext { flex: none; width: 8px; height: 8px; border-top: 2px solid var(--vm-blue-600, #1f5fba); border-right: 2px solid var(--vm-blue-600, #1f5fba); transform: rotate(45deg); margin-left: 2px; }
body .ss-nav__drawer-blog:hover, body .ss-nav__drawer-blog:focus-visible { border-color: rgba(241, 140, 33, .55); box-shadow: 0 10px 22px -16px rgba(14, 43, 84, .45); }
body .ss-nav__drawer-blog:hover .ss-header__blog-tag, body .ss-nav__drawer-blog:focus-visible .ss-header__blog-tag { background: var(--vm-orange); color: #fff; }
@media (max-width: 760px) {
	body .ss-core-cards__grid--dark:has(> .ss-core-card:nth-child(10):last-child):not(.m-carousel) > .ss-core-card.has-icon { display: grid !important; grid-template-columns: 44px minmax(0, 1fr) !important; column-gap: 14px; row-gap: 3px; align-items: start !important; padding: 16px !important; }
	body .ss-core-cards__grid--dark:has(> .ss-core-card:nth-child(10):last-child):not(.m-carousel) > .ss-core-card.has-icon .ss-core-card__icon { width: 44px !important; height: 44px !important; }
}
@media (max-width: 760px) {
	/* a centred track pushes its first cards off-screen to the left; carousels always start at the first card */
	body .m-carousel { justify-content: flex-start !important; justify-items: start !important; }
}

@media (max-width: 760px) {
	/* honor cards inside a carousel keep the stacked card layout; list honors keep text beside the icon */
	body .m-carousel > .ss-co-honor { display: flex !important; flex-direction: column !important; align-items: flex-start !important; gap: 8px !important; }
	body .m-carousel > .ss-co-honor .ss-co-honor__text { margin: 0 !important; }
	body :not(.m-carousel) > .ss-co-honor .ss-co-honor__text { grid-column: 2; margin: 4px 0 0 !important; }
	/* footer link columns open on tap */
	body .ss-footer__col.m-foot-acc { border-top: 1px solid rgba(143, 186, 255, .18); padding-top: 4px; }
	body .m-foot-acc__btn { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 0; border: 0; background: none; color: inherit; font: inherit; text-align: left; cursor: pointer; }
	body .m-foot-acc__btn .ss-footer__title { margin: 0 !important; }
	body .m-foot-acc__btn::after { content: ""; flex: none; width: 8px; height: 8px; border-right: 2px solid var(--vm-orange); border-bottom: 2px solid var(--vm-orange); transform: translateY(-2px) rotate(45deg); transition: transform .25s var(--vm-ease); }
	body .m-foot-acc.is-open .m-foot-acc__btn::after { transform: translateY(2px) rotate(-135deg); }
	body .m-foot-acc:not(.is-open) > ul { display: none !important; }
	body .m-foot-acc > ul { padding-bottom: 14px; }
	body .m-foot-acc__btn .ss-footer__title::after { display: none !important; }
}
@media (max-width: 760px) {
	body .ss-footer__col.m-foot-acc { margin: 0 !important; padding: 0 !important; border-top: 0; }
	body .ss-footer__col.m-foot-acc + .ss-footer__col { border-top: 1px solid rgba(143, 186, 255, .18); margin-top: 0 !important; padding-top: 16px !important; }
	body .ss-footer__col.m-foot-acc + .ss-footer__col.m-foot-acc { padding-top: 0 !important; }
	body .m-foot-acc__btn { padding: 15px 0 !important; }
	body .ss-footer__panel:has(.m-foot-acc) { row-gap: 0 !important; gap: 0 !important; }
	body .ss-footer__brand { padding-bottom: 18px !important; margin-bottom: 0 !important; }
}
@media (max-width: 760px) {
	/* supplier profile: label above value so values get the full width */
	body .ss-co-profile__row { display: grid !important; grid-template-columns: 1fr !important; gap: 4px !important; padding: 12px 0 !important; }
	body .ss-co-profile__row dt { margin: 0 !important; }
	body .ss-co-profile__row dd { margin: 0 !important; font-size: 15px; }
}
@media (max-width: 760px) { body main form :is(button[type="submit"], input[type="submit"]) { width: 100% !important; justify-content: center; } }

@media (max-width: 760px) {
	/* split layouts always stack on phones */
	body .ss-split, body .ss-core-split__grid { grid-template-columns: minmax(0, 1fr) !important; }
	body .ss-split > *, body .ss-core-split__grid > * { grid-column: 1 / -1 !important; min-width: 0; }
	/* platform ecosystem components: one compact row each */
	body .ss-plat-hub__list { display: grid !important; grid-template-columns: 1fr !important; gap: 8px !important; }
	body .ss-plat-hub__item { padding: 12px 14px !important; min-height: 0 !important; }
	body .ss-plat-hub__item :is(h3, h4, strong) { font-size: 15.5px !important; margin-bottom: 2px !important; }
	body .ss-plat-hub__item p { font-size: 13.5px !important; line-height: 1.45; }
	body .ss-plat-hub__diagram { gap: 12px !important; }
}
/* list panels: tick + text rows without a box around each line */
body .ss-core-listpanel__item { background: none !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; padding-top: 6px !important; padding-bottom: 6px !important; }
@media (max-width: 760px) { body .ss-core-listpanel__list { gap: 4px !important; } }
@media (max-width: 760px) {
	body .ss-plat-hub__diagram, body .ss-plat-hub__diagram--nodes { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; grid-template-areas: none !important; }
	body .ss-plat-hub__diagram > * { grid-column: 1 !important; grid-row: auto !important; }
	body .ss-plat-hub__core { order: -1; }
}
@media (max-width: 760px) {
	body .ss-plat-hub__diagram > .ss-plat-hub__list { gap: 8px !important; row-gap: 8px !important; padding: 0 !important; margin: 0 !important; }
	body .ss-plat-hub__diagram > .ss-plat-hub__list > .ss-plat-hub__item { margin: 0 !important; width: 100% !important; }
	body .ss-plat-hub__diagram > .ss-plat-hub__list > .ss-plat-hub__item::before, body .ss-plat-hub__diagram > .ss-plat-hub__list > .ss-plat-hub__item::after { display: none !important; }
}
@media (max-width: 760px) {
	/* check lists: one column unless every line is short (main.js adds .m-check-2) */
	body .ss-checklist:not(.m-check-2), body .ss-checklist--light:has(> li:nth-child(6):last-child):not(.m-check-2) { grid-template-columns: minmax(0, 1fr) !important; }
	body main .ss-checklist.m-check-2.m-check-2 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

/* Scroll entrances: a touch more travel so the fade-up reads as a deliberate effect */
.ss-motion [data-reveal]:not(.is-done):not(.is-in):not([data-reveal="mask"]):not([data-reveal="fade"]):not([data-reveal="zoom"]) { transform: translateY(40px); }
.ss-motion [data-reveal]:not(.is-done) { transition-duration: 1s, 1s; }
.ss-motion [data-stagger]:not(.is-done):not(.is-in) > * { transform: translateY(30px); }
@media (max-width: 760px) { .ss-motion [data-reveal]:not(.is-done):not(.is-in):not([data-reveal="mask"]):not([data-reveal="fade"]):not([data-reveal="zoom"]) { transform: translateY(24px); } }

/* Desktop mega menu: a wider intro panel and two compact link columns, so the links fill the height instead of leaving a white gap */
@media (min-width: 1181px) {
	body .ss-nav__mega { grid-template-columns: minmax(380px, 36%) minmax(0, 1fr) !important; }
	body .ss-nav__intro { justify-content: center; gap: 12px; padding: 30px 36px !important; }
	body .ss-nav__intro-title { font-size: 22px !important; line-height: 1.25; }
	body .ss-nav__intro-text { font-size: 14.5px !important; max-width: 46ch; }
	body .ss-nav__intro-cta { margin-top: 6px !important; }
	body .ss-nav__sub, body .ss-nav__sub--1, body .ss-nav__sub--2, body .ss-nav__sub--3 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; align-content: center !important; gap: 2px 14px !important; padding: 18px 26px !important; }
	body .ss-nav__sub a { padding: 10px 12px !important; gap: 12px !important; }
	body .ss-nav__sub--1:has(> li:nth-child(3):last-child) > li:last-child { grid-column: 1 / -1; }
}

/* Footer contact: even spacing between the three rows; each icon lines up with the first line of its text */
body .ss-footer__contact ul { display: grid !important; gap: 16px !important; }
body .ss-footer__contact ul > li { margin: 0 !important; padding: 0 !important; }
body .ss-footer__contact .ss-footer__contact-link { display: grid !important; grid-template-columns: 36px minmax(0, 1fr); column-gap: 14px; align-items: start !important; }
body .ss-footer__contact .ss-footer__contact-link > span:last-child { padding-top: 6px; line-height: 1.55; }
@media (max-width: 760px) {
	/* product list boxes: one column of readable lines */
	body .ss-proda-listbox .ss-checklist:not(.m-check-2), body .ss-proda-listbox .ss-checklist--light:not(.m-check-2):has(> li:nth-child(6):last-child) { grid-template-columns: minmax(0, 1fr) !important; gap: 10px !important; }
	body .ss-proda-listbox .ss-checklist > li { font-size: 14.5px !important; line-height: 1.45; padding: 0 !important; }
}
@media (max-width: 760px) {
	body .ss-proda-listbox.ss-proda-listbox--white .ss-checklist.ss-checklist > li { padding: 2px 0 !important; align-items: flex-start !important; font-size: 14.5px !important; }
	body .ss-proda-listbox.ss-proda-listbox--white .ss-checklist.ss-checklist > li::before { margin-top: 1px; }
}
/* the map pin sits level with the other icons (an older nudge pulled it up into the email row) */
body .ss-footer__contact .ss-footer__contact-link .ss-footer__ico, body .ss-footer__contact li:last-child .ss-footer__contact-link .ss-footer__ico { margin-top: 0 !important; }
@media (max-width: 760px) {
	/* product capability cards outside a carousel: icon beside the copy, left aligned */
	body .ss-proda-cards__grid:not(.m-carousel) > .ss-proda-card:has(> .ss-card__icon) { display: grid !important; grid-template-columns: 44px minmax(0, 1fr) !important; column-gap: 14px; row-gap: 3px; align-items: start !important; padding: 16px !important; text-align: left !important; }
	body .ss-proda-cards__grid:not(.m-carousel) > .ss-proda-card > .ss-card__icon { grid-column: 1; grid-row: 1 / span 3; width: 44px !important; height: 44px !important; margin: 0 !important; }
	body .ss-proda-cards__grid:not(.m-carousel) > .ss-proda-card:has(> .ss-card__icon) > :not(.ss-card__icon) { grid-column: 2; margin: 0 !important; text-align: left !important; }
	body .ss-proda-cards__grid:not(.m-carousel) > .ss-proda-card .ss-card__title { font-size: 16px !important; }
	body .ss-proda-cards__grid:not(.m-carousel) { gap: 10px !important; }
}
@media (max-width: 760px) { body .ss-proda-cards__grid:not(.m-carousel) > .ss-proda-card .ss-card__title, body .ss-proda-cards__grid:not(.m-carousel) > .ss-proda-card p { text-align: left !important; justify-content: flex-start !important; } }
@media (max-width: 760px) { body main [data-m-collapsed] { grid-template-rows: none !important; grid-auto-rows: auto !important; height: auto !important; min-height: 0 !important; } }
@media (max-width: 760px) { html body main .m-more-hidden.m-more-hidden.m-more-hidden.m-more-hidden.m-more-hidden.m-more-hidden { display: none !important; } }

@media (max-width: 760px) {
	/* flow steps (VERITAS sync): one numbered row per step, words never split */
	body .ss-prodb-flow--flow { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; gap: 10px !important; max-width: none !important; }
	body .ss-prodb-flow--flow > .ss-prodb-stage { display: grid !important; grid-template-columns: 52px minmax(0, 1fr) !important; column-gap: 14px; align-items: center !important; padding: 0 0 0 !important; text-align: left !important; }
	body .ss-prodb-flow--flow > .ss-prodb-stage::before, body .ss-prodb-flow--flow > .ss-prodb-stage::after { display: none !important; }
	body .ss-prodb-flow--flow .ss-prodb-stage__head { grid-column: 1; margin: 0 !important; }
	body .ss-prodb-flow--flow .ss-prodb-stage__head::after { display: none !important; }
	body .ss-prodb-flow--flow .ss-prodb-stage__title { grid-column: 2; margin: 0 !important; font-size: 16px !important; overflow-wrap: normal !important; word-break: normal !important; hyphens: manual !important; text-align: left !important; }
	body .ss-prodb-stage__title { overflow-wrap: normal !important; word-break: normal !important; }
}
/* product pills: tick + text, no pill around a dot */
body .ss-prodb-pills__list > li { padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; display: inline-flex !important; align-items: center; gap: 9px; font-weight: 600; }
body .ss-prodb-pills__list > li::before { content: "" !important; flex: none; width: 20px !important; height: 20px !important; border-radius: 50%; background: var(--vm-tick) center / 10px no-repeat, linear-gradient(140deg, #5cc16a, #2f9e4f) !important; }
body .ss-prodb-pills__list { gap: 10px 24px !important; }
@media (max-width: 760px) {
	body .ss-prodb-flow--flow .ss-prodb-stage__head { position: relative; display: block !important; width: 48px; height: 48px; padding: 0 !important; }
	body .ss-prodb-flow--flow .ss-prodb-stage__icon { width: 48px !important; height: 48px !important; margin: 0 !important; }
	body .ss-prodb-flow--flow .ss-prodb-stage__num { position: absolute !important; top: -7px; right: -9px; z-index: 2; display: grid; place-items: center; width: 22px; height: 22px; margin: 0 !important; padding: 0 !important; border-radius: 50%; border: 2px solid #fff; background: var(--vm-orange); color: #fff !important; font-size: 10px !important; font-weight: 700; line-height: 1; }
	body .ss-prodb-flow--flow > .ss-prodb-stage { padding: 12px 14px !important; border-radius: 14px; background: #fff; border: 1px solid var(--vm-line); }
	body .ss-section--dark .ss-prodb-flow--flow > .ss-prodb-stage { background: rgba(255, 255, 255, .05); border-color: rgba(143, 186, 255, .22); }
}
@media (max-width: 760px) { body .ss-prodb-flow--flow > .ss-prodb-stage > .ss-prodb-stage__title { align-self: center !important; grid-row: 1 !important; } body .ss-prodb-flow--flow > .ss-prodb-stage > .ss-prodb-stage__head { grid-row: 1 !important; align-self: center !important; } }
/* address: first line level with the pin like the single-line rows */
body .ss-footer__contact li:last-child .ss-footer__contact-link > span:last-child { padding-top: 3px !important; }
/* webinar detail on phones: the player card right below carries the thumbnail, so the hero doesn't repeat it */
@media (max-width: 760px) { body.single-ss_webinars .ss-hero .ss-hero__media { display: none !important; } }

/* Centered form section with exactly four aside cards (e.g. Customer Support, no form): 2x2 instead of 3+1. */
@media (min-width: 640px) { .ss-core-form--center .ss-core-form__aside:has(> li:nth-child(4):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
/* Form section button row (used when the section has no form, e.g. Customer Support). */
.ss-core-form__buttons { margin-top: 28px; }
.ss-core-form--center .ss-core-form__buttons { justify-content: center; }
/* List-panel tiles set to columns: 2 with four long items (Customer Support FAQs): honor 2x2 instead of the 4-across item-count rule. */
@media (min-width: 900px) { body .ss-core-listpanel__panel:not(:has(.ss-core-listpanel__text)) .ss-core-listpanel__list--2:has(> :nth-child(4):last-child) { --cols: 2; grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 1040px; margin-left: auto; margin-right: auto; } }
@media (min-width: 900px) { body .ss-core-listpanel__panel:not(:has(.ss-core-listpanel__text)) .ss-core-listpanel__list--2:has(> :nth-child(4):last-child) > * { flex: 0 0 calc(50% - 7px); max-width: calc(50% - 7px); } }
