/*
Theme Name: Caring Sharing HCSM Enterprise
Theme URI: https://caringandsharingagents.com/
Author: INS Marketing Systems
Description: Enterprise WPBakery-ready WordPress theme for HCSM-focused insurance agent recruiting, education, member support, and agency CRM workflows.
Version: 2.1.1
Requires at least: 6.2
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: cshcsm
Tags: custom-logo, custom-menu, wpbakery, agency, health, landing-page
*/
:root {
    --cs-blue: #005ca8;
    --cs-blue-2: #087bcc;
    --cs-navy: #003a68;
    --cs-navy-2: #052a4d;
    --cs-green: #67b23b;
    --cs-green-2: #86c955;
    --cs-ink: #13283f;
    --cs-slate: #52657a;
    --cs-light: #eef8ff;
    --cs-soft: #f7fbff;
    --cs-border: #d7e8f5;
    --cs-radius: 20px;
    --cs-radius-lg: 26px;
    --cs-shadow: 0 22px 58px rgba(0, 55, 100, .13);
    --cs-shadow-soft: 0 12px 36px rgba(0, 55, 100, .10);
    --cs-shell: 1320px;
    --cs-container: 1160px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.cshcsm-enterprise {
    margin: 0;
    color: var(--cs-ink);
    font-family: "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    line-height: 1.55;
    background:
        radial-gradient(circle at top left, rgba(105,179,59,.14), transparent 35%),
        radial-gradient(circle at top right, rgba(8,123,204,.14), transparent 35%),
        linear-gradient(180deg, #f4fbff 0%, #eaf6ff 48%, #f9fdff 100%);
}
a { color: var(--cs-blue); text-decoration: none; transition: color .18s ease, transform .18s ease, box-shadow .18s ease, background .18s ease; }
a:hover { color: var(--cs-green); }
img { max-width: 100%; height: auto; }
.screen-reader-text { position: absolute; left: -9999px; }
.skip-link:focus { left: 16px; top: 16px; z-index: 9999; background: #fff; padding: 12px 16px; border-radius: 8px; }
.cshcsm-shell {
    width: min(var(--cs-shell), calc(100% - 44px));
    margin: 22px auto;
    background: #fff;
    border: 1px solid rgba(0, 92, 168, .10);
    border-radius: var(--cs-radius-lg);
    overflow: hidden;
    box-shadow: 0 28px 82px rgba(0, 55, 100, .16);
}
.cshcsm-container,
.cs-container { width: min(var(--cs-container), calc(100% - 52px)); margin-inline: auto; }
.cshcsm-wide { width: min(1240px, calc(100% - 52px)); margin-inline: auto; }
.cshcsm-header { background: rgba(255,255,255,.98); border-bottom: 1px solid rgba(0, 92, 168, .10); position: relative; z-index: 80; }
.cshcsm-header-inner { min-height: 104px; display: flex; align-items: center; gap: 28px; padding: 0 44px; }
.cshcsm-brand-logo { display: inline-flex; align-items: center; gap: 14px; color: var(--cs-navy); min-width: 260px; }
.cshcsm-brand-logo img { width: 82px; height: auto; flex: 0 0 auto; display: block; }
.cshcsm-brand-text { display: grid; line-height: 1.02; }
.cshcsm-brand-title { font-family: Georgia, "Times New Roman", serif; font-weight: 700; font-size: 25px; color: var(--cs-navy); letter-spacing: .01em; }
.cshcsm-brand-title .green { color: var(--cs-green); }
.cshcsm-brand-sub { margin-top: 5px; color: #6b7886; font-size: 12px; font-weight: 700; letter-spacing: .02em; }
.cshcsm-brand-ins { margin-top: 6px; display: inline-flex; align-items: center; gap: 6px; color: #6f7b86; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; }
.cshcsm-brand-ins:before { content: ""; width: 25px; height: 13px; background: linear-gradient(135deg, var(--cs-blue), var(--cs-blue-2)); border-radius: 90% 10% 90% 10%; display: inline-block; transform: skewX(-14deg); opacity: .9; }
.cshcsm-nav { margin-left: auto; }
.cshcsm-menu { list-style: none; display: flex; align-items: center; gap: 26px; padding: 0; margin: 0; }
.cshcsm-menu li { position: relative; margin: 0; }
.cshcsm-menu > li > a { display: inline-flex; align-items: center; gap: 7px; padding: 37px 0 35px; color: #17324a; font-weight: 760; font-size: 15px; line-height: 1; }
.cshcsm-menu > li.current-menu-item > a,
.cshcsm-menu > li.current_page_item > a,
.cshcsm-menu > li > a:hover { color: var(--cs-blue); }
.cshcsm-menu > li.current-menu-item > a:after,
.cshcsm-menu > li.current_page_item > a:after,
.cshcsm-menu > li > a:hover:after { content: ""; position: absolute; left: 0; right: 0; bottom: 25px; height: 3px; border-radius: 99px; background: var(--cs-green); }
.cshcsm-menu .menu-item-has-children > a:before { content: ""; order: 2; width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-2px); opacity: .8; }
.cshcsm-menu .sub-menu { position: absolute; left: -18px; top: calc(100% - 12px); min-width: 238px; list-style: none; margin: 0; padding: 12px; background: rgba(255,255,255,.98); border: 1px solid var(--cs-border); border-radius: 18px; box-shadow: var(--cs-shadow-soft); opacity: 0; visibility: hidden; transform: translateY(8px); transition: .18s ease; z-index: 999; }
.cshcsm-menu li:hover > .sub-menu,
.cshcsm-menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.cshcsm-menu .sub-menu a { display: block; padding: 10px 12px; color: #17324a; font-size: 14px; font-weight: 700; border-radius: 11px; }
.cshcsm-menu .sub-menu a:hover { background: var(--cs-light); color: var(--cs-blue); }
.cshcsm-header-cta,
.cshcsm-button,
.cs-btn,
.vc_btn3.cshcsm-button { border: 0; display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 0 22px; border-radius: 12px; background: linear-gradient(135deg, var(--cs-blue), var(--cs-blue-2)); color: #fff !important; font-weight: 800; box-shadow: 0 12px 26px rgba(0, 92, 168, .22); white-space: nowrap; }
.cshcsm-header-cta { margin-left: 4px; border-radius: 12px; padding-inline: 24px; }
.cshcsm-header-cta:before { content: ""; width: 15px; height: 15px; display: inline-block; background: currentColor; opacity: .95; -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M6 10V8a6 6 0 0 1 12 0v2h1a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V11a1 1 0 0 1 1-1h1zm2 0h8V8a4 4 0 0 0-8 0v2z"/></svg>') center/contain no-repeat; mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M6 10V8a6 6 0 0 1 12 0v2h1a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V11a1 1 0 0 1 1-1h1zm2 0h8V8a4 4 0 0 0-8 0v2z"/></svg>') center/contain no-repeat; }
.cshcsm-button:hover,
.cs-btn:hover,
.cshcsm-header-cta:hover { color: #fff !important; transform: translateY(-1px); box-shadow: 0 16px 30px rgba(0, 92, 168, .28); }
.cshcsm-button-secondary,
.cs-btn.secondary { background: #fff; border: 2px solid var(--cs-green); color: var(--cs-green) !important; box-shadow: none; }
.cshcsm-button-secondary:hover,
.cs-btn.secondary:hover { background: var(--cs-green); color: #fff !important; box-shadow: 0 14px 28px rgba(103, 178, 59, .22); }
.cshcsm-menu-toggle { display: none; margin-left: auto; border: 1px solid var(--cs-border); background: #fff; color: var(--cs-blue); border-radius: 999px; padding: 10px 14px; font-weight: 800; }
.cshcsm-site-main { min-height: 55vh; background: #fff; }
.cs-home-hero { position: relative; overflow: hidden; min-height: 580px; display: flex; align-items: stretch; background:
    linear-gradient(90deg, rgba(255,255,255,.99) 0%, rgba(255,255,255,.96) 34%, rgba(255,255,255,.72) 57%, rgba(238,248,255,.42) 100%),
    url('assets/img/hero-family-bg.png') right center / auto 100% no-repeat,
    linear-gradient(120deg, #fff 0%, #edf8ff 100%);
    border-bottom: 1px solid rgba(0, 92, 168, .09);
}
.cs-home-hero:before { content: ""; position: absolute; inset: auto 0 0 0; height: 135px; pointer-events: none; background: linear-gradient(180deg, transparent 0%, rgba(255,255,255,.65) 58%, #fff 100%); }
.cs-home-hero-inner { position: relative; z-index: 2; width: 100%; padding: 55px 0 96px; }
.cs-hero-copy { max-width: 610px; }
.cs-eyebrow,
.cs-kicker { margin: 0 0 18px; color: var(--cs-blue); font-weight: 900; letter-spacing: .13em; text-transform: uppercase; font-size: 14px; }
.cs-eyebrow.green,
.cs-kicker.green { color: var(--cs-green); }
.cs-home-hero h1,
.cs-page-hero h1,
.cs-section-title,
.cshcsm-page-hero h1 { margin: 0; font-family: Georgia, "Times New Roman", serif; color: var(--cs-navy); font-size: clamp(42px, 5.2vw, 74px); line-height: .98; letter-spacing: -.035em; }
.cs-home-hero h1 .green,
.cs-section-title .green { color: var(--cs-green); }
.cs-home-hero .cs-intro { max-width: 560px; margin: 20px 0 0; color: #27425b; font-size: 17px; line-height: 1.7; }
.cs-actions { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 28px; }
.cs-mini-values { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin-top: -58px; position: relative; z-index: 3; }
.cs-value-card,
.cs-feature-card,
.cs-panel,
.cs-step,
.cs-portal-box { background: rgba(255,255,255,.96); border: 1px solid rgba(0, 92, 168, .11); border-radius: 18px; box-shadow: var(--cs-shadow-soft); padding: 24px; }
.cs-value-card { min-height: 154px; display: grid; grid-template-columns: 76px 1fr; gap: 18px; align-items: start; }
.cs-value-card h3,
.cs-feature-card h3,
.cs-panel h3,
.cs-step h3 { margin: 0 0 8px; color: var(--cs-navy); font-family: Georgia, "Times New Roman", serif; font-size: 20px; line-height: 1.08; }
.cs-value-card p,
.cs-feature-card p,
.cs-panel p,
.cs-step p { margin: 0; color: #314860; font-size: 14px; line-height: 1.55; }
.cs-icon-circle { width: 64px; height: 64px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: linear-gradient(180deg, #f3faff, #eaf5ff); border: 1px solid var(--cs-border); color: var(--cs-blue); }
.cs-icon-circle svg { width: 34px; height: 34px; display: block; fill: none; stroke: currentColor; stroke-width: 2.3; stroke-linecap: round; stroke-linejoin: round; }
.cs-icon-circle.green { color: var(--cs-green); }
.cs-home-section { padding: 54px 0; background: #fff; }
.cs-info-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.cs-panel { padding: 28px; min-height: 100%; }
.cs-panel h2 { margin: 0 0 10px; color: var(--cs-navy); font-family: Georgia, "Times New Roman", serif; font-size: clamp(28px, 3vw, 38px); line-height: 1.05; }
.cs-panel .accent { width: 54px; height: 3px; background: var(--cs-green); border-radius: 99px; margin: 0 0 14px; }
.cs-inline-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 22px; }
.cs-inline-item { display: grid; grid-template-columns: 42px 1fr; gap: 10px; align-items: center; color: #244056; font-size: 13px; font-weight: 700; }
.cs-inline-item .cs-icon-circle { width: 42px; height: 42px; }
.cs-inline-item .cs-icon-circle svg { width: 24px; height: 24px; }
.cs-learn-link { display: inline-flex; align-items: center; gap: 9px; margin-top: 20px; color: var(--cs-blue); font-weight: 800; }
.cs-learn-link:after { content: "›"; font-size: 22px; line-height: 1; }
.cs-how { padding: 14px 0 24px; background: #fff; }
.cs-centered { text-align: center; }
.cs-centered .accent { margin-left: auto; margin-right: auto; }
.cs-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin: 26px auto 0; max-width: 1080px; }
.cs-step { position: relative; display: grid; grid-template-columns: 58px 1fr; gap: 14px; align-items: start; padding: 18px; }
.cs-step:not(:last-child):after { content: "›"; position: absolute; right: -12px; top: 50%; transform: translateY(-50%); color: #9fb3c4; font-size: 40px; line-height: 1; z-index: 2; }
.cs-step h3 { font-size: 15px; font-family: inherit; font-weight: 900; color: var(--cs-blue); }
.cs-step p { font-size: 12px; }
.cs-page-hero { position: relative; overflow: hidden; padding: 64px 0; background:
    linear-gradient(90deg, rgba(255,255,255,.98), rgba(255,255,255,.85)),
    url('assets/img/hero-family-bg.png') right center/auto 100% no-repeat,
    linear-gradient(120deg, #fff, #eff8ff); border-bottom: 1px solid var(--cs-border); }
.cs-page-hero .cs-intro { max-width: 680px; color: #27425b; font-size: 18px; }
.cs-page-content { padding: 46px 0 58px; background: #fff; }
.cs-page-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.cs-two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: start; }
.cs-three-col { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.cs-pill-list { display: flex; flex-wrap: wrap; gap: 10px; margin: 18px 0 0; padding: 0; list-style: none; }
.cs-pill-list li { display: inline-flex; align-items: center; border: 1px solid #cfe5f5; background: #f4fbff; color: var(--cs-navy); border-radius: 999px; padding: 9px 13px; font-size: 13px; font-weight: 800; }
.cs-blue-band { background: linear-gradient(135deg, var(--cs-navy-2), var(--cs-blue)); color: #fff; border-radius: 22px; padding: 34px; }
.cs-blue-band h2,
.cs-blue-band h3,
.cs-blue-band p { color: #fff; }
.cs-form-card { background: #fff; border: 1px solid var(--cs-border); border-radius: 22px; box-shadow: var(--cs-shadow-soft); padding: 26px; }
.cs-form-card input,
.cs-form-card textarea,
.cs-form-card select,
.cshcsm-content-wrap input,
.cshcsm-content-wrap textarea,
.cshcsm-content-wrap select { width: 100%; border: 1px solid #cfe0ec; border-radius: 12px; padding: 12px 14px; font: inherit; color: var(--cs-ink); background: #fff; }
.cs-form-card button,
.cs-form-card input[type="submit"],
.cshcsm-content-wrap button,
.cshcsm-content-wrap input[type="submit"] { border: 0; border-radius: 12px; padding: 13px 18px; background: linear-gradient(135deg, var(--cs-blue), var(--cs-blue-2)); color: #fff; font-weight: 800; cursor: pointer; width: auto; }
.cshcsm-content-wrap > .vc_row { margin-left: 0; margin-right: 0; }
.cshcsm-content-wrap .wpb_content_element { margin-bottom: 0; }
.cshcsm-content-wrap .vc_row:not(.vc_row-has-fill) { background: transparent; }
.cs-page-v2 { padding: 0; }
.cs-wpb-section { width: min(var(--cs-container), calc(100% - 52px)); margin-inline: auto; padding: 50px 0; }
.cs-wpb-cards { width: min(var(--cs-container), calc(100% - 52px)); margin-inline: auto; }
.cs-feature-card { min-height: 100%; }
.cs-feature-card strong { color: var(--cs-green); }
.cs-muted { color: var(--cs-slate); }
.cs-legal-note { color: #657789; font-size: 13px; line-height: 1.6; }
.cshcsm-page-hero { padding: 76px 0; background: linear-gradient(135deg, #fff, #f1f9ff); border-bottom: 1px solid var(--cs-border); }
.cshcsm-page-hero h1 { font-size: clamp(38px, 5vw, 64px); }
.cshcsm-index-list { display: grid; gap: 22px; padding: 50px 0; }
.cshcsm-card { background: #fff; border: 1px solid var(--cs-border); border-radius: 18px; box-shadow: var(--cs-shadow-soft); padding: 24px; }
.cshcsm-footer { background: #fff; border-top: 1px solid rgba(0,92,168,.10); }
.cshcsm-footer-main { padding: 36px 44px; display: grid; grid-template-columns: 1.6fr repeat(4, 1fr); gap: 30px; }
.cshcsm-footer .cshcsm-brand-logo { min-width: 0; }
.cshcsm-footer h3 { color: var(--cs-navy); margin: 0 0 12px; font-size: 15px; }
.cshcsm-footer p { color: #52657a; margin: 12px 0; font-size: 14px; }
.cshcsm-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 7px; }
.cshcsm-footer a { color: #17324a; font-size: 13px; }
.cshcsm-footer a:hover { color: var(--cs-blue); }
.cshcsm-socials { display: flex; gap: 9px; margin-top: 14px; }
.cshcsm-socials a { width: 28px; height: 28px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: #fff; background: var(--cs-blue); font-size: 12px; font-weight: 900; }
.cshcsm-footer-bottom { background: linear-gradient(135deg, var(--cs-blue), var(--cs-navy)); color: #fff; padding: 16px 44px; display: flex; align-items: center; justify-content: space-between; gap: 20px; font-size: 12px; }
.cshcsm-footer-bottom a { color: #fff; margin-left: 18px; }
.cshcsm-disclaimer { padding: 14px 44px 0; color: #657789; font-size: 11px; line-height: 1.55; }
.cscrm-table,
.cshcsm-content-wrap table { width: 100%; border-collapse: collapse; background: #fff; border: 1px solid var(--cs-border); border-radius: 14px; overflow: hidden; }
.cscrm-table th,
.cscrm-table td,
.cshcsm-content-wrap th,
.cshcsm-content-wrap td { padding: 12px; border-bottom: 1px solid var(--cs-border); text-align: left; }
@media (max-width: 1180px) {
    .cshcsm-header-inner { padding-inline: 28px; gap: 18px; }
    .cshcsm-menu { gap: 16px; }
    .cshcsm-menu > li > a { font-size: 13px; }
    .cshcsm-brand-title { font-size: 22px; }
    .cshcsm-brand-logo img { width: 68px; }
}
@media (max-width: 980px) {
    .cshcsm-shell { width: min(100% - 20px, var(--cs-shell)); margin: 10px auto; border-radius: 18px; }
    .cshcsm-header-inner { min-height: auto; flex-wrap: wrap; padding: 14px 18px; }
    .cshcsm-menu-toggle { display: inline-flex; }
    .cshcsm-nav { display: none; width: 100%; order: 10; margin-left: 0; }
    body.cshcsm-menu-open .cshcsm-nav { display: block; }
    .cshcsm-menu { display: grid; gap: 0; }
    .cshcsm-menu > li > a { padding: 13px 0; }
    .cshcsm-menu > li > a:after { display: none; }
    .cshcsm-menu .sub-menu { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; border-radius: 14px; display: none; margin-bottom: 8px; }
    .cshcsm-menu li.cshcsm-submenu-open > .sub-menu,
    .cshcsm-menu li:hover > .sub-menu { display: block; }
    .cshcsm-header-cta { margin-left: auto; }
    .cs-home-hero { min-height: 520px; background-size: auto 100%; background-position: right bottom; }
    .cs-home-hero-inner { padding: 44px 0 88px; }
    .cs-mini-values,
    .cs-info-grid,
    .cs-steps,
    .cs-page-grid,
    .cs-three-col { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .cs-two-col { grid-template-columns: 1fr; }
    .cs-step:nth-child(2):after { display: none; }
    .cshcsm-footer-main { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 30px 24px; }
    .cshcsm-disclaimer { padding-inline: 24px; }
    .cshcsm-footer-bottom { padding-inline: 24px; }
}
@media (max-width: 720px) {
    .cshcsm-container,
    .cs-container,
    .cshcsm-wide,
    .cs-wpb-section,
    .cs-wpb-cards { width: min(100% - 32px, var(--cs-container)); }
    .cshcsm-brand-logo { min-width: 0; gap: 10px; }
    .cshcsm-brand-logo img { width: 58px; }
    .cshcsm-brand-title { font-size: 18px; }
    .cshcsm-brand-sub,
    .cshcsm-brand-ins { font-size: 10px; }
    .cshcsm-header-cta { display: none; }
    .cs-home-hero { background: linear-gradient(180deg, rgba(255,255,255,.97), rgba(238,248,255,.84)), url('assets/img/hero-family-bg.png') center bottom / auto 85% no-repeat; }
    .cs-home-hero h1 { font-size: clamp(38px, 14vw, 56px); }
    .cs-mini-values,
    .cs-info-grid,
    .cs-steps,
    .cs-page-grid,
    .cs-three-col,
    .cs-inline-list { grid-template-columns: 1fr; }
    .cs-value-card { grid-template-columns: 58px 1fr; }
    .cs-icon-circle { width: 52px; height: 52px; }
    .cs-icon-circle svg { width: 28px; height: 28px; }
    .cs-step:after { display: none !important; }
    .cshcsm-footer-main { grid-template-columns: 1fr; }
    .cshcsm-footer-bottom { display: grid; }
    .cshcsm-footer-bottom a { margin-left: 0; margin-right: 14px; }
}
.cshcsm-content-wrap details { border: 1px solid var(--cs-border); border-radius: 14px; padding: 16px 18px; margin: 12px 0; background: #f9fdff; }
.cshcsm-content-wrap summary { cursor: pointer; color: var(--cs-navy); font-weight: 800; }
.cshcsm-content-wrap details p { margin-bottom: 0; }
.cshcsm-menu > li.current-menu-ancestor > a { color: var(--cs-blue); }
.cshcsm-menu > li.current-menu-ancestor > a:after { content: ""; position: absolute; left: 0; right: 0; bottom: 25px; height: 3px; border-radius: 99px; background: var(--cs-green); }


/* === Caring & Sharing Agents visual match patch v2.1.1 === */
:root {
  --cs-shell: 1540px;
  --cs-container: 1250px;
  --cs-blue: #0a67bf;
  --cs-blue-2: #1b78d2;
  --cs-navy: #0a3567;
  --cs-green: #74bc3f;
  --cs-border: #d9e4ef;
  --cs-shadow-soft: 0 8px 18px rgba(17,58,98,.06);
  --cs-shadow: 0 16px 38px rgba(17,58,98,.10);
}
body.cshcsm-enterprise {
  background: linear-gradient(180deg,#eef4f9 0%,#edf3f8 100%) !important;
}
.cshcsm-shell {
  width: min(var(--cs-shell), calc(100% - 22px)) !important;
  margin: 10px auto 26px !important;
  border-radius: 22px !important;
  box-shadow: 0 20px 55px rgba(37,71,104,.12) !important;
  border: 1px solid rgba(10,103,191,.10) !important;
  overflow: hidden !important;
}
.cshcsm-container,.cs-container,.cs-wpb-section,.cs-wpb-cards {
  width: min(var(--cs-container), calc(100% - 56px)) !important;
  margin-inline: auto !important;
}
.cshcsm-header {
  background: rgba(255,255,255,.985) !important;
  border-bottom: 1px solid rgba(10,103,191,.09) !important;
}
.cshcsm-header-inner {
  min-height: 92px !important;
  padding: 0 !important;
  gap: 20px !important;
}
.cshcsm-brand-logo {
  min-width: 0 !important;
  width: 420px !important;
  max-width: 31vw !important;
  display: inline-flex !important;
}
.cshcsm-brand-logo img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
}
.cshcsm-menu { gap: 14px !important; }
.cshcsm-menu > li > a {
  padding: 36px 10px 35px !important;
  color: #364962 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
}
.cshcsm-menu > li.current-menu-item > a:after,
.cshcsm-menu > li.current_page_item > a:after,
.cshcsm-menu > li.current-menu-ancestor > a:after,
.cshcsm-menu > li > a:hover:after {
  bottom: 22px !important;
  height: 3px !important;
  background: var(--cs-blue) !important;
}
.cshcsm-header-cta,.cs-btn,.cshcsm-button {
  min-height: 52px !important;
  border-radius: 14px !important;
  padding: 0 24px !important;
  background: linear-gradient(135deg,var(--cs-blue),var(--cs-blue-2)) !important;
  box-shadow: 0 12px 24px rgba(10,103,191,.18) !important;
}
.cs-btn.secondary,.cshcsm-button-secondary {
  background: #fff !important;
  border: 2px solid var(--cs-green) !important;
  color: #5ca429 !important;
  box-shadow: none !important;
}

.cs-home-hero {
  min-height: 0 !important;
  display: block !important;
  background:
    linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.92) 43%, rgba(255,255,255,.12) 63%, rgba(255,255,255,0) 100%),
    url('assets/img/hero-family-bg.png') right center / auto 100% no-repeat,
    linear-gradient(180deg,#f5f9fd 0%,#edf4fa 100%) !important;
  border-bottom: 0 !important;
}
.cs-home-hero:before {
  height: 100% !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0) 60%, rgba(255,255,255,.85) 92%, #fff 100%),
    radial-gradient(circle at 82% 48%, rgba(255,255,255,.04) 0%, rgba(255,255,255,0) 45%) !important;
}
.cs-home-hero-inner {
  padding: 42px 0 74px !important;
}
.cs-hero-copy {
  max-width: 640px !important;
}
.cs-eyebrow,.cs-kicker {
  color: #2e62bc !important;
  letter-spacing: .11em !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  margin-bottom: 12px !important;
}
.cs-home-hero h1 {
  font-size: clamp(48px, 5.25vw, 80px) !important;
  line-height: .96 !important;
  letter-spacing: -.045em !important;
  max-width: 760px !important;
  color: var(--cs-navy) !important;
}
.cs-home-hero h1 .green { color: var(--cs-green) !important; }
.cs-home-hero .cs-intro {
  margin-top: 20px !important;
  max-width: 600px !important;
  color: #384d62 !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
}
.cs-actions { gap: 16px !important; margin-top: 24px !important; }
.cs-mini-values {
  grid-template-columns: repeat(4,minmax(0,1fr)) !important;
  gap: 16px !important;
  margin-top: -38px !important;
  position: relative !important;
  z-index: 6 !important;
}
.cs-value-card {
  grid-template-columns: 68px 1fr !important;
  gap: 18px !important;
  min-height: 160px !important;
  padding: 22px 20px 20px !important;
  border-radius: 18px !important;
  box-shadow: var(--cs-shadow-soft) !important;
}
.cs-value-card h3 {
  font-size: 18px !important;
  line-height: 1.1 !important;
}
.cs-icon-circle {
  width: 54px !important;
  height: 54px !important;
}
.cs-icon-circle svg { width: 28px !important; height: 28px !important; }
.cs-home-section { padding: 18px 0 0 !important; }
.cs-info-grid {
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  gap: 20px !important;
}
.cs-panel {
  padding: 20px 24px 18px !important;
  min-height: 185px !important;
  border-radius: 18px !important;
  box-shadow: var(--cs-shadow-soft) !important;
}
.cs-panel h2,.cs-section-title {
  font-size: clamp(32px,3vw,44px) !important;
  letter-spacing: -.03em !important;
  color: var(--cs-navy) !important;
}
.cs-panel .accent {
  width: 48px !important;
  height: 4px !important;
  margin: 10px 0 14px !important;
}
.cs-inline-list {
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  gap: 12px !important;
  margin-top: 18px !important;
}
.cs-how { padding: 10px 0 12px !important; }
.cs-steps {
  grid-template-columns: repeat(4,minmax(0,1fr)) !important;
  gap: 12px !important;
  margin-top: 20px !important;
}
.cs-step {
  padding: 16px 18px !important;
  grid-template-columns: 42px 1fr !important;
  gap: 12px !important;
  border-radius: 18px !important;
}
.cs-step h3 {
  font-family: "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
  color: #2756b6 !important;
  font-size: 15px !important;
}
.cshcsm-footer {
  margin-top: 8px !important;
}
.cshcsm-footer-main {
  width: min(var(--cs-container), calc(100% - 56px)) !important;
  margin-inline: auto !important;
  padding: 18px 0 22px !important;
  grid-template-columns: 1.45fr repeat(4, 1fr) !important;
  gap: 24px !important;
}
.cshcsm-footer .cshcsm-brand-logo {
  width: 250px !important;
  max-width: 100% !important;
}
.cshcsm-footer-bottom {
  padding: 0 !important;
}
.cshcsm-footer-bottom > * {
  width: min(var(--cs-container), calc(100% - 56px)) !important;
  margin-inline: auto !important;
  min-height: 54px !important;
}
@media (max-width: 1180px) {
  .cshcsm-brand-logo { width: 310px !important; max-width: 38vw !important; }
  .cshcsm-menu { gap: 6px !important; }
  .cshcsm-menu > li > a { font-size: 13px !important; padding-inline: 7px !important; }
  .cs-mini-values,.cs-steps { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .cs-info-grid { grid-template-columns: 1fr !important; }
  .cshcsm-footer-main { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width: 720px) {
  .cshcsm-brand-logo { width: 240px !important; max-width: 72vw !important; }
  .cs-home-hero {
    background:
      linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,255,255,.78)),
      url('assets/img/hero-family-bg.png') center bottom / auto 72% no-repeat,
      linear-gradient(180deg,#f5f9fd 0%,#edf4fa 100%) !important;
  }
  .cs-home-hero-inner { padding: 30px 0 58px !important; }
  .cs-home-hero h1 { font-size: clamp(38px,12vw,54px) !important; }
  .cs-mini-values,.cs-steps,.cs-inline-list,.cshcsm-footer-main { grid-template-columns: 1fr !important; }
}
