/*
Theme Name:     cs4swag-2026
Theme URI:      https://www.cs4swag.com/
Description:    CS4 Swag WP-Theme
Version:        1.0
Author:         CHRS Interactive
Author URI:	    https://www.chrsinteractive.com/
*/

/* ==========================================================================
   @MASTERHEAD / NAVIGATION
   ========================================================================== */
body.overflow-hidden {overflow:hidden;}

.site-header {width:100%;position:sticky;top:0;z-index:99;background:#fff;border-bottom:1px solid rgba(14,58,109,.12);padding:0;}

/* Utility bar */
.cs4-utility-bar {padding:9px 0;background:var(--bg-mist);border-bottom:1px solid var(--rule-faint);}
.cs4-utility-bar__inner {display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:8px 16px;}
.cs4-utility-bar__link {display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;line-height:1;color:var(--navy);text-decoration:none;}
.cs4-utility-bar__icon {flex:none;}
.cs4-utility-bar__link:hover {color:var(--navy-hover);}
.cs4-utility-bar__divider {width:1px;height:12px;background:rgba(14,58,109,.2);}
.cs4-utility-bar__divider--last {display:none;}
.cs4-utility-bar__text {display:none;font-size:13px;font-weight:500;line-height:1;color:var(--slate-body);}

/* Main row */
.cs4-header-row {display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:18px 0;}

.logo {width:auto;float:none;display:block;flex:none;}
.logo img {display:block;height:40px;width:auto;}

/* Main Menu */
.mainNav-wrap {float:none;display:none;}
.mainNav {display:flex;flex-direction:row;align-items:center;gap:22px;}
.mainNav li {display:block;margin:0;}
.mainNav li a {display:block;font-size:13px;font-weight:600;line-height:1;letter-spacing:.09em;text-transform:uppercase;color:var(--navy);text-decoration:none;white-space:nowrap;}
.mainNav li a:hover,
.mainNav li.current-menu-item a {color:var(--navy-hover);}

/* Menu CTA button */
.mainNav li.nav-cta a {padding:13px 18px;border-radius:3px;background:var(--navy);color:#fff;font-weight:700;letter-spacing:.08em;}

/* Level 2 */
.mainNav > li {position:relative;}
.mainNav > li > a {padding:13px 0;}
.mainNav li ul {display:none;}
.mainNav li:hover > ul,
.mainNav li:focus-within > ul {display:block;}
.mainNav li ul {position:absolute;top:100%;left:0;margin-top:18px;padding:10px 0;width:270px;text-align:left;z-index:99;background:#fff;border:1px solid var(--rule-subtle);}
.mainNav > li > ul::before {content:"";position:absolute;left:0;right:0;bottom:100%;height:18px;}
.mainNav li ul li {display:block;position:relative;}
.mainNav li ul li a {padding:8px 16px;color:var(--slate-body);}
.mainNav li ul li a:hover {color:var(--navy);}

/* Mobile nav trigger */
.mobile-nav-trigger-outter {float:none;width:auto;height:auto;z-index:99;}
.mobile-nav-trigger {display:flex;align-items:center;gap:10px;min-height:44px;padding:0;background:none;border:0;font:inherit;color:inherit;cursor:pointer;}
.mobile-nav-trigger__label {font-size:13px;font-weight:700;line-height:1;letter-spacing:.08em;text-transform:uppercase;color:var(--navy);}
.mobile-nav-trigger .cd-menu-icon {position:relative;display:block;width:22px;height:2.2px;transition:background-color 0.3s;}
.mobile-nav-trigger .cd-menu-icon::before,
.mobile-nav-trigger .cd-menu-icon::after {content:'';width:100%;height:100%;position:absolute;top:0;left:0;z-index:9;transition:transform .3s, top .3s, background-color 0s;}
.mobile-nav-trigger .cd-menu-icon::before {top:-7px;}
.mobile-nav-trigger .cd-menu-icon::after {top:7px;}
.mobile-nav-trigger .cd-menu-icon.is-clicked::before {top:0;transform:rotate(135deg);}
.mobile-nav-trigger .cd-menu-icon.is-clicked::after {top:0;transform:rotate(225deg);}
.mobile-nav-trigger .cd-menu-icon.is-clicked {background:none !important;}
.mobile-nav-trigger .cd-menu-icon,
.mobile-nav-trigger .cd-menu-icon::before,
.mobile-nav-trigger .cd-menu-icon::after,
.mobile-nav-trigger .cd-menu-icon.is-clicked::before,
.mobile-nav-trigger .cd-menu-icon.is-clicked::after {background:var(--navy);}

/* Mobile nav panel */
/* --header-h is measured in main.js; the fallback covers a no-JS render. */
.mobile-nav {position:fixed;visibility:hidden;opacity:0;left:0;top:var(--header-h, 110px);height:calc(100% - var(--header-h, 110px));width:100%;background:rgba(14,58,109,.98);z-index:98;transition:opacity 0.3s ease, visibility 0.3s ease;overflow:auto;}
.mobile-nav.is-visible {visibility:visible;opacity:1;}
.mobile-nav-inner {padding-top:40px;padding-bottom:40px;}
/* Two equal halves so the labels sit side by side at any phone width. */
.mobile-nav__actions {display:flex;align-items:center;gap:10px;margin:0 0 28px;}
.mobile-nav__actions .cs4-btn {flex:1 1 0;padding-left:0;padding-right:0;font-size:13px;}
.mobile-nav__actions .cs4-btn--accent,
.mobile-nav__actions .cs4-btn--accent:hover {color:var(--navy);}
.mobile-nav__actions .cs4-btn--outline-light,
.mobile-nav__actions .cs4-btn--outline-light:hover {background:#fff;border-color:#fff;color:var(--navy);}

.mobileNav li {display:block;margin-bottom:0;}
.mobileNav li a {display:flex;align-items:center;min-height:38px;font-family:var(--font-body);font-size:15px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:#fff;text-decoration:none;}
.mobileNav li a:hover {color:var(--lime);}
/* Top level reads as a section head; children sit indented behind a rule. */
.mobileNav > li {margin-bottom:12px;}
.mobileNav > li > a {font-size:17px;font-weight:700;letter-spacing:.09em;}
.mobileNav .sub-menu {margin:2px 0 0;padding:2px 0 2px 18px;list-style:none;border-left:2px solid var(--rule-navy-strong);}
.mobileNav .sub-menu li {margin-bottom:0;}
.mobileNav .sub-menu a {min-height:0;margin-bottom:5px;color:var(--on-navy-body);}

.post-edit-link {display:block;position:fixed;top:50%;right:0;padding:10px;z-index:99999999;background:rgba(139,16,6,0.8);color:#fff;font:16px/1 Helvetica, Arial, serif;text-transform:uppercase;font-weight:600;}
.post-edit-link:hover {background:rgba(139,16,6,1);color:#fff;}

/* ==========================================================================
   BUTTONS
   ========================================================================== */
.cs4-btn {display:inline-block;font-size:14px;font-weight:700;line-height:1;letter-spacing:.08em;text-transform:uppercase;text-align:center;text-decoration:none;border:0;border-radius:3px;cursor:pointer;transition:background-color .15s ease, color .15s ease, border-color .15s ease;}
.cs4-btn--primary {padding:20px 36px;background:var(--navy);color:#fff;}
.cs4-btn--primary:hover,
.mainNav li.nav-cta a:hover {background:var(--navy-hover);color:#fff;}
.cs4-btn--accent {padding:18px 30px;background:var(--lime);color:var(--navy-deep);}
.cs4-btn--accent:hover {background:var(--lime-hover);color:var(--navy-deep);}
.cs4-btn--outline-light {padding:16.5px 26px;background:transparent;color:#fff;border:1.5px solid var(--rule-navy-btn);}
.cs4-btn--outline-light:hover {background:rgba(255,255,255,.12);color:#fff;}
.cs4-btn--outline {padding:15.5px 26px;background:transparent;color:var(--navy);border:1.5px solid var(--rule-btn);}
.cs4-btn--outline:hover {background:rgba(14,58,109,.06);color:var(--navy);}
.cs4-btn--link {padding:0 0 5px;border-radius:0;border-bottom:2px solid var(--lime);color:var(--navy);font-size:13px;}
.cs4-btn--link:hover {color:var(--navy-hover);}

.cs4-btn-row {display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:32px;}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
.cs4-btn:focus-visible {outline:2px solid var(--lime);outline-offset:3px;}

/* ==========================================================================
   SHARED TYPE PATTERNS
   ========================================================================== */

/* Home hero fee promise — a marker list, 1 column on phones and 2x2 from 750px.
   Replaced a slash-separated single line, which orphaned a "/" once the fourth
   item was added. Always exactly four items, in this order. */
.cs4-hero__fees {display:grid;grid-template-columns:1fr;gap:0 28px;margin:24px 0 0;padding:0;max-width:560px;list-style:none;color:#fff;font-family:var(--font-display);font-size:clamp(19px, 2.4vw, 26px);font-weight:700;line-height:1.15;letter-spacing:.04em;text-transform:uppercase;}
.cs4-hero__fee {display:grid;grid-template-columns:12px 1fr;gap:0 12px;padding:11px 0;border-top:1px solid var(--rule-navy-strong);}
.cs4-hero__fee::before {content:"";margin-top:9px;width:9px;height:9px;background:var(--lime);}
.cs4-hero__fee:last-child {border-bottom:1px solid var(--rule-navy-strong);}

.cs4-meta-line {display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;margin:0;font-family:var(--font-display);font-size:15px;font-weight:700;line-height:1.2;letter-spacing:.14em;text-transform:uppercase;color:var(--slate-body);}
.cs4-meta-line span {white-space:nowrap;}
.cs4-meta-line__sep {color:var(--lime);}

.cs4-lead {margin:18px 0 0;color:var(--slate-body);text-wrap:pretty;}

/* ==========================================================================
   SECTIONS
   ========================================================================== */
.cs4-section--mist {background:var(--bg-mist);}

.cs4-section-head,
.cs4-page-header__inner,
.cs4-cta-band__inner {display:flex;flex-direction:column;align-items:flex-start;gap:16px;}
.cs4-section-head h2 {margin:0;}
.cs4-section-head--spaced {margin-bottom:32px;}

/* ==========================================================================
   HERO
   ========================================================================== */
.cs4-hero {position:relative;background:var(--navy);}
.cs4-hero__bg {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% 40%;}
.cs4-hero .container {position:relative;}
.cs4-hero__scrim {position:absolute;inset:0;background:linear-gradient(180deg, rgba(14,58,109,.92) 0%, rgba(14,58,109,.80) 55%, rgba(14,58,109,.94) 100%);}
.cs4-hero__inner {max-width:760px;padding:clamp(57px, 7vw, 92px) 0 clamp(52px, 7vw, 84px);}
.cs4-hero__title {margin:0;color:#fff;}
.cs4-hero__lead {margin:28px 0 0;max-width:520px;color:var(--on-navy-lead);text-wrap:pretty;}

/* ==========================================================================
   TRUST ROW
   ========================================================================== */
.cs4-trust {display:flex;align-items:center;gap:14px;margin-top:34px;}
.cs4-trust__pics {flex:none;height:36px;width:auto;}
.cs4-trust__body {display:flex;flex-direction:column;align-items:flex-start;gap:4px;}
.cs4-trust__stars {height:12px;width:auto;}
.cs4-trust__text {font-size:13px;font-weight:500;line-height:1;}
.cs4-trust--light .cs4-trust__text {color:var(--on-navy-emphasis);}
.cs4-trust--dark .cs4-trust__text {color:var(--slate-body);}

/* ==========================================================================
   STATEMENT BAND
   ========================================================================== */
.cs4-statement-band {padding:26px 0;background:var(--lime);color:var(--navy-deep);}
.cs4-statement-band__text {margin:0;text-align:center;font-family:var(--font-display);font-size:clamp(24px, 3.4vw, 34px);font-weight:700;line-height:1.15;letter-spacing:.03em;text-transform:uppercase;}

/* ==========================================================================
   WHITE-GLOVE / MANAGED
   ========================================================================== */
.cs4-managed {display:grid;grid-template-columns:1fr;gap:clamp(30px, 4vw, 60px);align-items:start;}
.cs4-managed__intro h2 {margin:0;}

.cs4-checklist {display:grid;grid-template-columns:1fr;gap:0;margin:0;padding:0;list-style:none;}
.cs4-checklist__item {display:grid;grid-template-columns:14px 1fr;gap:0 16px;padding:15px 0;border-top:1px solid var(--rule);}
.cs4-checklist__item:last-child {border-bottom:1px solid var(--rule);}
.cs4-checklist__marker {margin-top:8px;width:9px;height:9px;background:var(--lime);}
.cs4-checklist__text {font-weight:500;color:var(--navy-deep);}

/* ==========================================================================
   EVERY STEP
   ========================================================================== */
.cs4-every-step,
.cs4-navy-band__inner,
.cs4-uc-diff__grid {display:grid;grid-template-columns:1fr;gap:0;}
.cs4-every-step__img {display:block;width:100%;height:clamp(209px, 42vw, 380px);object-fit:cover;}
.cs4-every-step__panel {display:flex;flex-direction:column;justify-content:center;gap:16px;padding:48px 44px;background:var(--navy);color:#fff;}
.cs4-every-step__title {margin:0;font-family:var(--font-display);font-size:clamp(24px, 4vw, 40px);font-weight:700;line-height:1;text-transform:uppercase;}
.cs4-every-step__accent {color:var(--lime);}
.cs4-every-step__body {margin:0;color:var(--on-navy-body);}

/* ==========================================================================
   PROBLEM / SOLUTION
   ========================================================================== */
.cs4-ps-grid {display:grid;grid-template-columns:1fr;gap:24px;margin-top:30px;}

.cs4-panel {padding:34px 34px 38px;}
.cs4-panel__label {margin:0;font-family:var(--font-display);font-size:15px;font-weight:700;line-height:1;letter-spacing:.2em;text-transform:uppercase;}
.cs4-panel__btn {align-self:flex-start;margin-top:26px;padding:16px 26px;font-size:13px;}

.cs4-panel--problem {background:var(--bg-mist);border-top:3px solid var(--rule-panel);}
.cs4-panel--problem .cs4-panel__label {color:var(--slate-body);}
.cs4-panel__intro {margin:14px 0 18px;font-size:18px;font-weight:500;line-height:1.5;color:var(--navy-deep);}

.cs4-dash-list {display:flex;flex-direction:column;gap:11px;margin:0;padding:0;list-style:none;}
.cs4-dash-list__item {display:grid;grid-template-columns:12px 1fr;gap:0 14px;color:var(--navy-deep);}
.cs4-dash-list__marker {margin-top:9px;width:8px;height:1.5px;background:var(--slate-muted);}

.cs4-panel--solution {display:flex;flex-direction:column;background:var(--navy);border-top:3px solid var(--lime);color:#fff;}
.cs4-panel--solution .cs4-panel__label {color:var(--lime);}
.cs4-panel__statement {margin:14px 0 0;font-size:22px;font-weight:600;line-height:1.3;}
.cs4-panel__body {margin:14px 0 0;color:#fff;text-wrap:pretty;}

/* ==========================================================================
   TESTIMONIALS
   ========================================================================== */
.cs4-testimonials__heading {margin:0 0 30px;font-size:clamp(24px, 4.2vw, 42px);line-height:1;}
.cs4-testimonials {display:grid;grid-template-columns:1fr;gap:22px;}
.cs4-testimonial {display:flex;flex-direction:column;gap:18px;margin:0;padding:32px 30px 28px;background:#fff;border:1px solid var(--rule-subtle);}
.cs4-testimonial__stars {height:12px;width:auto;align-self:flex-start;}
.cs4-testimonial__quote {flex:1;margin:0;color:var(--navy-deep);text-wrap:pretty;}
.cs4-testimonial__attr {padding-top:16px;border-top:1px solid var(--rule);}
.cs4-testimonial__name {display:block;font-family:var(--font-display);font-size:16px;font-weight:700;font-style:normal;line-height:1.2;letter-spacing:.04em;text-transform:uppercase;color:var(--navy);}
.cs4-testimonial__role {display:block;font-size:13px;line-height:1.4;color:var(--slate-muted);}

/* ==========================================================================
   BENEFIT BAND
   ========================================================================== */
.cs4-benefit-band {display:grid;grid-template-columns:1fr;gap:0;margin-top:36px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);}
.cs4-benefit-band__cell {padding:20px 0;border-top:1px solid var(--rule);}
.cs4-benefit-band__cell:first-child {border-top:0;}
.cs4-benefit-band__title {margin:0;font-size:22px;line-height:1.1;}
.cs4-benefit-band__body {margin:9px 0 0;color:var(--slate-body);}

/* ==========================================================================
   LOGO GRID
   ========================================================================== */
/* Hairlines are drawn per-cell so a partially filled last row stays white. */
/* Animated brand logo wall. Two stacked imgs per cell; js/main.js crossfades
   them on a per-cell interval. Layout matches the grids it replaces. */
.cs4-logo-wall {display:grid;grid-template-columns:repeat(2, 1fr);gap:0;margin-top:36px;}
.cs4-logo-wall__cell {position:relative;display:flex;align-items:center;justify-content:center;padding:25px 5px;min-height:110px;}
.cs4-logo-wall--light .cs4-logo-wall__cell {background:#fff;box-shadow:0 0 0 1px var(--rule-subtle);}
.cs4-logo-wall--mist .cs4-logo-wall__cell {background:var(--bg-mist-blue);box-shadow:0 0 0 1px rgba(14,58,109,.12);}
.cs4-logo-wall__img {position:absolute;top:50%;left:50%;translate:-50% -50%;max-width:calc(100% - 30px);max-height:52px;width:auto;height:auto;opacity:0;transition:opacity .6s ease;filter:brightness(0) invert(13%) sepia(48%) saturate(527%) hue-rotate(183deg) brightness(97%) contrast(84%);}
.cs4-logo-wall__img.is-current {opacity:1;}
.cs4-logo-wall--mist {margin-top:0;}

.cs4-logo-grid {display:grid;grid-template-columns:repeat(2, 1fr);gap:0;margin-top:36px;}
.cs4-logo-grid__cell {display:flex;align-items:center;justify-content:center;padding:25px 5px;background:#fff;box-shadow:0 0 0 1px var(--rule-subtle);}
.cs4-logo-grid__cell img {max-height:60px;max-width:100%;width:auto;filter:brightness(0) invert(13%) sepia(48%) saturate(527%) hue-rotate(183deg) brightness(97%) contrast(84%);}

/* ==========================================================================
   HRIS
   ========================================================================== */
.cs4-hris--mist {background:var(--bg-mist);border-top:1px solid var(--rule-subtle);}
.cs4-hris__inner {display:grid;grid-template-columns:1fr;gap:clamp(28px, 4vw, 56px);align-items:center;}
.cs4-hris__intro h2 {margin:0;font-size:clamp(21px, 4vw, 40px);line-height:.98;}
/* Trigger list — 2x2 marker grid at every width (updated layout). */
.cs4-hris__list {display:grid;grid-template-columns:1fr 1fr;gap:0 24px;margin:20px 0 0;padding:0;list-style:none;}
.cs4-hris__item {display:grid;grid-template-columns:14px 1fr;gap:0 14px;padding:13px 0;border-top:1px solid var(--rule);font-family:var(--font-display);font-size:17px;font-weight:700;line-height:1.2;letter-spacing:.06em;text-transform:uppercase;color:var(--navy);}
.cs4-hris__item::before {content:"";margin-top:6px;width:9px;height:9px;background:var(--lime);}
.cs4-hris__item:nth-child(3),
.cs4-hris__item:nth-child(4) {border-bottom:1px solid var(--rule);}
.cs4-hris__actions {margin-top:24px;}
.cs4-hris__card {display:flex;flex-direction:column;align-items:center;gap:16px;padding:36px 40px;background:#fff;border:1px solid var(--rule-subtle);}
.cs4-hris__logos {display:block;width:100%;max-width:620px;}
.cs4-hris__more {font-size:14px;font-weight:600;line-height:1;letter-spacing:.06em;text-transform:uppercase;color:var(--slate-muted);}

/* ==========================================================================
   BANNER
   ========================================================================== */
.cs4-banner-img {display:block;width:100%;height:clamp(176px, 42vw, 320px);object-fit:cover;}

/* ==========================================================================
   USE CASE GRID
   ========================================================================== */
.cs4-usecase-grid {display:grid;grid-template-columns:repeat(2, 1fr);gap:1px;background:rgba(14,58,109,.12);border:1px solid rgba(14,58,109,.12);}
.cs4-usecase {display:flex;flex-direction:column;gap:12px;padding:26px 24px 24px;background:#fff;text-decoration:none;transition:background-color .15s ease;}
.cs4-usecase:hover {background:var(--bg-mist);}
.cs4-usecase__icon {height:45px;width:auto;align-self:flex-start;}
.cs4-usecase__title,
.cs4-uc-highlight__title {margin:0;font-size:20px;line-height:1.1;}
.cs4-usecase__desc {flex:1;margin:0;font-size:14px;line-height:1.55;color:var(--slate-body);}
.cs4-usecase__more {font-size:12px;font-weight:700;line-height:1;letter-spacing:.08em;text-transform:uppercase;color:var(--navy);}

.cs4-usecase--navy {background:var(--navy);}
.cs4-usecase--navy:hover {background:var(--navy-hover);}
.cs4-usecase--navy .cs4-usecase__title {color:#fff;}
.cs4-usecase--navy .cs4-usecase__desc {color:var(--on-navy-body);}
.cs4-usecase--navy .cs4-usecase__more {color:var(--lime);}

/* ==========================================================================
   INDUSTRY — HERO
   ========================================================================== */
.cs4-ind-hero,
.cs4-uc-hero,
.cs4-suppliers__inner {display:grid;grid-template-columns:1fr;gap:clamp(28px, 4vw, 56px);align-items:start;}
.cs4-ind-hero__title {margin:0;max-width:620px;font-size:clamp(35px, 6.8vw, 68px);line-height:.94;}
.cs4-ind-hero__statement {margin:24px 0 0;font-weight:600;color:var(--navy-deep);}
.cs4-ind-hero__body {margin:10px 0 0;max-width:520px;}
.cs4-ind-hero__body p {margin:0 0 12px;color:var(--slate-body);text-wrap:pretty;}
.cs4-ind-hero__body p:last-child {margin-bottom:0;}

/* ==========================================================================
   INDUSTRY — DEMO FORM PANEL
   ========================================================================== */
.cs4-demo-panel {padding:30px 28px 32px;background:var(--navy);border-radius:6px;color:#fff;scroll-margin-top:24px;}
.cs4-demo-panel__title {margin:0;font-size:clamp(24px, 2.8vw, 28px);line-height:1.02;color:#fff;}
.cs4-demo-panel__intro {margin:8px 0;font-size:14px;line-height:1.55;color:var(--on-navy-body);}
.cs4-demo-panel__fine {margin:14px 0 0;font-size:12px;line-height:1.5;color:var(--on-navy-meta);}

/* ==========================================================================
   INDUSTRY — PHOTO BAND
   ========================================================================== */
.cs4-photo-band {background:var(--bg-mist-blue);}
.cs4-photo-band__inner,
.cs4-post-hero__inner {display:grid;grid-template-columns:1fr;gap:clamp(24px, 4vw, 48px);align-items:center;}
.cs4-photo-band__fees {margin:0;font-family:var(--font-display);font-size:clamp(24px, 4vw, 40px);font-weight:700;line-height:1.3;text-transform:uppercase;color:var(--navy);}
.cs4-photo-band__fee-lead {color:var(--lime);}
.cs4-photo-band__note {margin:16px 0 0;color:var(--slate-body);}
.cs4-photo-band__inner--nophoto {grid-template-columns:1fr !important;}
.cs4-photo-band__figure {position:relative;margin:0;}
.cs4-photo-band__img {display:block;width:100%;height:clamp(198px, 42vw, 360px);object-fit:cover;}
.cs4-photo-band__frame {position:absolute;top:-14px;right:-14px;bottom:14px;left:14px;border:2px solid var(--lime);pointer-events:none;}

/* ==========================================================================
   INDUSTRY — NAVY BENEFIT BAND
   ========================================================================== */
.cs4-navy-band {background:var(--navy);color:#fff;}
.cs4-navy-band__cell {padding:20px 0;border-top:1px solid var(--rule-navy);}
.cs4-navy-band__cell:first-child {border-top:0;}
.cs4-navy-band__title {margin:0;font-size:20px;line-height:1.15;letter-spacing:.02em;color:#fff;}
.cs4-navy-band__body {margin:9px 0 0;font-size:14px;line-height:1.6;color:var(--on-navy-body);}

/* ==========================================================================
   INDUSTRY — WHY
   ========================================================================== */
.cs4-why {display:grid;grid-template-columns:1fr;gap:clamp(32px, 4vw, 64px);}
.cs4-why__intro h2 {margin:0;font-size:clamp(24px, 4vw, 40px);line-height:1.02;}
.cs4-why__btn,
.cs4-uc-why__btn {margin-top:22px;padding:17px 28px;}
.cs4-why__row,
.cs4-uc-why__row {padding:22px 0;border-top:1px solid var(--rule);}
.cs4-why__row:last-child {border-bottom:1px solid var(--rule);}
.cs4-why__row > *:first-child {margin-top:0;}
.cs4-why__row h2,
.cs4-why__row h3,
.cs4-why__row h4 {margin:0;font-size:21px;line-height:1.2;}
.cs4-why__row p {margin:6px 0 0;max-width:620px;color:var(--slate-body);}
.cs4-why__row p:last-child {margin-bottom:0;}

/* ==========================================================================
   INDUSTRY — SUPPLIER LOGOS
   ========================================================================== */
/* Industry intro: full-width prose, heading on top. Single WYSIWYG field. */
.cs4-intro {background:var(--bg-mist-alt);border-top:1px solid var(--rule-subtle);}
.cs4-intro__body > *:first-child {margin-top:0;}
.cs4-intro__body h2 {margin:0;font-size:clamp(24px, 3.6vw, 36px);line-height:1.04;}
.cs4-intro__body p {margin:14px 0 0;color:var(--slate-body);text-wrap:pretty;}
.cs4-intro__body h2 + p {margin-top:18px;}

.cs4-suppliers {background:var(--bg-mist-blue);}
.cs4-suppliers__intro h2 {margin:0;font-size:clamp(24px, 3.2vw, 32px);line-height:1.05;}
.cs4-suppliers__intro p {margin:14px 0 0;color:var(--slate-body);text-wrap:pretty;}
.cs4-suppliers__grid {display:grid;grid-template-columns:repeat(2, 1fr);gap:0;}
.cs4-suppliers__cell {display:flex;align-items:center;justify-content:center;padding:26px 20px;background:var(--bg-mist-blue);box-shadow:0 0 0 1px rgba(14,58,109,.12);}
.cs4-suppliers__cell img {max-width:100%;width:auto;filter:brightness(0) invert(13%) sepia(48%) saturate(527%) hue-rotate(183deg) brightness(97%) contrast(84%);}

/* ==========================================================================
   INDUSTRY — TRENDING PRODUCTS
   ========================================================================== */
.cs4-products__heading {max-width:620px;font-size:clamp(24px, 4vw, 40px);line-height:1.02;}
.cs4-products__intro {margin:0 0 26px;max-width:760px;color:var(--slate-body);text-wrap:pretty;}
.cs4-products {display:grid;grid-template-columns:repeat(2, 1fr);gap:16px;}
.cs4-products__ph {display:flex;align-items:center;justify-content:center;aspect-ratio:1 / 1;background:repeating-linear-gradient(135deg, var(--stripe-a) 0 7px, var(--stripe-b) 7px 14px);font:500 10px/1 ui-monospace, Menlo, monospace;letter-spacing:.06em;color:var(--slate-muted);}
.cs4-products__title {margin:13px 0 0;font-size:18px;line-height:1.15;}
.cs4-products__body {margin:5px 0 0;font-size:13px;line-height:1.55;color:var(--slate-body);}

/* ==========================================================================
   INDUSTRY — SEO CONTENT BLOCK
   ========================================================================== */
.cs4-seo {background:var(--bg-mist-alt);border-top:1px solid var(--rule-subtle);}
.cs4-seo__body {margin:0 auto;max-width:850px;}
.cs4-seo__body h2 {margin:0;font-size:clamp(24px, 3.8vw, 38px);line-height:1.04;}
.cs4-seo__body h3 {margin:36px 0 0;font-size:24px;line-height:1.1;}
.cs4-seo__body p {margin:14px 0 0;color:var(--slate-seo);text-wrap:pretty;}
.cs4-seo__body h2 + p {margin-top:18px;}
.cs4-seo__more {display:none;}
.cs4-seo__more.is-open {display:block;}
.cs4-seo__toggle {margin-top:26px;background:transparent;font-family:inherit;}
.cs4-seo__body h3 + p {margin-top:12px;}

/* ==========================================================================
   PAGE HEADER (catalog)
   ========================================================================== */
.cs4-page-header {border-bottom:1px solid rgba(14,58,109,.12);}
.cs4-page-header__title {margin:0;max-width:820px;font-size:clamp(35px, 6.8vw, 68px);line-height:.94;}
.cs4-page-header__intro {margin:18px 0 0;max-width:560px;color:var(--slate-body);text-wrap:pretty;}

/* ==========================================================================
   CATALOG GRID
   ========================================================================== */
.cs4-catalog-grid {display:grid;grid-template-columns:repeat(2, 1fr);gap:clamp(20px, 3vw, 36px);}
.cs4-catalog {display:flex;flex-direction:column;gap:14px;text-decoration:none;}
.cs4-catalog__img {display:block;width:100%;aspect-ratio:4 / 5;object-fit:cover;border:1px solid rgba(14,58,109,.12);transition:border-color .15s ease;}
.cs4-catalog:hover .cs4-catalog__img {border-color:var(--lime);}
.cs4-catalog__meta {display:flex;flex-direction:column;align-items:flex-start;gap:12px;}
.cs4-catalog__title,
.cs4-ind-card__title {font-family:var(--font-display);font-size:20px;font-weight:700;line-height:1.1;text-transform:uppercase;color:var(--navy);}
.cs4-catalog__view {flex:none;padding-bottom:4px;border-bottom:2px solid var(--lime);font-size:12px;font-weight:700;line-height:1;letter-spacing:.08em;text-transform:uppercase;color:var(--navy);text-decoration:none;}
.cs4-catalog__view:hover {color:var(--navy-hover);}

/* Static "not in a catalog" tile that closes the grid's short last row. */
.cs4-catalog-cta__panel {display:flex;flex-direction:column;justify-content:flex-end;aspect-ratio:4 / 5;padding:clamp(22px, 3vw, 32px);background:var(--bg-tile);border:1px solid rgba(14,58,109,.12);}
.cs4-catalog-cta__body {display:flex;flex-direction:column;gap:14px;}
.cs4-catalog-cta__title {margin:0;font-size:clamp(24px, 2.6vw, 34px);line-height:1.02;text-wrap:balance;}
.cs4-catalog-cta__text {margin:0;color:var(--slate-body);text-wrap:pretty;}

/* ==========================================================================
   CONTACT SPLIT
   ========================================================================== */
/* Full-bleed band. On wide screens the outer padding AND the panel column both
   grow by --bleed, so the copy lines up with .container while the panel's own
   content width stays constant. */
.cs4-contact-split {display:grid;grid-template-columns:1fr;gap:0;align-items:stretch;}
.cs4-contact-form {padding:clamp(37px, 7vw, 60px) var(--gutter) clamp(45px, 7vw, 72px) calc(var(--gutter) + var(--bleed));}
.cs4-contact-form__title,
.cs4-uc-hero__title {margin:0;font-size:clamp(35px, 6.8vw, 68px);line-height:.94;}
.cs4-contact-form__intro {margin:16px 0 0;max-width:520px;color:var(--slate-body);text-wrap:pretty;}
.cs4-contact-form__form {margin-top:clamp(26px, 4vw, 36px);max-width:680px;}

.cs4-contact-panel {display:flex;flex-direction:column;gap:clamp(26px, 4vw, 34px);padding:clamp(37px, 7vw, 60px) clamp(20px, 5vw, 40px);background:var(--navy);color:#fff;}
.cs4-contact-panel__block--ruled {padding-top:clamp(22px, 3vw, 28px);border-top:1px solid var(--rule-navy);}
.cs4-contact-panel__title {margin:0;font-family:var(--font-display);font-size:24px;font-weight:700;line-height:1.05;letter-spacing:.03em;text-transform:uppercase;color:#fff;}
.cs4-contact-panel__links {display:flex;flex-direction:column;gap:14px;margin-top:16px;}
.cs4-contact-panel__contact {font-weight:600;line-height:1.3;color:#fff;text-decoration:none;word-break:break-word;}
.cs4-contact-panel__contact:hover {color:var(--lime);}
.cs4-contact-panel .cs4-instagram {margin-top:0;}
.cs4-contact-panel__text {margin:12px 0 0;color:var(--on-navy-body);}
.cs4-contact-panel__btn {margin-top:18px;padding:15px 24px;font-size:13px;}

.cs4-fee-stack {display:flex;flex-direction:column;gap:10px;margin:0;font-family:var(--font-display);font-size:18px;font-weight:700;line-height:1.2;letter-spacing:.06em;text-transform:uppercase;}
.cs4-fee-stack__item {display:flex;align-items:center;gap:10px;white-space:nowrap;}
.cs4-fee-stack__slash {color:var(--lime);}

.cs4-contact-panel__trust {display:flex;flex-wrap:wrap;align-items:center;gap:12px 14px;padding-top:clamp(22px, 3vw, 28px);border-top:1px solid var(--rule-navy);}
.cs4-contact-panel__trust .cs4-trust__pics {flex:none;height:34px;width:auto;}
.cs4-contact-panel__trust .cs4-trust__text {font-size:13px;font-weight:500;line-height:1.3;color:var(--on-navy-emphasis);}

/* ==========================================================================
   GRAVITY FORMS — CONTACT (on light)
   ========================================================================== */
.cs4-contact-form__form .gform_wrapper {margin:0;}
.cs4-contact-form__form .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) .gform_required_legend {display:none !important;}
.cs4-contact-form__form .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) .gfield_label {margin:0 0 8px;font-size:13px;font-weight:600;line-height:1;letter-spacing:.04em;text-transform:uppercase;color:var(--navy-deep);}
.cs4-contact-form__form .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) .gfield_required {color:var(--lime);}
.cs4-contact-form__form .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) .ginput_complex label,
.cs4-contact-form__form .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) .gform-field-label--type-sub {margin-top:0;font-size:12px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--slate-muted);}
.cs4-contact-form__form .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) input[type="text"],
.cs4-contact-form__form .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) input[type="email"],
.cs4-contact-form__form .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) input[type="tel"],
.cs4-contact-form__form .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) select,
.cs4-contact-form__form .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) textarea {width:100%;height:auto;padding:7px 10px;background:#fff;border:1px solid var(--rule-btn);border-radius:4px;font-size:14px;line-height:1.3;color:var(--navy-deep);}
.cs4-contact-form__form .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) ::placeholder {color:var(--slate-placeholder);}
.cs4-contact-form__form .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) :is(.gform_footer, .gform-footer) {display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin:18px 0 0;padding:0;}
.cs4-contact-form__form .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) :is(.gform_footer, .gform-footer) :is(input[type="submit"], button.gform_button) {flex:none;width:auto;margin:0;padding:17px 32px;background:var(--navy);border:0;border-radius:3px;font-family:inherit;font-size:14px;font-weight:700;line-height:1;letter-spacing:.08em;text-transform:uppercase;color:#fff;cursor:pointer;transition:background-color .15s ease;}
.cs4-contact-form__form .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) :is(.gform_footer, .gform-footer) :is(input[type="submit"], button.gform_button):hover {background:var(--navy-hover);}

/* ==========================================================================
   BLOG — SHARED
   ========================================================================== */
.cs4-ph {display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:16 / 10;padding:10px;background:var(--bg-placeholder);border:1px solid var(--rule-subtle);font-size:11px;font-weight:600;line-height:1.3;letter-spacing:.16em;text-transform:uppercase;text-align:center;color:var(--slate-placeholder);}

.cs4-post-meta {display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0;}
.cs4-post-meta__flag {font-size:11px;font-weight:700;line-height:1;letter-spacing:.14em;text-transform:uppercase;color:var(--lime);}
.cs4-post-meta__cat {font-size:11px;font-weight:700;line-height:1;letter-spacing:.14em;text-transform:uppercase;color:var(--navy);}
.cs4-post-meta__date {font-size:12px;font-weight:500;line-height:1;letter-spacing:.06em;text-transform:uppercase;color:var(--slate-placeholder);}
.cs4-post-meta__sep {width:1px;height:10px;background:rgba(14,58,109,.2);}
.cs4-post-meta__flag + .cs4-post-meta__cat::before {content:"";display:inline-block;width:1px;height:10px;margin-right:10px;background:rgba(14,58,109,.2);vertical-align:middle;}

/* ==========================================================================
   BLOG ARCHIVE
   ========================================================================== */
.cs4-topics,
.cs4-crumbs {background:var(--bg-mist);border-bottom:1px solid rgba(14,58,109,.12);}
.cs4-topics__inner {display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;padding:16px 0;}
.cs4-topics__label {font-size:11px;font-weight:600;line-height:1;letter-spacing:.16em;text-transform:uppercase;color:var(--slate-placeholder);}
.cs4-topics__link {font-size:13px;font-weight:600;line-height:1;letter-spacing:.06em;text-transform:uppercase;color:var(--slate-body);text-decoration:none;}
.cs4-topics__link:hover {color:var(--navy);}
.cs4-topics__link.is-current {font-weight:700;color:var(--navy);border-bottom:2px solid var(--lime);padding-bottom:4px;}

.cs4-feat-post {display:block;text-decoration:none;border-bottom:1px solid rgba(14,58,109,.12);}
.cs4-feat-post__inner {display:grid;grid-template-columns:1fr;gap:clamp(22px, 4vw, 44px);align-items:center;padding:clamp(28px, 5vw, 48px) 0 clamp(30px, 5vw, 50px);}
.cs4-feat-post__img,
.cs4-blog-card__img,
.cs4-post-hero__img {display:block;width:100%;aspect-ratio:16 / 10;object-fit:cover;border:1px solid var(--rule-subtle);}
.cs4-feat-post__title {margin:14px 0 0;max-width:620px;font-size:clamp(28px, 4vw, 44px);line-height:1.02;letter-spacing:.005em;}
.cs4-feat-post__excerpt {margin:16px 0 20px;max-width:560px;color:var(--slate-body);text-wrap:pretty;}
.cs4-feat-post__more {display:inline-block;padding-bottom:4px;border-bottom:2px solid var(--lime);font-size:12px;font-weight:700;line-height:1;letter-spacing:.08em;text-transform:uppercase;color:var(--navy);}

.cs4-blog-grid {display:grid;grid-template-columns:1fr;}
.cs4-blog-card {display:flex;flex-direction:column;padding:0 0 28px;border-top:1px solid var(--rule);text-decoration:none;}
.cs4-blog-card__media {display:block;margin:24px 0 18px;}
.cs4-blog-card__title {margin:12px 0 10px;font-size:clamp(21px, 2.2vw, 25px);line-height:1.12;letter-spacing:.01em;}
.cs4-blog-card:hover .cs4-blog-card__title {color:var(--navy-hover);}
.cs4-blog-card__excerpt {margin:0 0 16px;color:var(--slate-body);text-wrap:pretty;}
.cs4-blog-card__more {align-self:flex-start;margin-top:auto;padding-bottom:4px;border-bottom:2px solid var(--lime);font-size:12px;font-weight:700;line-height:1;letter-spacing:.08em;text-transform:uppercase;color:var(--navy);}
.cs4-blog-card:hover .cs4-blog-card__more {border-bottom-color:var(--navy);}
.cs4-blog-empty {padding:40px 0;color:var(--slate-body);}

.cs4-pagination {display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding:clamp(26px, 4vw, 38px) 0 0;border-top:1px solid var(--rule);}
.cs4-pagination__count {font-size:14px;font-weight:500;line-height:1;color:var(--slate-label);}
.cs4-pagination__links {display:flex;flex-wrap:wrap;gap:8px;}
.cs4-pagination__links .page-numbers {display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 12px;border:1px solid rgba(14,58,109,.16);font-weight:600;line-height:1;color:var(--slate-ink);text-decoration:none;}
.cs4-pagination__links .page-numbers:hover {border-color:var(--navy);color:var(--navy);}
.cs4-pagination__links .page-numbers.current {background:var(--navy);border-color:var(--navy);color:#fff;}

/* ==========================================================================
   BLOG POST
   ========================================================================== */
.cs4-post-hero {border-bottom:1px solid rgba(14,58,109,.12);}
.cs4-post-hero__title {margin:18px 0 0;max-width:720px;font-size:clamp(32px, 5.6vw, 58px);line-height:.96;letter-spacing:-.005em;}

.cs4-post-author {display:flex;align-items:center;gap:14px;margin-top:26px;}
.cs4-post-author__avatar {flex:none;width:52px;height:52px;border-radius:50%;}
.cs4-post-author__body {display:flex;flex-direction:column;gap:4px;}
.cs4-post-author__name {font-weight:600;line-height:1.2;color:var(--navy-deep);}
.cs4-post-author__role {font-size:13px;font-weight:400;line-height:1.3;color:var(--slate-label);}

.cs4-crumbs__inner {display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:14px 0;font-size:12px;font-weight:600;line-height:1;letter-spacing:.1em;text-transform:uppercase;}
.cs4-crumbs__inner a {color:var(--slate-label);text-decoration:none;}
.cs4-crumbs__inner a:hover {color:var(--navy);}
.cs4-crumbs__sep {color:var(--rule-crumb);}
.cs4-crumbs__current {color:var(--navy);}

.cs4-post-body__inner {display:grid;grid-template-columns:1fr;gap:clamp(28px, 5vw, 56px);}

.cs4-toc {order:1;padding:0 0 26px;border-bottom:1px solid var(--rule);}
.cs4-toc__heading,
.cs4-post-aside__title {margin:0 0 12px;font-family:var(--font-display);font-size:18px;font-weight:700;line-height:1;letter-spacing:.06em;text-transform:uppercase;color:var(--navy);}
.cs4-toc__nav {display:flex;flex-direction:column;}
.cs4-toc__nav a {padding:9px 0 9px 14px;border-left:2px solid var(--rule);font-size:14px;font-weight:500;line-height:1.45;color:var(--slate-ink);text-decoration:none;}
.cs4-toc__nav a:hover {color:var(--navy);border-left-color:var(--lime);}

.cs4-post-aside {order:3;display:flex;flex-direction:column;gap:26px;padding:26px 0 0;border-top:1px solid var(--rule);}
.cs4-post-aside__inner {display:flex;flex-direction:column;gap:26px;}
.cs4-post-aside__cta {padding:22px;background:var(--bg-mist);}
.cs4-post-aside__cta .cs4-post-aside__title {font-size:20px;line-height:1.05;letter-spacing:0;}
.cs4-post-aside__text {margin:10px 0 14px;font-size:14px;line-height:1.6;color:var(--slate-body);}
.cs4-post-aside__btn {padding:14px 18px;font-size:12px;}
.cs4-post-share__links {display:flex;flex-direction:column;gap:9px;}
.cs4-post-share__links a {font-size:14px;font-weight:500;line-height:1.4;color:var(--slate-ink);text-decoration:none;}
.cs4-post-share__links a:hover {color:var(--navy);}

/* Article rich text */
.cs4-richtext {order:2;max-width:720px;}
.cs4-richtext h2 {font-size:clamp(26px, 3.6vw, 36px);}
.cs4-richtext h2:first-child {margin-top:0;}
.cs4-richtext h3 {margin:32px 0 10px;font-family:var(--font-body);font-size:20px;font-weight:600;line-height:1.25;text-transform:none;color:var(--navy-deep);}
.cs4-richtext p {margin:0 0 18px;color:var(--slate-ink);text-wrap:pretty;}
.cs4-richtext > p:first-of-type {font-size:18px;line-height:1.65;color:var(--slate-seo);}
.cs4-richtext ul,
.cs4-richtext ol {margin:0 0 20px;padding-left:24px;}
.cs4-richtext ul {list-style:disc;}
.cs4-richtext ol {list-style:decimal;}
.cs4-richtext li {padding:0 0 8px;color:var(--slate-ink);}
.cs4-richtext li::marker {color:var(--navy);}
.cs4-richtext blockquote {margin:28px 0;padding:0 0 0 22px;border-left:3px solid var(--lime);font-size:20px;font-weight:500;line-height:1.5;color:var(--navy-deep);}
.cs4-richtext img {height:auto;}
.cs4-richtext table {width:100%;margin:8px 0 24px;border-collapse:collapse;}
.cs4-richtext th {padding:12px 14px 12px 0;border-bottom:1px solid rgba(14,58,109,.3);font-size:12px;font-weight:700;line-height:1;letter-spacing:.12em;text-transform:uppercase;text-align:left;color:var(--navy);}
.cs4-richtext td {padding:14px 14px 14px 0;border-bottom:1px solid var(--rule-subtle);color:var(--slate-ink);vertical-align:top;}
.cs4-richtext hr {height:1px;margin:36px 0;border:0;background:var(--rule);}

/* Related posts — reuses the archive card grid */
.cs4-related__heading {margin:0 0 clamp(18px, 3vw, 26px);font-size:clamp(24px, 3.2vw, 32px);line-height:1.05;}

/* ==========================================================================
   BLOG POST — FAQ
   ========================================================================== */
.cs4-faq--mist {background:var(--bg-mist);}
.cs4-faq__inner {display:grid;grid-template-columns:1fr;gap:clamp(20px, 4vw, 48px);}
.cs4-faq__heading {margin:0;font-size:clamp(26px, 3.6vw, 38px);line-height:1;letter-spacing:.01em;text-wrap:balance;}
.cs4-faq__note {margin:14px 0 0;max-width:340px;color:var(--slate-body);text-wrap:pretty;}
.cs4-faq__item {border-top:1px solid var(--rule);}
.cs4-faq__item:last-of-type {border-bottom:1px solid var(--rule);}
.cs4-faq__item summary {display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 0;list-style:none;cursor:pointer;font-family:var(--font-display);font-size:clamp(19px, 2.1vw, 23px);font-weight:700;line-height:1.25;letter-spacing:.01em;text-transform:uppercase;color:var(--navy);}
.cs4-faq__item summary::-webkit-details-marker {display:none;}
.cs4-faq__item summary::after {content:"+";flex:none;font-size:24px;font-weight:600;line-height:.8;color:var(--lime);}
.cs4-faq__item[open] summary::after {content:"\2212";}
.cs4-faq__item summary:hover {color:var(--navy-hover);}
.cs4-faq__item p {margin:0 0 22px;max-width:760px;color:var(--slate-body);text-wrap:pretty;}

/* ==========================================================================
   DEFAULT PAGE TEMPLATE
   ========================================================================== */
.entry-title {margin:0;}
.cs4-page-rule {margin:clamp(20px, 3vw, 28px) 0 clamp(28px, 4vw, 40px);border:0;border-top:1px solid var(--rule);}

/* ==========================================================================
   SITEMAP
   ========================================================================== */
/* Scoped under .cs4-sitemap so these beat the generic `.entry ul/li` rules. */
.cs4-sitemap .cs4-sitemap__section {padding:26px 0 30px;border-top:1px solid var(--rule);}
.cs4-sitemap .cs4-sitemap__heading {margin:0 0 10px;font-size:clamp(24px, 3vw, 30px);line-height:1;letter-spacing:.02em;}
.cs4-sitemap .cs4-sitemap__cols {display:grid;grid-template-columns:1fr;gap:0 clamp(24px, 3vw, 44px);}
.cs4-sitemap .cs4-sitemap__link {display:flex;align-items:baseline;gap:10px;min-height:32px;padding:6px 0;font-weight:500;color:var(--navy-deep);text-decoration:none;}
.cs4-sitemap .cs4-sitemap__link:hover {color:var(--navy);}
.cs4-sitemap .cs4-sitemap__marker {flex:none;width:6px;height:6px;background:rgba(14,58,109,.25);transform:translateY(-3px);transition:background-color .15s ease;}
.cs4-sitemap .cs4-sitemap__link:hover .cs4-sitemap__marker {background:var(--lime);}

/* Page header with a right-aligned action (sitemap) */
.cs4-page-header--split {padding-bottom:clamp(26px, 5vw, 40px);}
.cs4-page-header__action {flex:none;}

/* ==========================================================================
   ARCHIVES (use cases + industries)
   ========================================================================== */
.cs4-page-header__statement {margin:20px 0 0;max-width:520px;font-weight:600;color:var(--navy-deep);text-wrap:pretty;}
.cs4-page-header__actions {margin-top:26px;}
.cs4-page-header__aside {display:flex;flex-direction:column;gap:14px;max-width:600px;}
.cs4-page-header__aside p {margin:0;color:var(--slate-body);text-wrap:pretty;}

/* Industries archive cards */
.cs4-ind-grid {display:grid;grid-template-columns:1fr;gap:clamp(16px, 2.5vw, 28px);}
.cs4-ind-card {display:flex;flex-direction:column;background:#fff;border:1px solid rgba(14,58,109,.12);text-decoration:none;transition:background-color .15s ease;}
.cs4-ind-card:hover {background:var(--bg-mist);}
.cs4-ind-card__img,
.cs4-ind-card__ph {display:block;width:100%;aspect-ratio:3 / 2;object-fit:cover;}
.cs4-ind-card__ph {display:flex;align-items:center;justify-content:center;background:repeating-linear-gradient(135deg, var(--stripe-a) 0 8px, var(--stripe-b) 8px 16px);font:500 11px/1 ui-monospace, Menlo, monospace;letter-spacing:.06em;color:var(--slate-muted);}
.cs4-ind-card__meta {display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:18px 20px 20px;}
.cs4-ind-card__view {flex:none;padding-bottom:4px;border-bottom:2px solid var(--lime);font-size:12px;font-weight:700;line-height:1;letter-spacing:.08em;text-transform:uppercase;color:var(--navy);}
.cs4-ind-card--cta {background:var(--navy);border-color:var(--navy);}
.cs4-ind-card--cta:hover {background:var(--navy-hover);}
.cs4-ind-card--cta .cs4-ind-card__title {color:#fff;}
.cs4-ind-card--cta .cs4-ind-card__view {color:var(--lime);}
.cs4-ind-card__cta-body {display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;aspect-ratio:3 / 2;padding:24px;}
.cs4-ind-card__cta-text {max-width:280px;text-align:center;color:var(--on-navy-body);text-wrap:pretty;}

/* ==========================================================================
   USE CASE LANDING
   ========================================================================== */
.cs4-uc-hero__body {margin:20px 0 0;max-width:520px;}
.cs4-uc-hero__body p {margin:0 0 12px;color:var(--slate-body);text-wrap:pretty;}
.cs4-uc-hero__body p:last-child {margin-bottom:0;}

/* Fee promise band */
.cs4-uc-diff {background:var(--navy);color:#fff;}
.cs4-uc-diff__heading {margin:0 0 clamp(20px, 3vw, 30px);text-align:center;font-size:clamp(21px, 4vw, 40px);line-height:1.02;color:#fff;}
.cs4-uc-diff__cell {padding:20px 0;border-top:1px solid var(--rule-navy);text-align:center;}
.cs4-uc-diff__cell:first-child {border-top:0;}
.cs4-uc-diff__lead {display:block;font-family:var(--font-display);font-size:clamp(30px, 3.4vw, 42px);font-weight:700;line-height:1;text-transform:uppercase;color:var(--lime);}
.cs4-uc-diff__label {display:block;margin-top:6px;font-family:var(--font-display);font-size:30px;font-weight:700;line-height:1.15;letter-spacing:.04em;text-transform:uppercase;color:#fff;}

/* Why it works */
.cs4-uc-why {display:grid;grid-template-columns:1fr;gap:clamp(28px, 5vw, 64px);}
.cs4-uc-why__intro h2 {margin:0;font-size:clamp(21px, 4vw, 40px);line-height:1.02;}
.cs4-uc-why__intro .cs4-lead {margin-top:16px;}
.cs4-uc-why__row:last-child {border-bottom:1px solid var(--rule);}
.cs4-uc-why__title {margin:0;font-size:21px;line-height:1.2;}
.cs4-uc-why__body p {margin:6px 0 0;max-width:620px;color:var(--slate-body);text-wrap:pretty;}
.cs4-uc-why__body p:first-child {margin-top:8px;font-weight:600;color:var(--navy-deep);}

/* Highlights */
.cs4-uc-highlights {background:var(--bg-mist-blue);}
.cs4-uc-highlights__heading {margin:0 0 clamp(20px, 3vw, 30px);max-width:820px;font-size:clamp(21px, 4vw, 40px);line-height:1.02;}
.cs4-uc-highlights__grid {display:grid;grid-template-columns:1fr;gap:clamp(16px, 2vw, 20px);}
.cs4-uc-highlight {padding:26px 24px 28px;background:#fff;border:1px solid var(--rule-subtle);border-top:3px solid var(--lime);}
.cs4-uc-highlight__body p {margin:9px 0 0;font-size:14px;line-height:1.55;color:var(--slate-body);}

/* ==========================================================================
   CLOSING CTA BAND
   ========================================================================== */
.cs4-cta-band {background:var(--lime);color:var(--navy-deep);}
.cs4-cta-band__heading {margin:0;font-size:clamp(26px, 5vw, 50px);line-height:1;color:var(--navy-deep);}
.cs4-cta-band__text {margin:12px 0 0;max-width:600px;font-weight:500;}
.cs4-cta-band__btn {flex:none;font-size:15px;}
.cs4-cta-band__actions {display:flex;flex:none;align-items:center;flex-wrap:wrap;gap:clamp(20px, 3vw, 34px);}
.cs4-cta-band__link {border-bottom-color:var(--navy-deep);color:var(--navy-deep);}
.cs4-cta-band__link:hover {border-bottom-color:var(--navy-hover);color:var(--navy-hover);}

/* ==========================================================================
   @FOOTER
   ========================================================================== */
.site-footer {background:var(--navy);color:#fff;}

.cs4-footer-grid {display:grid;grid-template-columns:1fr;gap:clamp(22px, 4vw, 44px);}

.cs4-footer-brand {display:flex;flex-direction:column;gap:20px;}
.cs4-footer-brand__logo {height:46px;width:auto;align-self:flex-start;}
.cs4-footer-brand__desc {margin:0;max-width:280px;font-size:14px;line-height:1.6;color:var(--on-navy-body);}
.cs4-footer-brand__contact {display:flex;flex-direction:column;gap:8px;}
.cs4-footer-brand__contact > a:not(.cs4-instagram) {font-weight:600;line-height:1;color:#fff;text-decoration:none;}
.cs4-footer-brand__contact a:hover {color:var(--lime);}

.cs4-instagram {display:flex;align-items:center;gap:9px;margin-top:4px;font-size:14px;color:var(--on-navy-body);}
.cs4-instagram:hover {color:#fff;}
.cs4-instagram svg {flex:none;}

.cs4-footer-col--stacked {display:flex;flex-direction:column;gap:36px;}
.cs4-footer__heading {margin:0 0 16px;font-family:var(--font-display);font-size:18px;font-weight:700;line-height:1;letter-spacing:.06em;text-transform:uppercase;color:#fff;}
.cs4-footer__links {display:flex;flex-direction:column;gap:9px;margin:0;padding:0;list-style:none;}
.cs4-footer__links a {font-size:14px;font-weight:400;line-height:1.5;color:var(--on-navy-body);text-decoration:none;}
.cs4-footer__links a:hover {color:#fff;}

.cs4-newsletter__intro {margin:0 0 14px;font-size:14px;line-height:1.55;color:var(--on-navy-body);}
.cs4-newsletter__fine {margin:10px 0 0;font-size:12px;line-height:1.5;color:var(--on-navy-fine);}

.cs4-footer-bottom {border-top:1px solid var(--rule-navy-subtle);}
.cs4-footer-bottom__inner {display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding:22px 0;}
.cs4-footer-bottom__copy {font-size:13px;line-height:1;color:var(--on-navy-meta);}
.cs4-footer-bottom__links {display:flex;gap:22px;}
.cs4-footer-bottom__links a {font-size:13px;font-weight:400;line-height:1;color:var(--on-navy-meta);text-decoration:none;}
.cs4-footer-bottom__links a:hover {color:#fff;}
.cs4-footer-bottom__links a.cs4-footer-bottom__accent {color:var(--lime);}
.cs4-footer-bottom__links a.cs4-footer-bottom__accent:hover {color:#fff;}

/* ==========================================================================
   GRAVITY FORMS — NEWSLETTER
   ========================================================================== */
.cs4-newsletter .gform_wrapper {margin:0;}
.cs4-newsletter .gform_wrapper.gform_legacy_markup_wrapper .gfield_label,
.cs4-newsletter .gform_wrapper.gform_legacy_markup_wrapper .gfield_required,
.cs4-newsletter .gform_wrapper.gform_legacy_markup_wrapper .gform_required_legend,
.cs4-newsletter .gform_wrapper.gform_legacy_markup_wrapper .gform_validation_container {display:none !important;}
.cs4-newsletter .gform_wrapper.gform_legacy_markup_wrapper .gform_fields {display:flex;flex-direction:column;gap:10px;margin:0;padding:0;}
.cs4-newsletter .gform_wrapper.gform_legacy_markup_wrapper .gfield {margin:0;padding:0;}
.cs4-newsletter .gform_wrapper.gform_legacy_markup_wrapper .ginput_container {margin:0;}
.cs4-newsletter .gform_wrapper.gform_legacy_markup_wrapper input[type="email"] {width:100%;height:auto;padding:7px 10px;background:#fff;border:0;border-radius:4px;font-size:14px;line-height:1;color:var(--navy-deep);}
.cs4-newsletter .gform_wrapper.gform_legacy_markup_wrapper input[type="email"]::placeholder {color:var(--slate-placeholder);}
.cs4-newsletter .gform_wrapper.gform_legacy_markup_wrapper .gform_footer {margin:10px 0 0;padding:0;}
.cs4-newsletter .gform_wrapper.gform_legacy_markup_wrapper .gform_footer :is(input[type="submit"], button.gform_button) {width:100%;margin:0;padding:15px;background:var(--lime);border:0;border-radius:4px;font-family:inherit;font-size:13px;font-weight:700;line-height:1;letter-spacing:.08em;text-transform:uppercase;color:var(--navy-deep);cursor:pointer;transition:background-color .15s ease;}
.cs4-newsletter .gform_wrapper.gform_legacy_markup_wrapper .gform_footer :is(input[type="submit"], button.gform_button):hover {background:var(--lime-hover);}
.cs4-newsletter .gform_wrapper .gfield_validation_message,
.cs4-newsletter .gform_wrapper .gform_validation_errors {padding:8px 10px;background:transparent;border:0;font-size:12px;color:var(--error);}
.cs4-newsletter .gform_confirmation_message {font-size:14px;line-height:1.55;color:var(--on-navy-body);}

/* ==========================================================================
   GRAVITY FORMS — DEMO PANEL
   ========================================================================== */
/* GF renders two markup modes: the modern `gravity-theme` (form 1) and the
   legacy wrapper (form 4). :is() matches either and keeps specificity above
   Gravity's own stylesheet, which loads after the theme's. */
.cs4-demo-panel .gform_wrapper {margin:0;}
.cs4-demo-panel .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) .gform_required_legend,
.cs4-demo-panel .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) .gform_validation_container {display:none !important;}
.cs4-demo-panel .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) .gfield {margin:0;padding:0;}
.cs4-demo-panel .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) .gfield_label {margin:0 0 5px;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--on-navy-body);}
.cs4-demo-panel .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) .gfield_required {color:var(--lime);}
.cs4-demo-panel .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) .ginput_complex label,
.cs4-demo-panel .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) .gform-field-label--type-sub {margin-top:0;font-size:11px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--on-navy-meta);}
.cs4-demo-panel .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) input[type="text"],
.cs4-demo-panel .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) input[type="email"],
.cs4-demo-panel .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) input[type="tel"],
.cs4-demo-panel .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) input[type="number"],
.cs4-demo-panel .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) select,
.cs4-demo-panel .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) textarea {width:100%;height:auto;padding:7px 10px;background:#fff;border:0;border-radius:4px;font-size:14px;line-height:1.3;color:var(--navy-deep);}
.cs4-demo-panel .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) ::placeholder {color:var(--slate-placeholder);}
.cs4-demo-panel .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) .gfield_description {padding:4px 0 0;font-size:12px;color:var(--on-navy-meta);}
.cs4-demo-panel .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) :is(.gform_footer, .gform-footer) {margin:16px 0 0;padding:0;}
.cs4-demo-panel .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) :is(.gform_footer, .gform-footer) :is(input[type="submit"], button.gform_button) {width:100%;margin:0;padding:18px;background:var(--lime);border:0;border-radius:4px;font-family:inherit;font-size:14px;font-weight:700;line-height:1;letter-spacing:.08em;text-transform:uppercase;color:var(--navy-deep);cursor:pointer;transition:background-color .15s ease;}
.cs4-demo-panel .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) :is(.gform_footer, .gform-footer) :is(input[type="submit"], button.gform_button):hover {background:var(--lime-hover);}
.cs4-demo-panel .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) :is(.gfield_validation_message, .gform_validation_errors, .validation_message) {margin:0;padding:6px 0 0;background:transparent;border:0;font-size:12px;color:var(--error);}
.cs4-demo-panel .gform_confirmation_message {color:var(--on-navy-body);}

/* ==========================================================================
   CLEARER
   ========================================================================== */
.container:after,
.row:after,
.entry:after {content:"";display:table;clear:both;}
