
/* KCSG content and navigation enhancement, 2026-08 */
#mainNav .navmenu-nav {
  display: flex;
  width: 100%;
  margin: 0;
  padding: 0;
}
#mainNav .navmenu-nav > li {
  flex: 1 1 0;
  min-width: 0;
  text-align: center;
}
#mainNav .navmenu-nav > li > a {
  display: flex;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  padding: 12px 8px;
  line-height: 1.25;
  white-space: normal;
}
#mainNav .navmenu-nav > li.active > a,
#mainNav .navmenu-nav > li.current-menu-item > a,
#mainNav .navmenu-nav > li.current-menu-ancestor > a {
  background: rgba(120, 0, 20, .28);
}
#mainNav .navmenu-nav .dropdown-menu { text-align: left; }
.kcsg-modern-page { padding-bottom: 50px; }
.kcsg-modern-page * { box-sizing: border-box; }
.kcsg-hero {
  position: relative;
  min-height: 300px;
  margin: 0 0 42px;
  padding: 58px 54px;
  display: flex;
  align-items: center;
  background: linear-gradient(110deg, rgba(152,0,27,.94), rgba(230,0,18,.76)), url('/assets/theme/assets/img/top-page-banner.png') center/cover no-repeat;
  color: #fff;
}
.kcsg-hero--compact { min-height: 220px; padding-top: 44px; padding-bottom: 44px; }
.kcsg-hero__inner { max-width: 820px; }
.kcsg-eyebrow { font-size: 13px; letter-spacing: .13em; text-transform: uppercase; font-weight: 700; opacity: .9; }
.kcsg-hero h1 { margin: 10px 0 14px; font-size: 38px; line-height: 1.18; color: #fff; font-weight: 700; }
.kcsg-hero p { margin: 0; max-width: 760px; font-size: 18px; line-height: 1.65; }
.kcsg-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.kcsg-btn { display: inline-block; padding: 12px 20px; border-radius: 4px; font-weight: 700; text-decoration: none !important; }
.kcsg-btn--primary { background: #fff; color: #b00020 !important; }
.kcsg-btn--secondary { border: 1px solid #fff; color: #fff !important; }
.kcsg-btn--red { background: #d71938; color: #fff !important; }
.kcsg-section { padding: 26px 0 34px; }
.kcsg-section--soft { background: #f6f7f8; margin-left: -15px; margin-right: -15px; padding-left: 30px; padding-right: 30px; }
.kcsg-section__head { max-width: 820px; margin-bottom: 24px; }
.kcsg-section h2 { margin-top: 0; color: #2f3338; font-size: 28px; line-height: 1.3; }
.kcsg-section h2:after { content: ''; display: block; width: 54px; height: 3px; background: #e60012; margin-top: 11px; }
.kcsg-lead { font-size: 17px; line-height: 1.75; color: #50555b; }
.kcsg-grid { display: grid; gap: 22px; }
.kcsg-grid--2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.kcsg-grid--3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
.kcsg-grid--4 { grid-template-columns: repeat(4, minmax(0,1fr)); }
.kcsg-card { background: #fff; border: 1px solid #e2e4e7; border-radius: 6px; overflow: hidden; box-shadow: 0 3px 12px rgba(0,0,0,.055); }
.kcsg-card__body { padding: 22px; }
.kcsg-card h3 { margin: 0 0 10px; color: #2f3338; font-size: 19px; line-height: 1.4; }
.kcsg-card p { color: #5b6066; line-height: 1.65; }
.kcsg-card img { display: block; width: 100%; height: 180px; object-fit: cover; }
.kcsg-card ul, .kcsg-detail ul { padding-left: 20px; }
.kcsg-card li, .kcsg-detail li { margin-bottom: 7px; line-height: 1.55; }
.kcsg-link { font-weight: 700; color: #c60022; }
.kcsg-badge { display: inline-block; margin-bottom: 10px; padding: 4px 9px; border-radius: 12px; background: #f9e6ea; color: #a7001e; font-size: 12px; font-weight: 700; }
.kcsg-process { counter-reset: kcsg-step; }
.kcsg-process .kcsg-card { position: relative; }
.kcsg-process .kcsg-card__body:before { counter-increment: kcsg-step; content: counter(kcsg-step); display: inline-flex; width: 32px; height: 32px; align-items: center; justify-content: center; border-radius: 50%; background: #e60012; color: #fff; font-weight: 700; margin-bottom: 13px; }
.kcsg-detail { padding: 28px; border: 1px solid #e2e4e7; border-radius: 6px; background: #fff; }
.kcsg-detail + .kcsg-detail { margin-top: 22px; }
.kcsg-detail h2, .kcsg-detail h3 { margin-top: 0; }
.kcsg-timeline { position: relative; margin: 28px 0; padding-left: 28px; border-left: 3px solid #e60012; }
.kcsg-timeline__item { position: relative; padding: 0 0 28px 22px; }
.kcsg-timeline__item:before { content: ''; position: absolute; left: -31px; top: 6px; width: 13px; height: 13px; border-radius: 50%; background: #e60012; box-shadow: 0 0 0 4px #fff; }
.kcsg-timeline__date { color: #b00020; font-weight: 700; font-size: 16px; }
.kcsg-timeline__item h3 { margin: 5px 0 7px; }
.kcsg-profile-table { width: 100%; border-collapse: collapse; }
.kcsg-profile-table th, .kcsg-profile-table td { padding: 13px 14px; border-bottom: 1px solid #e3e5e8; vertical-align: top; }
.kcsg-profile-table th { width: 26%; background: #f6f7f8; text-align: left; }
.kcsg-cta { margin-top: 34px; padding: 30px; background: #f3f4f5; border-left: 5px solid #e60012; }
.kcsg-cta h2, .kcsg-cta h3 { margin-top: 0; }
.kcsg-note { font-size: 13px; color: #6b7075; }
.kcsg-article { max-width: 880px; margin: 0 auto; }
.kcsg-article h2 { margin-top: 34px; }
.kcsg-article p, .kcsg-article li { font-size: 16px; line-height: 1.75; }
.kcsg-contact-options a { word-break: break-word; }
.kcsg-footer-spacer { height: 1px; }
@media (max-width: 991px) {
  .kcsg-grid--4, .kcsg-grid--3 { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .kcsg-hero { padding: 44px 32px; }
}
@media (max-width: 767px) {
  #mainNav .navmenu-nav { display: block; }
  #mainNav .navmenu-nav > li { text-align: left; }
  .kcsg-grid--4, .kcsg-grid--3, .kcsg-grid--2 { grid-template-columns: 1fr; }
  .kcsg-hero { min-height: 0; margin-left: -15px; margin-right: -15px; padding: 38px 24px; }
  .kcsg-hero h1 { font-size: 30px; }
  .kcsg-hero p { font-size: 16px; }
  .kcsg-section--soft { padding-left: 15px; padding-right: 15px; }
  .kcsg-profile-table th, .kcsg-profile-table td { display: block; width: 100%; }
}


/* KCSG expanded content and icon system, 2026-08 */
.kcsg-icon {
  display:inline-flex; width:46px; height:46px; align-items:center; justify-content:center;
  flex:0 0 46px; margin:0 0 15px; border-radius:50%; background:#f9e7eb; color:#c60022;
  font-size:21px; line-height:1;
}
.kcsg-card--icon { border-top:3px solid #e60012; }
.kcsg-card--icon .kcsg-card__body { height:100%; }
.kcsg-heading-icon { display:inline-flex; width:34px; height:34px; margin-right:10px; vertical-align:-5px;
  align-items:center; justify-content:center; border-radius:50%; background:#f9e7eb; color:#c60022; font-size:16px; }
.kcsg-hero .kcsg-heading-icon { background:rgba(255,255,255,.18); color:#fff; }
.kcsg-checklist { list-style:none; padding-left:0 !important; margin:14px 0 0; }
.kcsg-checklist li { position:relative; padding-left:29px; margin-bottom:10px; line-height:1.6; }
.kcsg-checklist li:before { content:'\f00c'; position:absolute; left:0; top:1px; font-family:FontAwesome; color:#d71938; }
.kcsg-question-list { list-style:none; padding-left:0 !important; }
.kcsg-question-list li { position:relative; padding:12px 14px 12px 42px; margin-bottom:8px; background:#f6f7f8; border-radius:4px; line-height:1.55; }
.kcsg-question-list li:before { content:'\f059'; position:absolute; left:15px; top:13px; font-family:FontAwesome; color:#c60022; }
.kcsg-numbered-flow { counter-reset:flow; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; margin:22px 0; }
.kcsg-numbered-flow__item { position:relative; min-height:165px; padding:20px 16px 16px; border:1px solid #e2e4e7; border-radius:6px; background:#fff; }
.kcsg-numbered-flow__item:before { counter-increment:flow; content:counter(flow); display:flex; width:32px; height:32px; align-items:center; justify-content:center; margin-bottom:12px; border-radius:50%; background:#e60012; color:#fff; font-weight:700; }
.kcsg-numbered-flow__item h3 { margin:0 0 8px; font-size:17px; }
.kcsg-numbered-flow__item p { margin:0; color:#5b6066; line-height:1.55; }
.kcsg-panel { padding:24px; border-radius:6px; background:#f6f7f8; border-left:4px solid #e60012; }
.kcsg-panel h3 { margin-top:0; }
.kcsg-split { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; align-items:start; }
.kcsg-role-row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.kcsg-role { padding:22px; border:1px solid #e2e4e7; border-radius:6px; background:#fff; }
.kcsg-role__label { color:#b00020; font-weight:700; letter-spacing:.04em; font-size:13px; text-transform:uppercase; }
.kcsg-role h3 { margin:7px 0 9px; }
.kcsg-tech-list { display:flex; flex-wrap:wrap; gap:8px; padding:0 !important; list-style:none; }
.kcsg-tech-list li { margin:0 !important; padding:7px 11px; border-radius:14px; background:#f0f1f3; color:#4f555b; font-size:13px; }
.kcsg-kpi-strip { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:20px 0; }
.kcsg-kpi { padding:17px; border:1px solid #e2e4e7; border-radius:6px; background:#fff; text-align:center; }
.kcsg-kpi i { display:block; color:#d71938; font-size:23px; margin-bottom:8px; }
.kcsg-kpi strong { display:block; color:#30353a; }
.kcsg-table { width:100%; border-collapse:collapse; margin:18px 0; }
.kcsg-table th,.kcsg-table td { padding:13px 14px; border:1px solid #e1e3e6; text-align:left; vertical-align:top; }
.kcsg-table th { background:#f4f5f6; color:#32373c; }
.kcsg-faq details { margin-bottom:10px; border:1px solid #e1e3e6; border-radius:5px; background:#fff; }
.kcsg-faq summary { cursor:pointer; padding:15px 18px; font-weight:700; color:#33383d; }
.kcsg-faq details div { padding:0 18px 16px; color:#5b6066; line-height:1.65; }
.kcsg-callout { display:flex; gap:16px; align-items:flex-start; margin:20px 0; padding:20px; background:#fff7f8; border:1px solid #f2ccd3; border-radius:6px; }
.kcsg-callout > i { color:#d71938; font-size:23px; margin-top:2px; }
.kcsg-callout p { margin:0; line-height:1.65; }
.kcsg-timeline__item > .kcsg-icon { position:absolute; left:-52px; top:-5px; width:36px; height:36px; font-size:15px; margin:0; box-shadow:0 0 0 5px #fff; }
.kcsg-timeline__item:has(> .kcsg-icon):before { display:none; }
@media (max-width:991px) {
  .kcsg-numbered-flow { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .kcsg-role-row,.kcsg-kpi-strip { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:767px) {
  .kcsg-numbered-flow,.kcsg-role-row,.kcsg-kpi-strip,.kcsg-split { grid-template-columns:1fr; }
  .kcsg-numbered-flow__item { min-height:0; }
  .kcsg-heading-icon { width:30px; height:30px; font-size:14px; vertical-align:-4px; }
}


/* KCSG balanced accent palette, 2026-08 */
:root {
  --kcsg-red: #e60012;
  --kcsg-red-dark: #a90020;
  --kcsg-navy: #164a7b;
  --kcsg-blue: #2f80c9;
  --kcsg-teal: #2d8a8a;
  --kcsg-gold: #c38a18;
  --kcsg-blue-soft: #edf5fb;
  --kcsg-teal-soft: #eef8f7;
  --kcsg-gold-soft: #fbf6e9;
  --kcsg-ink: #26333f;
}
.kcsg-hero {
  background: linear-gradient(112deg, rgba(145,0,28,.94) 0%, rgba(230,0,18,.82) 44%, rgba(22,74,123,.82) 100%), url('/assets/theme/assets/img/top-page-banner.png') center/cover no-repeat;
}
.kcsg-section--soft { background: linear-gradient(180deg, #f7fafc 0%, var(--kcsg-blue-soft) 100%); }
.kcsg-section h2 { color: var(--kcsg-ink); }
.kcsg-section h2:after { background: linear-gradient(90deg, var(--kcsg-red) 0 55%, var(--kcsg-blue) 55% 100%); width: 72px; }
.kcsg-card { border-color: #dce5ec; box-shadow: 0 5px 18px rgba(25,55,80,.07); }
.kcsg-grid > .kcsg-card:nth-child(4n+1) { border-top: 3px solid var(--kcsg-red); }
.kcsg-grid > .kcsg-card:nth-child(4n+2) { border-top: 3px solid var(--kcsg-blue); }
.kcsg-grid > .kcsg-card:nth-child(4n+3) { border-top: 3px solid var(--kcsg-teal); }
.kcsg-grid > .kcsg-card:nth-child(4n) { border-top: 3px solid var(--kcsg-gold); }
.kcsg-card--icon { border-top-width: 3px; }
.kcsg-grid > .kcsg-card:nth-child(4n+2) .kcsg-icon,
.kcsg-grid > .kcsg-card:nth-child(4n+2) .kcsg-heading-icon { background: var(--kcsg-blue-soft); color: var(--kcsg-blue); }
.kcsg-grid > .kcsg-card:nth-child(4n+3) .kcsg-icon,
.kcsg-grid > .kcsg-card:nth-child(4n+3) .kcsg-heading-icon { background: var(--kcsg-teal-soft); color: var(--kcsg-teal); }
.kcsg-grid > .kcsg-card:nth-child(4n) .kcsg-icon,
.kcsg-grid > .kcsg-card:nth-child(4n) .kcsg-heading-icon { background: var(--kcsg-gold-soft); color: var(--kcsg-gold); }
.kcsg-grid > .kcsg-card:nth-child(4n+2) .kcsg-badge { background: var(--kcsg-blue-soft); color: var(--kcsg-navy); }
.kcsg-grid > .kcsg-card:nth-child(4n+3) .kcsg-badge { background: var(--kcsg-teal-soft); color: #236f6f; }
.kcsg-grid > .kcsg-card:nth-child(4n) .kcsg-badge { background: var(--kcsg-gold-soft); color: #8a620f; }
.kcsg-link { color: var(--kcsg-navy); }
.kcsg-link:hover, .kcsg-link:focus { color: var(--kcsg-red-dark); }
.kcsg-btn--primary { background: #fff; color: var(--kcsg-navy) !important; }
.kcsg-btn--secondary { border-color: rgba(255,255,255,.85); background: rgba(22,74,123,.18); }
.kcsg-btn--blue { background: var(--kcsg-navy); color: #fff !important; }
.kcsg-detail { border-color: #dbe5ed; box-shadow: 0 3px 12px rgba(25,55,80,.04); }
.kcsg-detail:nth-of-type(even) { border-left: 4px solid var(--kcsg-blue); }
.kcsg-panel { background: var(--kcsg-blue-soft); border-left-color: var(--kcsg-blue); }
.kcsg-callout { background: #f2f7fb; border-color: #cddfeb; }
.kcsg-callout > i { color: var(--kcsg-blue); }
.kcsg-role:nth-child(3n+2) { border-top: 3px solid var(--kcsg-blue); }
.kcsg-role:nth-child(3n+3) { border-top: 3px solid var(--kcsg-teal); }
.kcsg-kpi:nth-child(4n+2) i { color: var(--kcsg-blue); }
.kcsg-kpi:nth-child(4n+3) i { color: var(--kcsg-teal); }
.kcsg-kpi:nth-child(4n) i { color: var(--kcsg-gold); }
.kcsg-tech-list li:nth-child(4n+2) { background: var(--kcsg-blue-soft); color: var(--kcsg-navy); }
.kcsg-tech-list li:nth-child(4n+3) { background: var(--kcsg-teal-soft); color: #236f6f; }
.kcsg-tech-list li:nth-child(4n) { background: var(--kcsg-gold-soft); color: #8a620f; }
.kcsg-profile-table tr:nth-child(even) th { background: var(--kcsg-blue-soft); }
.kcsg-profile-table tr:nth-child(4n) th { background: var(--kcsg-teal-soft); }
.kcsg-cta { background: linear-gradient(90deg, #f7f9fb, var(--kcsg-blue-soft)); border-left-color: var(--kcsg-navy); }
.kcsg-numbered-flow__item:nth-child(even):before { background: var(--kcsg-blue); }
.kcsg-numbered-flow__item:nth-child(3n):before { background: var(--kcsg-teal); }
.kcsg-numbered-flow__item:nth-child(4n):before { background: var(--kcsg-gold); }
.kcsg-timeline { border-left-color: var(--kcsg-blue); }
.kcsg-timeline__item:nth-child(even) .kcsg-icon { background: var(--kcsg-blue-soft); color: var(--kcsg-blue); }
.kcsg-timeline__item:nth-child(3n) .kcsg-icon { background: var(--kcsg-teal-soft); color: var(--kcsg-teal); }


/* KCSG final consistency review, 2026-08 */
.kcsg-modern-page .kcsg-card img { background:#f3f6f8; }
.kcsg-modern-page .kcsg-article > img { aspect-ratio:16 / 9; width:100%; max-height:none !important; object-fit:cover; background:#f3f6f8; }
.kcsg-profile-table td ul { margin-top:0; margin-bottom:0; }
.kcsg-modern-page h1, .kcsg-modern-page h2, .kcsg-modern-page h3 { text-wrap:balance; }
@media (max-width:767px) { .kcsg-modern-page .kcsg-article > img { aspect-ratio:4 / 3; } }


/* KCSG content recommendations upgrade, 2026-08 */
.kcsg-review-date{margin:30px 0 8px;padding:10px 14px;border-left:3px solid #2f6fb2;background:#f3f7fb;color:#53606d;font-size:13px;line-height:1.5}
.kcsg-download-panel{display:flex;gap:22px;align-items:center;padding:24px;border:1px solid #dfe6ee;border-radius:8px;background:linear-gradient(135deg,#f5f9fd 0%,#fff 70%)}
.kcsg-download-panel__icon{display:flex;width:70px;height:70px;flex:0 0 70px;align-items:center;justify-content:center;border-radius:12px;background:#123a6d;color:#fff;font-size:30px}
.kcsg-download-panel h3{margin:0 0 7px;color:#123a6d}
.kcsg-download-panel p{margin:0 0 14px;color:#56616c;line-height:1.65}
.kcsg-faq-page details{margin-bottom:12px;border:1px solid #dfe5eb;border-radius:7px;background:#fff;overflow:hidden}
.kcsg-faq-page summary{position:relative;cursor:pointer;padding:17px 48px 17px 18px;color:#173b67;font-weight:700;line-height:1.45}
.kcsg-faq-page summary:after{content:'+';position:absolute;right:18px;top:13px;color:#d71938;font-size:25px;font-weight:400}
.kcsg-faq-page details[open] summary:after{content:'−'}
.kcsg-faq-page details div{padding:0 18px 18px;color:#525e69;line-height:1.72}
.kcsg-case-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0 26px}
.kcsg-case-meta__item{padding:15px;border:1px solid #e0e5ea;border-radius:7px;background:#fff;text-align:center}
.kcsg-case-meta__item i{display:block;margin-bottom:8px;color:#2f6fb2;font-size:22px}
.kcsg-case-meta__item strong{display:block;color:#313b45;font-size:14px}
.kcsg-case-illustration{width:100%;aspect-ratio:16/7;object-fit:cover;border-radius:8px;margin-bottom:24px;border:1px solid #e2e6eb;background:#f5f8fb}
.kcsg-career-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.kcsg-career-card{padding:22px;border:1px solid #e0e5ea;border-top:4px solid #2f6fb2;border-radius:7px;background:#fff}
.kcsg-career-card i{color:#d71938;font-size:24px;margin-bottom:10px}
.kcsg-career-card h3{margin:0 0 9px;color:#173b67}
.kcsg-career-card p{margin:0;color:#58636e;line-height:1.65}
@media(max-width:767px){.kcsg-download-panel{align-items:flex-start}.kcsg-case-meta,.kcsg-career-grid{grid-template-columns:1fr}.kcsg-download-panel__icon{width:54px;height:54px;flex-basis:54px;font-size:24px}}


/* KCSG homepage navigation and hero refinement, 2026-08 */
#mainNav .navmenu-nav{
  display:flex !important;
  flex-wrap:nowrap;
  width:100%;
  margin:0;
  padding:0;
  background:linear-gradient(90deg,#b30a25 0%, #d61334 52%, #dd1736 100%);
  border:1px solid rgba(145,0,28,.55);
  border-radius:6px 6px 0 0;
  overflow:hidden;
  box-shadow:0 8px 22px rgba(23,39,59,.12);
}
#mainNav .navmenu-nav>li{
  flex:1 1 20%;
  min-width:0;
  text-align:center;
}
#mainNav .navmenu-nav>li+li{border-left:1px solid rgba(255,255,255,.14)}
#mainNav .navmenu-nav>li>a{
  display:flex;
  min-height:74px;
  align-items:center;
  justify-content:center;
  padding:16px 10px;
  color:#fff !important;
  font-size:15px;
  font-weight:700;
  line-height:1.3;
  letter-spacing:.01em;
  text-shadow:0 1px 0 rgba(0,0,0,.12);
}
#mainNav .navmenu-nav>li>a:hover,
#mainNav .navmenu-nav>li>a:focus{background:rgba(255,255,255,.08)}
#mainNav .navmenu-nav>li.active>a,
#mainNav .navmenu-nav>li.current-menu-item>a,
#mainNav .navmenu-nav>li.current-menu-ancestor>a{
  background:rgba(92,8,23,.34);
  box-shadow:inset 0 -4px 0 #123a6d;
}
#mainNav .dropdown-menu{border-radius:0 0 6px 6px; border-color:#d9dfe7}
#kcsgLeftMenu .navmenu-left>li>a{
  font-weight:700;
  border-bottom:1px solid #eceff3;
}
.kcsg-hero--home{
  min-height:520px;
  border-radius:0 0 6px 6px;
  overflow:hidden;
  box-shadow:0 12px 34px rgba(21,42,63,.12);
  background:
    linear-gradient(98deg, rgba(15,38,66,.72) 0%, rgba(129,0,24,.66) 42%, rgba(20,67,110,.76) 100%),
    url('/assets/uploads/kcsg-home-hero-techscape.jpg') center/cover no-repeat;
}
.kcsg-hero--home .kcsg-hero__inner{max-width:840px}
.kcsg-hero--home .kcsg-eyebrow{
  display:inline-block;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.14);
  backdrop-filter:blur(4px);
  font-size:12px;
  letter-spacing:.08em;
}
.kcsg-hero--home h1{
  max-width:780px;
  margin-top:16px;
  font-size:58px;
  line-height:1.1;
  text-shadow:0 3px 18px rgba(11,20,35,.25);
}
.kcsg-hero--home p{
  max-width:820px;
  font-size:19px;
  line-height:1.75;
  color:rgba(255,255,255,.96);
}
.kcsg-section h2:after{
  width:58px;
  height:4px;
  border-radius:999px;
  background:#123a6d;
}
@media (max-width: 1199px){
  #mainNav .navmenu-nav>li>a{font-size:14px; padding-left:8px; padding-right:8px}
  .kcsg-hero--home h1{font-size:48px}
}
@media (max-width: 991px){
  .kcsg-hero--home{min-height:460px}
  .kcsg-hero--home h1{font-size:42px}
  .kcsg-hero--home p{font-size:18px}
}
@media (max-width: 767px){
  #mainNav .navmenu-nav{
    display:block !important;
    border-radius:0;
    box-shadow:none;
  }
  #mainNav .navmenu-nav>li+li{border-left:none}
  #mainNav .navmenu-nav>li>a{
    min-height:54px;
    justify-content:flex-start;
    padding:14px 16px;
    font-size:15px;
  }
  .kcsg-hero--home{
    min-height:0;
    border-radius:0;
    margin-left:-15px;
    margin-right:-15px;
    padding-top:36px;
    padding-bottom:36px;
    background-position:62% center;
  }
  .kcsg-hero--home .kcsg-eyebrow{font-size:11px; line-height:1.45}
  .kcsg-hero--home h1{font-size:34px; max-width:100%}
  .kcsg-hero--home p{font-size:16px; max-width:100%}
}


/* KCSG root landing navigation and icon refinement, 2026-08 */
#mainNav .menu-primary-container{width:100%}
#mainNav #menu-primary.navmenu-nav{
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr));
  width:100%;
  margin:0;
  padding:0;
  list-style:none;
  background:linear-gradient(90deg,#b10f28 0%, #cb1638 48%, #d71938 100%);
  border:1px solid rgba(145,0,28,.55);
  border-radius:10px 10px 0 0;
  overflow:hidden;
  box-shadow:0 10px 26px rgba(23,39,59,.14);
}
#mainNav #menu-primary.navmenu-nav>li{
  float:none !important;
  display:block !important;
  width:auto !important;
  min-width:0;
  margin:0 !important;
  text-align:center;
  border-right:1px solid rgba(255,255,255,.16);
}
#mainNav #menu-primary.navmenu-nav>li:last-child{border-right:none}
#mainNav #menu-primary.navmenu-nav>li>a{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:72px;
  padding:16px 12px;
  color:#fff !important;
  font-size:15px;
  font-weight:700;
  line-height:1.3;
  letter-spacing:.01em;
  text-shadow:0 1px 0 rgba(0,0,0,.12);
  background:transparent;
  transition:background-color .2s ease, box-shadow .2s ease;
}
#mainNav #menu-primary.navmenu-nav>li>a:hover,
#mainNav #menu-primary.navmenu-nav>li>a:focus{
  background:rgba(255,255,255,.08);
}
#mainNav #menu-primary.navmenu-nav>li.active>a,
#mainNav #menu-primary.navmenu-nav>li.current-menu-item>a,
#mainNav #menu-primary.navmenu-nav>li.current-menu-ancestor>a{
  background:linear-gradient(180deg, rgba(104,10,28,.36) 0%, rgba(72,7,20,.28) 100%);
  box-shadow:inset 0 -4px 0 #2f6fb2;
}
#mainNav #menu-primary.navmenu-nav .dropdown-menu{
  margin-top:0;
  border-radius:0 0 8px 8px;
  border-color:#d9e1ea;
}

.kcsg-process{
  gap:26px;
}
.kcsg-process .kcsg-card{
  position:relative;
  overflow:visible;
  border-radius:14px;
  border:1px solid #dce5ec;
  box-shadow:0 10px 26px rgba(25,55,80,.08);
}
.kcsg-process .kcsg-card:nth-child(1){border-top:4px solid #d71938}
.kcsg-process .kcsg-card:nth-child(2){border-top:4px solid #2f6fb2}
.kcsg-process .kcsg-card:nth-child(3){border-top:4px solid #2d8a8a}
.kcsg-process .kcsg-card:nth-child(4){border-top:4px solid #c38a18}
.kcsg-process .kcsg-card__body{
  position:relative;
  padding:32px 22px 24px;
}
.kcsg-process .kcsg-card__body:before{
  counter-increment:kcsg-step;
  content:counter(kcsg-step);
  position:absolute;
  top:-16px;
  left:18px;
  display:flex;
  width:34px;
  height:34px;
  align-items:center;
  justify-content:center;
  margin:0;
  border-radius:999px;
  background:#d71938;
  color:#fff;
  font-weight:700;
  font-size:16px;
  box-shadow:0 10px 20px rgba(215,25,56,.24);
}
.kcsg-process .kcsg-card:nth-child(2) .kcsg-card__body:before{background:#2f6fb2;box-shadow:0 10px 20px rgba(47,111,178,.24)}
.kcsg-process .kcsg-card:nth-child(3) .kcsg-card__body:before{background:#2d8a8a;box-shadow:0 10px 20px rgba(45,138,138,.24)}
.kcsg-process .kcsg-card:nth-child(4) .kcsg-card__body:before{background:#c38a18;box-shadow:0 10px 20px rgba(195,138,24,.24)}
.kcsg-process .kcsg-icon{
  display:flex;
  width:62px;
  height:62px;
  margin:4px 0 18px;
  align-items:center;
  justify-content:center;
  border-radius:18px;
  border:1px solid #dce5ec;
  background:linear-gradient(135deg,#ffffff 0%, #f5f8fc 100%);
  color:#123a6d;
  font-size:28px;
  box-shadow:0 10px 22px rgba(24,52,78,.08);
}
.kcsg-process .kcsg-card:nth-child(1) .kcsg-icon{background:linear-gradient(135deg,#fff5f7 0%, #fdecef 100%); color:#c81933}
.kcsg-process .kcsg-card:nth-child(2) .kcsg-icon{background:linear-gradient(135deg,#f5f9ff 0%, #ebf3fe 100%); color:#2f6fb2}
.kcsg-process .kcsg-card:nth-child(3) .kcsg-icon{background:linear-gradient(135deg,#f2fbfa 0%, #e8f7f6 100%); color:#2d8a8a}
.kcsg-process .kcsg-card:nth-child(4) .kcsg-icon{background:linear-gradient(135deg,#fffaf0 0%, #fbf4df 100%); color:#b67c0a}
.kcsg-process .kcsg-card h3{
  margin:0 0 10px;
  color:#24313d;
  font-size:18px;
  line-height:1.4;
}
.kcsg-process .kcsg-card p{
  margin:0;
  color:#57636f;
  line-height:1.7;
}

@media (max-width: 991px){
  #mainNav #menu-primary.navmenu-nav>li>a{font-size:14px;padding-left:10px;padding-right:10px}
}
@media (max-width: 767px){
  #mainNav #menu-primary.navmenu-nav{
    display:block !important;
    border-radius:0;
    box-shadow:none;
  }
  #mainNav #menu-primary.navmenu-nav>li{
    border-right:none;
    border-top:1px solid rgba(255,255,255,.12);
    text-align:left;
  }
  #mainNav #menu-primary.navmenu-nav>li:first-child{border-top:none}
  #mainNav #menu-primary.navmenu-nav>li>a{
    justify-content:flex-start;
    min-height:54px;
    padding:14px 16px;
    font-size:15px;
  }
}


/* KCSG full-site heading and alignment consistency review, 2026-08 */
.kcsg-modern-page .kcsg-section__head{
  max-width:900px;
}
.kcsg-modern-page .kcsg-section h2,
.kcsg-modern-page .kcsg-detail h2,
.kcsg-modern-page .kcsg-detail h3,
.kcsg-modern-page .kcsg-panel h3{
  letter-spacing:-.012em;
}
.kcsg-heading-with-icon{
  display:flex !important;
  align-items:center;
  gap:12px;
}
.kcsg-heading-with-icon .kcsg-heading-icon{
  flex:0 0 36px;
  width:36px;
  height:36px;
  margin:0;
  vertical-align:middle;
}
.kcsg-card__heading{
  display:flex;
  align-items:center;
  gap:14px;
  min-height:62px;
  margin:0 0 14px;
}
.kcsg-card__heading .kcsg-icon{
  flex:0 0 52px;
  width:52px;
  height:52px;
  margin:0;
}
.kcsg-card__heading h2,
.kcsg-card__heading h3,
.kcsg-card__heading h4{
  flex:1 1 auto;
  min-width:0;
  margin:0 !important;
  line-height:1.35;
}
.kcsg-card--icon .kcsg-card__body{
  display:flex;
  flex-direction:column;
  height:100%;
}
.kcsg-card--icon .kcsg-card__body > p:last-of-type{
  margin-bottom:0;
}
.kcsg-card--icon .kcsg-card__body > .kcsg-link:last-child{
  margin-top:auto;
  padding-top:14px;
}
.kcsg-process .kcsg-card__heading{
  align-items:center;
  min-height:72px;
  margin-bottom:14px;
}
.kcsg-process .kcsg-card__heading .kcsg-icon{
  width:62px;
  height:62px;
  flex-basis:62px;
}
.kcsg-process .kcsg-card__body:before{
  z-index:2;
}
.kcsg-modern-page .kcsg-grid > .kcsg-card{
  height:100%;
}
.kcsg-modern-page .kcsg-card__body{
  min-width:0;
}
.kcsg-modern-page .kcsg-card h2,
.kcsg-modern-page .kcsg-card h3{
  overflow-wrap:anywhere;
}
@media(max-width:767px){
  .kcsg-card__heading{min-height:0;align-items:flex-start}
  .kcsg-heading-with-icon{align-items:flex-start}
  .kcsg-heading-with-icon .kcsg-heading-icon{margin-top:1px}
}


/* KCSG global design alignment review, 2026-08 */
:root{
  --kcsg-red:#d71938;
  --kcsg-navy:#123a6d;
  --kcsg-blue:#2f6fb2;
  --kcsg-teal:#2d8a8a;
  --kcsg-gold:#b98112;
  --kcsg-border:#dce5ec;
  --kcsg-text:#26333f;
}

/* Canonical five-tab desktop navigation on every English and Japanese page. */
#mainNav>.menu-primary-container,
#mainNav>.menu-primary-japanese-container{width:100%!important}
#mainNav .navmenu-nav{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
  background:linear-gradient(90deg,#ad1028 0%,#ca1736 52%,#d71938 100%)!important;
  border:1px solid rgba(145,0,28,.52)!important;
  border-radius:8px 8px 0 0!important;
  overflow:visible!important;
  box-shadow:0 9px 24px rgba(23,39,59,.13)!important;
}
#mainNav .navmenu-nav>li{
  float:none!important;
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  position:relative!important;
  width:auto!important;
  min-width:0!important;
  margin:0!important;
  text-align:center!important;
  border-right:1px solid rgba(255,255,255,.15)!important;
}
#mainNav .navmenu-nav>li:last-child{border-right:0!important}
#mainNav .navmenu-nav>li>a{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:68px!important;
  padding:14px 10px!important;
  color:#fff!important;
  background:transparent!important;
  font-size:14px!important;
  font-weight:700!important;
  line-height:1.3!important;
  text-decoration:none!important;
  white-space:normal!important;
}
#mainNav .navmenu-nav>li>a:hover,
#mainNav .navmenu-nav>li>a:focus{background:rgba(255,255,255,.09)!important}
#mainNav .navmenu-nav>li.active>a,
#mainNav .navmenu-nav>li.current-menu-item>a,
#mainNav .navmenu-nav>li.current-menu-ancestor>a{
  background:rgba(79,7,21,.32)!important;
  box-shadow:inset 0 -4px 0 var(--kcsg-blue)!important;
}
#mainNav .navmenu-nav .dropdown-menu{
  min-width:260px!important;
  margin-top:0!important;
  border-radius:0 0 7px 7px!important;
  border-color:#d9e1ea!important;
  box-shadow:0 10px 24px rgba(23,39,59,.14)!important;
}

/* Common corporate hero image and overlay across enhanced pages. */
.kcsg-modern-page .kcsg-hero{
  overflow:hidden!important;
  border-radius:0 0 8px 8px!important;
  background:
    linear-gradient(102deg,rgba(24,48,78,.84) 0%,rgba(143,8,38,.72) 43%,rgba(19,58,105,.80) 100%),
    url('/assets/uploads/kcsg-home-hero-techscape.jpg') center/cover no-repeat!important;
  box-shadow:0 12px 32px rgba(21,42,63,.12)!important;
}
.kcsg-modern-page .kcsg-hero--compact{min-height:250px!important}
.kcsg-modern-page .kcsg-hero h1{text-shadow:0 3px 15px rgba(10,24,39,.28)}

/* Consistent section headings and single-colour accent line. */
.kcsg-modern-page .kcsg-section__head>h2,
.kcsg-modern-page .kcsg-section>h2,
.kcsg-modern-page .kcsg-detail>h2,
.kcsg-modern-page .kcsg-detail>h3,
.kcsg-modern-page .kcsg-panel>h3{
  color:var(--kcsg-text)!important;
  line-height:1.28!important;
  letter-spacing:-.012em!important;
}
.kcsg-modern-page .kcsg-section h2:after,
.kcsg-modern-page .kcsg-section h3:after{
  background:var(--kcsg-navy)!important;
}
.kcsg-modern-page .kcsg-section__head>h2:after,
.kcsg-modern-page .kcsg-section>h2:after,
.kcsg-modern-page .kcsg-detail>h2:after,
.kcsg-modern-page .kcsg-detail>h3:after,
.kcsg-modern-page .kcsg-panel>h3:after{
  content:''!important;
  display:block!important;
  width:58px!important;
  height:4px!important;
  margin-top:11px!important;
  border-radius:999px!important;
  background:var(--kcsg-navy)!important;
}
.kcsg-modern-page .kcsg-card h2:after,
.kcsg-modern-page .kcsg-card h3:after,
.kcsg-modern-page .kcsg-role h3:after,
.kcsg-modern-page .kcsg-download-panel h3:after{display:none!important}

/* Icon/title rows: aligned icon, title, and underline. */
.kcsg-modern-page .kcsg-heading-with-icon{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  min-height:42px!important;
  margin:0 0 18px!important;
  padding:0 0 15px!important;
}
.kcsg-modern-page .kcsg-heading-with-icon:after{
  position:absolute!important;
  left:0!important;
  bottom:0!important;
  width:58px!important;
  height:4px!important;
  margin:0!important;
  border-radius:999px!important;
  background:var(--kcsg-navy)!important;
}
.kcsg-modern-page .kcsg-heading-with-icon>.kcsg-heading-icon{
  display:flex!important;
  flex:0 0 40px!important;
  width:40px!important;
  height:40px!important;
  margin:0!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:12px!important;
  vertical-align:middle!important;
}
.kcsg-modern-page .kcsg-heading-with-icon>.kcsg-heading-text{
  flex:1 1 auto!important;
  min-width:0!important;
  line-height:1.28!important;
}
.kcsg-modern-page .kcsg-card__heading{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  min-height:64px!important;
  margin:0 0 15px!important;
}
.kcsg-modern-page .kcsg-card__heading>.kcsg-icon{
  display:flex!important;
  flex:0 0 54px!important;
  width:54px!important;
  height:54px!important;
  margin:0!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:15px!important;
}
.kcsg-modern-page .kcsg-card__heading>h2,
.kcsg-modern-page .kcsg-card__heading>h3,
.kcsg-modern-page .kcsg-card__heading>h4{
  flex:1 1 auto!important;
  min-width:0!important;
  margin:0!important;
  line-height:1.32!important;
}

/* Equal-height grids and a visible accent line on every box. */
.kcsg-modern-page .kcsg-grid,
.kcsg-modern-page .kcsg-split,
.kcsg-modern-page .kcsg-role-row{align-items:stretch!important}
.kcsg-modern-page .kcsg-grid>.kcsg-card,
.kcsg-modern-page .kcsg-grid>.kcsg-detail,
.kcsg-modern-page .kcsg-split>.kcsg-detail,
.kcsg-modern-page .kcsg-split>.kcsg-panel,
.kcsg-modern-page .kcsg-role-row>.kcsg-role{
  display:flex!important;
  flex-direction:column!important;
  height:100%!important;
  margin-top:0!important;
  border-left:1px solid var(--kcsg-border)!important;
  border-top:4px solid var(--kcsg-red)!important;
  border-radius:9px!important;
  box-shadow:0 7px 20px rgba(25,55,80,.06)!important;
}
.kcsg-modern-page .kcsg-grid>*:nth-child(4n+2),
.kcsg-modern-page .kcsg-split>*:nth-child(4n+2),
.kcsg-modern-page .kcsg-role-row>*:nth-child(4n+2){border-top-color:var(--kcsg-blue)!important}
.kcsg-modern-page .kcsg-grid>*:nth-child(4n+3),
.kcsg-modern-page .kcsg-split>*:nth-child(4n+3),
.kcsg-modern-page .kcsg-role-row>*:nth-child(4n+3){border-top-color:var(--kcsg-teal)!important}
.kcsg-modern-page .kcsg-grid>*:nth-child(4n),
.kcsg-modern-page .kcsg-split>*:nth-child(4n),
.kcsg-modern-page .kcsg-role-row>*:nth-child(4n){border-top-color:var(--kcsg-gold)!important}
.kcsg-modern-page .kcsg-grid>.kcsg-detail+.kcsg-detail,
.kcsg-modern-page .kcsg-split>.kcsg-detail+.kcsg-detail{margin-top:0!important}
.kcsg-modern-page .kcsg-detail{padding:26px!important}
.kcsg-modern-page .kcsg-role{min-height:210px!important}

/* Feature pillars are qualities, not a numbered process. */
.kcsg-modern-page .kcsg-feature-pillars .kcsg-card__body:before{display:none!important;content:none!important}
.kcsg-modern-page .kcsg-feature-pillars .kcsg-card__body{padding:26px 22px!important}
.kcsg-modern-page .kcsg-feature-pillars .kcsg-card{overflow:hidden!important}

/* Actual delivery processes retain numbered steps. */
.kcsg-modern-page .kcsg-step-process{counter-reset:kcsg-step!important}
.kcsg-modern-page .kcsg-step-process .kcsg-card__body:before{display:flex!important}

/* Balanced Company Profile image and information height. */
.kcsg-modern-page .kcsg-profile-layout{align-items:stretch!important}
.kcsg-modern-page .kcsg-profile-layout>div{min-width:0!important;min-height:0!important}
.kcsg-modern-page .kcsg-profile-media{
  display:block!important;
  height:100%!important;
}
.kcsg-modern-page .kcsg-profile-media__image{
  position:relative!important;
  min-height:420px!important;
  height:100%!important;
  overflow:hidden!important;
  border-radius:8px!important;
  background:#eef3f7!important;
}
.kcsg-modern-page .kcsg-profile-media__image>img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:0!important;
}
.kcsg-modern-page .kcsg-profile-actions{justify-content:flex-end!important;margin:16px 0 0!important}

/* Timeline icons centred exactly on a continuous vertical line. */
.kcsg-modern-page .kcsg-timeline{
  --kcsg-timeline-line:24px;
  --kcsg-timeline-pad:76px;
  position:relative!important;
  padding-left:var(--kcsg-timeline-pad)!important;
  border-left:0!important;
}
.kcsg-modern-page .kcsg-timeline:before{
  content:''!important;
  position:absolute!important;
  left:var(--kcsg-timeline-line)!important;
  top:18px!important;
  bottom:22px!important;
  width:3px!important;
  border-radius:999px!important;
  background:var(--kcsg-blue)!important;
}
.kcsg-modern-page .kcsg-timeline__item{padding-left:0!important}
.kcsg-modern-page .kcsg-timeline__item:before{display:none!important}
.kcsg-modern-page .kcsg-timeline__item>.kcsg-icon{
  left:calc(var(--kcsg-timeline-line) - var(--kcsg-timeline-pad) - 18px)!important;
  top:-5px!important;
  width:36px!important;
  height:36px!important;
  margin:0!important;
  border:1px solid #e0e7ee!important;
  box-shadow:0 0 0 6px #fff!important;
}

/* Labels and badges are neat, aligned, and readable. */
.kcsg-modern-page .kcsg-badge{
  display:block!important;
  width:100%!important;
  margin:0 0 14px!important;
  padding:6px 12px!important;
  border-radius:999px!important;
  line-height:1.35!important;
}

@media(max-width:991px){
  #mainNav .navmenu-nav>li>a{font-size:13px!important;padding-left:7px!important;padding-right:7px!important}
}
@media(max-width:767px){
  #mainNav .navmenu-nav{display:block!important;border-radius:0!important;box-shadow:none!important}
  #mainNav .navmenu-nav>li{border-right:0!important;border-top:1px solid rgba(255,255,255,.13)!important;text-align:left!important}
  #mainNav .navmenu-nav>li:first-child{border-top:0!important}
  #mainNav .navmenu-nav>li>a{justify-content:flex-start!important;min-height:52px!important;padding:13px 16px!important;font-size:14px!important}
  .kcsg-modern-page .kcsg-heading-with-icon{align-items:flex-start!important}
  .kcsg-modern-page .kcsg-profile-media__image{min-height:320px!important}
  .kcsg-modern-page .kcsg-profile-media__image>img{position:relative!important;inset:auto!important;height:320px!important}
  .kcsg-modern-page .kcsg-timeline{--kcsg-timeline-line:18px;--kcsg-timeline-pad:62px}
}


/* KCSG website-wide visual system refinement, 2026-08 */
:root{
  --kcsg-red:#d71938;--kcsg-red-dark:#a90e28;--kcsg-navy:#123a6d;--kcsg-blue:#2f6fb2;
  --kcsg-teal:#2d8a8a;--kcsg-gold:#b98112;--kcsg-border:#dce5ec;--kcsg-text:#26333f;
  --kcsg-muted:#586572;--kcsg-soft:#f4f8fb;
}
/* Primary navigation: five equal, visible tabs with no wrapping. */
#mainNav{overflow:visible!important}
#mainNav>.menu-primary-container,#mainNav>.menu-primary-japanese-container{display:block!important;width:100%!important;float:none!important}
#mainNav .kcsg-primary-menu{
  display:flex!important;flex-flow:row nowrap!important;width:100%!important;max-width:none!important;
  margin:0!important;padding:0!important;float:none!important;list-style:none!important;
  background:linear-gradient(90deg,#aa1029 0%,#c61637 48%,#d71938 100%)!important;
  border:1px solid rgba(145,0,28,.5)!important;border-radius:10px 10px 0 0!important;
  overflow:visible!important;box-shadow:0 9px 24px rgba(23,39,59,.13)!important;
}
#mainNav .kcsg-primary-menu>.kcsg-primary-item{
  display:block!important;visibility:visible!important;opacity:1!important;float:none!important;position:relative!important;
  flex:1 1 20%!important;width:20%!important;max-width:20%!important;min-width:0!important;margin:0!important;
  border-right:1px solid rgba(255,255,255,.15)!important;text-align:center!important;
}
#mainNav .kcsg-primary-menu>.kcsg-primary-item:last-child{border-right:0!important}
#mainNav .kcsg-primary-menu>.kcsg-primary-item>.kcsg-primary-link{
  display:flex!important;visibility:visible!important;opacity:1!important;align-items:center!important;justify-content:center!important;
  width:100%!important;min-height:68px!important;padding:14px 10px!important;color:#fff!important;background:transparent!important;
  font-size:14px!important;font-weight:700!important;line-height:1.25!important;text-decoration:none!important;white-space:normal!important;
  box-sizing:border-box!important;
}
#mainNav .kcsg-primary-menu>.kcsg-primary-item>.kcsg-primary-link:hover,
#mainNav .kcsg-primary-menu>.kcsg-primary-item>.kcsg-primary-link:focus{background:rgba(255,255,255,.09)!important}
#mainNav .kcsg-primary-menu>.active>.kcsg-primary-link,
#mainNav .kcsg-primary-menu>.current-menu-item>.kcsg-primary-link,
#mainNav .kcsg-primary-menu>.current-menu-ancestor>.kcsg-primary-link{
  background:rgba(70,7,20,.28)!important;box-shadow:inset 0 -4px 0 var(--kcsg-blue)!important;
}
#mainNav .kcsg-primary-menu .sub-menu{z-index:1000!important;top:100%!important;left:0!important;min-width:270px!important;margin:0!important}

/* Clear spacing rhythm between every major content section. */
.kcsg-modern-page .kcsg-section-block{padding-top:34px!important;padding-bottom:38px!important}
.kcsg-modern-page .kcsg-section-block+.kcsg-section-block{margin-top:42px!important}
.kcsg-modern-page .kcsg-section-block+[data-upgrade],
.kcsg-modern-page [data-upgrade]+.kcsg-section-block{margin-top:42px!important}
.kcsg-modern-page [data-upgrade]>.kcsg-section-block+.kcsg-section-block{margin-top:42px!important}
.kcsg-modern-page .kcsg-section--soft{padding:38px 30px!important;border-radius:12px!important;background:linear-gradient(180deg,#f7fafc 0%,#edf4fa 100%)!important}

/* Heading hierarchy: underline only major section headings, never internal card headings. */
.kcsg-modern-page .kcsg-section-title{margin-top:0!important;color:var(--kcsg-text)!important;line-height:1.28!important;letter-spacing:-.012em!important}
.kcsg-modern-page .kcsg-section-title:after{
  content:''!important;display:block!important;width:58px!important;height:4px!important;margin-top:11px!important;
  border-radius:999px!important;background:var(--kcsg-navy)!important;
}
.kcsg-modern-page .kcsg-card-title:after,
.kcsg-modern-page .kcsg-heading-with-icon:after,
.kcsg-modern-page .kcsg-card h2:after,.kcsg-modern-page .kcsg-card h3:after,
.kcsg-modern-page .kcsg-detail>h2:after,.kcsg-modern-page .kcsg-detail>h3:after,
.kcsg-modern-page .kcsg-panel>h2:after,.kcsg-modern-page .kcsg-panel>h3:after{display:none!important;content:none!important}
.kcsg-modern-page .kcsg-card-title{margin-top:0!important;margin-bottom:14px!important;color:var(--kcsg-text)!important;line-height:1.32!important}

/* Icon and title alignment inside cards and panels. */
.kcsg-modern-page .kcsg-heading-with-icon{
  display:flex!important;align-items:center!important;gap:12px!important;min-height:44px!important;
  margin:0 0 17px!important;padding:0!important;
}
.kcsg-modern-page .kcsg-heading-with-icon>.kcsg-heading-icon{
  display:flex!important;flex:0 0 42px!important;width:42px!important;height:42px!important;margin:0!important;
  align-items:center!important;justify-content:center!important;border-radius:13px!important;font-size:17px!important;
}
.kcsg-modern-page .kcsg-heading-with-icon>.kcsg-heading-text{flex:1 1 auto!important;min-width:0!important;line-height:1.3!important}
.kcsg-modern-page .kcsg-card__heading{display:flex!important;align-items:center!important;gap:13px!important;min-height:58px!important;margin:0 0 15px!important}
.kcsg-modern-page .kcsg-card__heading>.kcsg-icon{display:flex!important;flex:0 0 52px!important;width:52px!important;height:52px!important;margin:0!important;align-items:center!important;justify-content:center!important;border-radius:15px!important}
.kcsg-modern-page .kcsg-card__heading>h2,.kcsg-modern-page .kcsg-card__heading>h3,.kcsg-modern-page .kcsg-card__heading>h4{flex:1 1 auto!important;min-width:0!important;margin:0!important;line-height:1.32!important}

/* Equal-height comparable cards and consistent top accent treatment. */
.kcsg-modern-page .kcsg-equal-grid{align-items:stretch!important;grid-auto-rows:1fr!important}
.kcsg-modern-page .kcsg-equal-grid>*{height:100%!important;min-height:0!important;margin-top:0!important;box-sizing:border-box!important}
.kcsg-modern-page .kcsg-equal-grid>.kcsg-card,
.kcsg-modern-page .kcsg-equal-grid>.kcsg-detail,
.kcsg-modern-page .kcsg-equal-grid>.kcsg-panel,
.kcsg-modern-page .kcsg-equal-grid>.kcsg-role{
  display:flex!important;flex-direction:column!important;border:1px solid var(--kcsg-border)!important;
  border-top:4px solid var(--kcsg-red)!important;border-radius:10px!important;box-shadow:0 7px 20px rgba(25,55,80,.065)!important;
}
.kcsg-modern-page .kcsg-equal-grid>*:nth-child(4n+2){border-top-color:var(--kcsg-blue)!important}
.kcsg-modern-page .kcsg-equal-grid>*:nth-child(4n+3){border-top-color:var(--kcsg-teal)!important}
.kcsg-modern-page .kcsg-equal-grid>*:nth-child(4n){border-top-color:var(--kcsg-gold)!important}
.kcsg-modern-page .kcsg-detail{padding:25px!important}
.kcsg-modern-page .kcsg-card__body{display:flex!important;flex-direction:column!important;height:100%!important}
.kcsg-modern-page .kcsg-card__body>.kcsg-link:last-child{margin-top:auto!important;padding-top:14px!important}

/* Non-sequential capability pillars use icons only, without step numbers. */
.kcsg-modern-page .kcsg-feature-pillars .kcsg-card__body:before{display:none!important;content:none!important}

/* Genuine processes: number and heading are side by side. */
.kcsg-modern-page .kcsg-numbered-cards{counter-reset:kcsg-step!important}
.kcsg-modern-page .kcsg-numbered-cards .kcsg-card__body{
  display:grid!important;grid-template-columns:40px minmax(0,1fr)!important;grid-template-rows:auto 1fr!important;
  column-gap:12px!important;row-gap:12px!important;align-content:start!important;padding:24px 20px!important;
}
.kcsg-modern-page .kcsg-numbered-cards .kcsg-card__body:before{
  counter-increment:kcsg-step!important;content:counter(kcsg-step)!important;position:static!important;
  grid-column:1!important;grid-row:1!important;display:flex!important;width:36px!important;height:36px!important;margin:0!important;
  align-items:center!important;justify-content:center!important;border-radius:999px!important;background:var(--kcsg-red)!important;color:#fff!important;font-weight:700!important;
}
.kcsg-modern-page .kcsg-numbered-cards .kcsg-card:nth-child(4n+2) .kcsg-card__body:before{background:var(--kcsg-blue)!important}
.kcsg-modern-page .kcsg-numbered-cards .kcsg-card:nth-child(4n+3) .kcsg-card__body:before{background:var(--kcsg-teal)!important}
.kcsg-modern-page .kcsg-numbered-cards .kcsg-card:nth-child(4n) .kcsg-card__body:before{background:var(--kcsg-gold)!important}
.kcsg-modern-page .kcsg-numbered-cards .kcsg-card__heading{grid-column:2!important;grid-row:1!important;min-height:36px!important;margin:0!important}
.kcsg-modern-page .kcsg-numbered-cards .kcsg-card__heading>.kcsg-icon{display:none!important}
.kcsg-modern-page .kcsg-numbered-cards .kcsg-card__body>p,
.kcsg-modern-page .kcsg-numbered-cards .kcsg-card__body>ul,
.kcsg-modern-page .kcsg-numbered-cards .kcsg-card__body>.kcsg-link{grid-column:1/-1!important}
.kcsg-modern-page .kcsg-horizontal-steps{grid-auto-rows:1fr!important}
.kcsg-modern-page .kcsg-horizontal-steps>.kcsg-numbered-flow__item{
  display:grid!important;grid-template-columns:40px minmax(0,1fr)!important;grid-template-rows:auto 1fr!important;
  column-gap:12px!important;row-gap:12px!important;height:100%!important;min-height:210px!important;padding:22px 18px!important;
  border:1px solid var(--kcsg-border)!important;border-radius:10px!important;box-shadow:0 6px 18px rgba(25,55,80,.05)!important;
}
.kcsg-modern-page .kcsg-horizontal-steps>.kcsg-numbered-flow__item:before{grid-column:1!important;grid-row:1!important;width:36px!important;height:36px!important;margin:0!important}
.kcsg-modern-page .kcsg-horizontal-steps>.kcsg-numbered-flow__item>h3{grid-column:2!important;grid-row:1!important;margin:4px 0 0!important;line-height:1.25!important}
.kcsg-modern-page .kcsg-horizontal-steps>.kcsg-numbered-flow__item>p{grid-column:1/-1!important;grid-row:2!important;margin:0!important}

/* Company Profile image matches the information table height exactly. */
.kcsg-modern-page .kcsg-profile-layout{align-items:stretch!important;grid-auto-rows:1fr!important}
.kcsg-modern-page .kcsg-profile-info,.kcsg-modern-page .kcsg-profile-media{height:100%!important;min-height:0!important}
.kcsg-modern-page .kcsg-profile-media{display:flex!important;flex-direction:column!important}
.kcsg-modern-page .kcsg-profile-media__image{position:relative!important;flex:1 1 auto!important;height:100%!important;min-height:0!important;overflow:hidden!important;border-radius:9px!important;background:#eef3f7!important}
.kcsg-modern-page .kcsg-profile-media__image>img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-height:none!important;object-fit:cover!important;object-position:center!important;border-radius:0!important}

/* Timeline icons are centred on one continuous line. */
.kcsg-modern-page .kcsg-timeline-aligned{--tl-line:24px;--tl-pad:74px;position:relative!important;padding-left:var(--tl-pad)!important;border-left:0!important}
.kcsg-modern-page .kcsg-timeline-aligned:before{content:''!important;position:absolute!important;left:var(--tl-line)!important;top:18px!important;bottom:22px!important;width:3px!important;border-radius:999px!important;background:var(--kcsg-blue)!important}
.kcsg-modern-page .kcsg-timeline-aligned .kcsg-timeline__item{position:relative!important;padding-left:0!important}
.kcsg-modern-page .kcsg-timeline-aligned .kcsg-timeline__item:before{display:none!important}
.kcsg-modern-page .kcsg-timeline-aligned .kcsg-timeline__item>.kcsg-icon{position:absolute!important;left:calc(var(--tl-line) - var(--tl-pad) - 18px)!important;top:-4px!important;width:36px!important;height:36px!important;margin:0!important;box-sizing:border-box!important;border:1px solid #dce5ec!important;box-shadow:0 0 0 6px #fff!important;line-height:1!important}

/* Case-study listing uses one image concept and consistent dimensions. */
.kcsg-modern-page .kcsg-case-study-grid{align-items:stretch!important}
.kcsg-modern-page .kcsg-case-card{overflow:hidden!important}
.kcsg-modern-page .kcsg-case-card__media{position:relative!important;width:100%!important;aspect-ratio:16/7!important;overflow:hidden!important;background:#f4f7fa!important;border-bottom:1px solid #e1e7ec!important}
.kcsg-modern-page .kcsg-case-card__media:after{content:''!important;position:absolute!important;inset:0!important;background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(18,58,109,.035))!important;pointer-events:none!important}
.kcsg-modern-page .kcsg-case-card__media>img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;filter:saturate(.82) contrast(.97) brightness(1.025)!important;background:#f4f7fa!important}
.kcsg-modern-page .kcsg-case-hero-image{display:block!important;width:100%!important;aspect-ratio:16/8!important;max-height:none!important;object-fit:cover!important;border-radius:10px!important;margin-bottom:28px!important}
@media(min-width:992px){.kcsg-modern-page .kcsg-case-study-grid>.kcsg-case-card:last-child:nth-child(3n+1){grid-column:2!important}}

/* Labels and badges follow professional title capitalization and spacing. */
.kcsg-modern-page .kcsg-badge{display:block!important;width:100%!important;margin:0 0 14px!important;padding:6px 12px!important;border-radius:999px!important;line-height:1.35!important}

@media(max-width:991px){
  #mainNav .kcsg-primary-menu>.kcsg-primary-item>.kcsg-primary-link{font-size:13px!important;padding-left:6px!important;padding-right:6px!important}
  .kcsg-modern-page .kcsg-horizontal-steps{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:767px){
  #mainNav .kcsg-primary-menu{display:block!important;border-radius:0!important;box-shadow:none!important}
  #mainNav .kcsg-primary-menu>.kcsg-primary-item{width:100%!important;max-width:100%!important;border-right:0!important;border-top:1px solid rgba(255,255,255,.13)!important;text-align:left!important}
  #mainNav .kcsg-primary-menu>.kcsg-primary-item:first-child{border-top:0!important}
  #mainNav .kcsg-primary-menu>.kcsg-primary-item>.kcsg-primary-link{justify-content:flex-start!important;min-height:52px!important;padding:13px 16px!important;font-size:14px!important}
  .kcsg-modern-page .kcsg-section-block+.kcsg-section-block,
  .kcsg-modern-page .kcsg-section-block+[data-upgrade],
  .kcsg-modern-page [data-upgrade]+.kcsg-section-block,
  .kcsg-modern-page [data-upgrade]>.kcsg-section-block+.kcsg-section-block{margin-top:28px!important}
  .kcsg-modern-page .kcsg-section--soft{padding:30px 15px!important;border-radius:8px!important}
  .kcsg-modern-page .kcsg-heading-with-icon{align-items:flex-start!important}
  .kcsg-modern-page .kcsg-horizontal-steps{grid-template-columns:1fr!important}
  .kcsg-modern-page .kcsg-horizontal-steps>.kcsg-numbered-flow__item{min-height:0!important}
  .kcsg-modern-page .kcsg-profile-media__image{height:320px!important;min-height:320px!important}
  .kcsg-modern-page .kcsg-profile-media__image>img{position:relative!important;inset:auto!important;height:320px!important}
  .kcsg-modern-page .kcsg-timeline-aligned{--tl-line:18px;--tl-pad:62px}
  .kcsg-modern-page .kcsg-case-study-grid>.kcsg-case-card:last-child:nth-child(3n+1){grid-column:auto!important}
}


/* KCSG final hierarchy and spacing refinements, 2026-08 */
/* Some expanded homepage sections sit inside an upgrade wrapper within a parent section. */
.kcsg-modern-page .kcsg-section-block>[data-upgrade]{display:block!important;margin-top:42px!important}
/* Stacked case-study summary cards use one restrained side accent instead of title underlines. */
.kcsg-modern-page .kcsg-article>.kcsg-detail{
  border:1px solid var(--kcsg-border)!important;border-left:4px solid var(--kcsg-blue)!important;
  border-radius:10px!important;box-shadow:0 6px 18px rgba(25,55,80,.05)!important;
}
.kcsg-modern-page .kcsg-article>.kcsg-detail:nth-of-type(4n+2){border-left-color:var(--kcsg-teal)!important}
.kcsg-modern-page .kcsg-article>.kcsg-detail:nth-of-type(4n+3){border-left-color:var(--kcsg-gold)!important}
.kcsg-modern-page .kcsg-article>.kcsg-detail:nth-of-type(4n){border-left-color:var(--kcsg-red)!important}
/* Company Profile is a major section title and uses the standard underline. */
.kcsg-modern-page .kcsg-profile-info>.kcsg-section-title{margin-bottom:18px!important}
@media(max-width:767px){.kcsg-modern-page .kcsg-section-block>[data-upgrade]{margin-top:28px!important}}


/* KCSG final site-wide navigation, spacing and image polish, 2026-08 */
/* Desktop navigation: a deterministic five-column grid, independent of legacy floats. */
@media (min-width:768px){
  #mainNav{display:block!important;width:100%!important;height:auto!important;min-height:0!important;clear:both!important;float:none!important;overflow:visible!important;margin:0!important;padding:0!important}
  #mainNav>.menu-primary-container,#mainNav>.menu-primary-japanese-container{display:block!important;width:100%!important;height:auto!important;min-height:0!important;float:none!important;clear:both!important;margin:0!important;padding:0!important}
  #mainNav ul#menu-primary.kcsg-primary-menu{
    display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;grid-template-rows:72px!important;
    width:100%!important;height:72px!important;min-height:72px!important;max-height:72px!important;
    margin:0!important;padding:0!important;float:none!important;clear:both!important;list-style:none!important;
    background:#c8173b!important;border:1px solid #a90e2c!important;border-radius:8px 8px 0 0!important;
    overflow:visible!important;box-shadow:0 8px 22px rgba(23,39,59,.12)!important;
  }
  #mainNav ul#menu-primary.kcsg-primary-menu>li.kcsg-primary-item{
    display:block!important;position:relative!important;float:none!important;clear:none!important;
    width:auto!important;max-width:none!important;min-width:0!important;height:72px!important;min-height:72px!important;
    margin:0!important;padding:0!important;inset:auto!important;transform:none!important;
    border:0!important;border-right:1px solid rgba(255,255,255,.17)!important;background:transparent!important;
    text-align:center!important;box-sizing:border-box!important;
  }
  #mainNav ul#menu-primary.kcsg-primary-menu>li.kcsg-primary-item:last-child{border-right:0!important}
  #mainNav ul#menu-primary.kcsg-primary-menu>li.kcsg-primary-item>a.kcsg-primary-link{
    display:flex!important;position:relative!important;align-items:center!important;justify-content:center!important;
    width:100%!important;height:72px!important;min-height:72px!important;margin:0!important;padding:0 10px!important;
    color:#fff!important;background:transparent!important;font-size:14px!important;font-weight:700!important;
    line-height:1.2!important;letter-spacing:.01em!important;white-space:nowrap!important;text-align:center!important;text-decoration:none!important;
    box-sizing:border-box!important;
  }
  #mainNav ul#menu-primary.kcsg-primary-menu>li.kcsg-primary-item>a.kcsg-primary-link:hover,
  #mainNav ul#menu-primary.kcsg-primary-menu>li.kcsg-primary-item>a.kcsg-primary-link:focus{background:rgba(255,255,255,.08)!important}
  #mainNav ul#menu-primary.kcsg-primary-menu>li.active>a.kcsg-primary-link,
  #mainNav ul#menu-primary.kcsg-primary-menu>li.current-menu-item>a.kcsg-primary-link,
  #mainNav ul#menu-primary.kcsg-primary-menu>li.current-menu-ancestor>a.kcsg-primary-link{
    background:#a7112e!important;box-shadow:inset 0 -4px 0 #4f88c6!important;
  }
  #mainNav ul#menu-primary.kcsg-primary-menu ul.sub-menu{
    position:absolute!important;top:72px!important;left:0!important;z-index:2000!important;min-width:280px!important;
    margin:0!important;padding:8px 0!important;background:#fff!important;border:1px solid #d9e1e8!important;border-radius:0 0 8px 8px!important;
    box-shadow:0 12px 26px rgba(23,39,59,.16)!important;
  }
}

/* Consistent vertical rhythm: one restrained gap between adjacent major sections. */
.kcsg-modern-page section.kcsg-section-block{margin-top:0!important;padding-top:28px!important;padding-bottom:30px!important}
.kcsg-modern-page section.kcsg-section-block+section.kcsg-section-block{margin-top:0!important}
.kcsg-modern-page>section.kcsg-section-block+[data-upgrade],
.kcsg-modern-page>[data-upgrade]+section.kcsg-section-block{margin-top:0!important}
.kcsg-modern-page>[data-upgrade]>section.kcsg-section-block:first-child{margin-top:0!important}
/* Nested upgrade content inside a section still needs a deliberate break. */
.kcsg-modern-page section.kcsg-section-block>[data-upgrade]{display:block!important;margin-top:32px!important}
/* Callout and FAQ are related but visually distinct. */
.kcsg-modern-page .kcsg-callout{margin:0!important}
.kcsg-modern-page .kcsg-callout+.kcsg-faq,
.kcsg-modern-page .kcsg-callout+.kcsg-faq-page{margin-top:30px!important}
.kcsg-modern-page .kcsg-faq>.kcsg-section-title,
.kcsg-modern-page .kcsg-faq-page>.kcsg-section-title{margin:0 0 18px!important}

/* Process cards: number and heading share one clear header row. */
.kcsg-modern-page .kcsg-horizontal-steps>.kcsg-numbered-flow__item{
  display:grid!important;grid-template-columns:38px minmax(0,1fr)!important;grid-template-rows:auto 1fr!important;
  column-gap:12px!important;row-gap:14px!important;align-content:start!important;min-height:205px!important;padding:22px 18px!important;
}
.kcsg-modern-page .kcsg-horizontal-steps>.kcsg-numbered-flow__item:before{
  grid-column:1!important;grid-row:1!important;align-self:start!important;width:34px!important;height:34px!important;margin:0!important;
}
.kcsg-modern-page .kcsg-horizontal-steps>.kcsg-numbered-flow__item>h3{
  grid-column:2!important;grid-row:1!important;align-self:center!important;margin:0!important;font-size:17px!important;line-height:1.28!important;
}
.kcsg-modern-page .kcsg-horizontal-steps>.kcsg-numbered-flow__item>p{
  grid-column:1/-1!important;grid-row:2!important;margin:0!important;line-height:1.65!important;
}

/* Case-study imagery: identical media geometry and neutral corporate treatment. */
.kcsg-modern-page .kcsg-case-card__media{aspect-ratio:16/7!important;background:#f4f7fa!important;border-bottom:1px solid #dfe6ed!important}
.kcsg-modern-page .kcsg-case-card__media>img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;filter:none!important}
.kcsg-modern-page .kcsg-case-card{border-radius:10px!important}
.kcsg-modern-page .kcsg-case-card .kcsg-card__body{padding:18px 18px 20px!important}

@media(max-width:991px) and (min-width:768px){
  #mainNav ul#menu-primary.kcsg-primary-menu>li.kcsg-primary-item>a.kcsg-primary-link{font-size:12px!important;padding:0 6px!important;white-space:normal!important}
}
@media(max-width:767px){
  .kcsg-modern-page section.kcsg-section-block{padding-top:24px!important;padding-bottom:26px!important}
  .kcsg-modern-page section.kcsg-section-block>[data-upgrade]{margin-top:26px!important}
  .kcsg-modern-page .kcsg-callout+.kcsg-faq,.kcsg-modern-page .kcsg-callout+.kcsg-faq-page{margin-top:24px!important}
  .kcsg-modern-page .kcsg-horizontal-steps>.kcsg-numbered-flow__item{min-height:0!important}
}

/* Apply the final five-column navigation system to both English and Japanese menu IDs. */
@media (min-width:768px){
  #mainNav ul.kcsg-primary-menu{
    display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;grid-template-rows:72px!important;
    width:100%!important;height:72px!important;min-height:72px!important;max-height:72px!important;
    margin:0!important;padding:0!important;float:none!important;clear:both!important;list-style:none!important;
    background:#c8173b!important;border:1px solid #a90e2c!important;border-radius:8px 8px 0 0!important;
    overflow:visible!important;box-shadow:0 8px 22px rgba(23,39,59,.12)!important;
  }
  #mainNav ul.kcsg-primary-menu>li.kcsg-primary-item{
    display:block!important;position:relative!important;float:none!important;clear:none!important;
    width:auto!important;max-width:none!important;min-width:0!important;height:72px!important;min-height:72px!important;
    margin:0!important;padding:0!important;inset:auto!important;transform:none!important;
    border:0!important;border-right:1px solid rgba(255,255,255,.17)!important;background:transparent!important;
    text-align:center!important;box-sizing:border-box!important;
  }
  #mainNav ul.kcsg-primary-menu>li.kcsg-primary-item:last-child{border-right:0!important}
  #mainNav ul.kcsg-primary-menu>li.kcsg-primary-item>a.kcsg-primary-link{
    display:flex!important;position:relative!important;align-items:center!important;justify-content:center!important;
    width:100%!important;height:72px!important;min-height:72px!important;margin:0!important;padding:0 10px!important;
    color:#fff!important;background:transparent!important;font-size:14px!important;font-weight:700!important;
    line-height:1.2!important;letter-spacing:.01em!important;white-space:nowrap!important;text-align:center!important;text-decoration:none!important;
    box-sizing:border-box!important;
  }
  #mainNav ul.kcsg-primary-menu>li.kcsg-primary-item>a.kcsg-primary-link:hover,
  #mainNav ul.kcsg-primary-menu>li.kcsg-primary-item>a.kcsg-primary-link:focus{background:rgba(255,255,255,.08)!important}
  #mainNav ul.kcsg-primary-menu>li.active>a.kcsg-primary-link,
  #mainNav ul.kcsg-primary-menu>li.current-menu-item>a.kcsg-primary-link,
  #mainNav ul.kcsg-primary-menu>li.current-menu-ancestor>a.kcsg-primary-link{background:#a7112e!important;box-shadow:inset 0 -4px 0 #4f88c6!important}
  #mainNav ul.kcsg-primary-menu ul.sub-menu{position:absolute!important;top:72px!important;left:0!important;z-index:2000!important;min-width:280px!important;margin:0!important;padding:8px 0!important;background:#fff!important;border:1px solid #d9e1e8!important;border-radius:0 0 8px 8px!important;box-shadow:0 12px 26px rgba(23,39,59,.16)!important}
}
@media(max-width:991px) and (min-width:768px){#mainNav ul.kcsg-primary-menu>li.kcsg-primary-item>a.kcsg-primary-link{font-size:12px!important;padding:0 6px!important;white-space:normal!important}}


/* KCSG final site-wide visual alignment, 2026-08 */
:root{
  --kcsg-section-gap:32px;
  --kcsg-inner-gap:24px;
  --kcsg-radius:11px;
}

/* Header: replace inconsistent BR spacers with one controlled vertical rhythm. */
#masthead .header-web.kcsg-header-normalized{
  padding-top:24px!important;
  padding-bottom:0!important;
}
#masthead .header-web.kcsg-header-normalized>br:first-child{display:none!important}
#masthead .header-web .site-branding{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  min-height:64px!important;
  margin:0 0 18px!important;
  padding:0!important;
}
#masthead .header-web .web-logo,#masthead .header-web .search-area{float:none!important;margin:0!important}
#masthead .header-web .web-logo img{display:block!important;max-height:46px!important;width:auto!important}

/* Navigation: Bootstrap .nav clearfix pseudo-elements were consuming grid cells. */
@media(min-width:768px){
  #mainNav ul.kcsg-primary-menu:before,
  #mainNav ul.kcsg-primary-menu:after{display:none!important;content:none!important}
  #mainNav ul.kcsg-primary-menu{
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    grid-auto-flow:column!important;
    grid-template-rows:68px!important;
    width:100%!important;
    height:68px!important;
    min-height:68px!important;
    max-height:68px!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    border-radius:8px 8px 0 0!important;
  }
  #mainNav ul.kcsg-primary-menu>li.kcsg-primary-item{
    grid-row:1!important;
    position:relative!important;
    display:block!important;
    float:none!important;
    width:auto!important;
    min-width:0!important;
    height:68px!important;
    margin:0!important;
    padding:0!important;
    inset:auto!important;
    transform:none!important;
  }
  #mainNav ul.kcsg-primary-menu>li.kcsg-primary-item:nth-child(1){grid-column:1!important}
  #mainNav ul.kcsg-primary-menu>li.kcsg-primary-item:nth-child(2){grid-column:2!important}
  #mainNav ul.kcsg-primary-menu>li.kcsg-primary-item:nth-child(3){grid-column:3!important}
  #mainNav ul.kcsg-primary-menu>li.kcsg-primary-item:nth-child(4){grid-column:4!important}
  #mainNav ul.kcsg-primary-menu>li.kcsg-primary-item:nth-child(5){grid-column:5!important}
  #mainNav ul.kcsg-primary-menu>li.kcsg-primary-item>a.kcsg-primary-link{
    height:68px!important;
    min-height:68px!important;
    padding:0 12px!important;
    font-size:14px!important;
    line-height:1.25!important;
    white-space:normal!important;
  }
  #mainNav ul.kcsg-primary-menu ul.sub-menu{top:68px!important}
}

/* Consistent section rhythm. No joined sections and no excessive blank bands. */
.kcsg-modern-page>.kcsg-hero{margin-bottom:0!important}
.kcsg-modern-page section.kcsg-section-block{
  margin:var(--kcsg-section-gap) 0 0!important;
  padding-top:30px!important;
  padding-bottom:30px!important;
}
.kcsg-modern-page section.kcsg-section-block.kcsg-section--soft{
  padding-left:28px!important;
  padding-right:28px!important;
  border-radius:var(--kcsg-radius)!important;
}
.kcsg-modern-page>[data-upgrade],
.kcsg-modern-page section.kcsg-section-block>[data-upgrade]{display:block!important;margin-top:0!important}
.kcsg-modern-page>[data-upgrade]>section.kcsg-section-block:first-child,
.kcsg-modern-page section.kcsg-section-block>[data-upgrade]>section.kcsg-section-block:first-child{
  margin-top:var(--kcsg-section-gap)!important;
}
.kcsg-modern-page .kcsg-section-block+.kcsg-callout,
.kcsg-modern-page [data-upgrade]+.kcsg-callout,
.kcsg-modern-page .kcsg-section-block+.kcsg-faq,
.kcsg-modern-page .kcsg-section-block+.kcsg-faq-page{margin-top:var(--kcsg-section-gap)!important}
.kcsg-modern-page .kcsg-callout+.kcsg-faq,
.kcsg-modern-page .kcsg-callout+.kcsg-faq-page{margin-top:24px!important}
.kcsg-modern-page .kcsg-article>.kcsg-detail+.kcsg-split,
.kcsg-modern-page .kcsg-article>.kcsg-split+.kcsg-detail,
.kcsg-modern-page .kcsg-article>.kcsg-detail+.kcsg-detail,
.kcsg-modern-page .kcsg-article>.kcsg-case-meta+.kcsg-detail{margin-top:var(--kcsg-inner-gap)!important}
.kcsg-modern-page .kcsg-article>.kcsg-note{margin-top:14px!important}
.kcsg-modern-page .kcsg-actions{margin-top:22px!important}

/* Public review-date strips are intentionally removed. */
.kcsg-review-date{display:none!important}

/* Comparable cards and panels have a uniform accent and equal visual weight. */
.kcsg-modern-page .kcsg-equal-grid{gap:22px!important;align-items:stretch!important}
.kcsg-modern-page .kcsg-equal-grid>.kcsg-panel,
.kcsg-modern-page .kcsg-equal-grid>.kcsg-detail,
.kcsg-modern-page .kcsg-equal-grid>.kcsg-card{
  border-left:1px solid var(--kcsg-border)!important;
  border-top-width:4px!important;
  border-radius:var(--kcsg-radius)!important;
}
.kcsg-modern-page .kcsg-panel{padding:25px!important;border:1px solid var(--kcsg-border)!important;border-top:4px solid var(--kcsg-red)!important;border-radius:var(--kcsg-radius)!important;background:#fff!important}
.kcsg-modern-page .kcsg-split>.kcsg-panel:nth-child(2),
.kcsg-modern-page .kcsg-split>.kcsg-detail:nth-child(2){border-top-color:var(--kcsg-blue)!important}

/* Standalone narrative summaries use one restrained left accent, not extra heading underlines. */
.kcsg-modern-page .kcsg-standalone-detail{
  margin-top:var(--kcsg-inner-gap)!important;
  border:1px solid var(--kcsg-border)!important;
  border-left:4px solid var(--kcsg-blue)!important;
  border-radius:var(--kcsg-radius)!important;
  background:#fff!important;
}
.kcsg-modern-page .kcsg-standalone-detail:first-of-type{margin-top:0!important}

/* Delivery notes are styled as useful callouts instead of plain empty boxes. */
.kcsg-modern-page .kcsg-delivery-callout{
  position:relative!important;
  padding:24px 26px!important;
  border:1px solid #ceddea!important;
  border-left:5px solid var(--kcsg-blue)!important;
  border-radius:var(--kcsg-radius)!important;
  background:linear-gradient(135deg,#f4f8fc 0%,#ffffff 78%)!important;
  box-shadow:0 7px 20px rgba(25,55,80,.055)!important;
}
.kcsg-modern-page .kcsg-delivery-callout .kcsg-callout-heading{margin-bottom:10px!important;min-height:38px!important}
.kcsg-modern-page .kcsg-delivery-callout .kcsg-heading-icon{width:38px!important;height:38px!important;flex-basis:38px!important;background:#e8f1fb!important;color:var(--kcsg-blue)!important}
.kcsg-modern-page .kcsg-delivery-callout p{margin:0!important;line-height:1.72!important;color:#4f5c68!important}

/* Process steps: number and heading remain on the same row at all desktop sizes. */
.kcsg-modern-page .kcsg-horizontal-steps>.kcsg-numbered-flow__item{
  grid-template-columns:38px minmax(0,1fr)!important;
  grid-template-rows:auto 1fr!important;
  min-height:200px!important;
  padding:22px 18px!important;
}
.kcsg-modern-page .kcsg-horizontal-steps>.kcsg-numbered-flow__item>h3{
  align-self:center!important;
  margin:0!important;
  line-height:1.28!important;
}

/* Unified service and case-study media proportions. */
.kcsg-modern-page .kcsg-card img{
  width:100%!important;
  height:auto!important;
  aspect-ratio:16/7!important;
  object-fit:cover!important;
  object-position:center!important;
  background:#f3f7fa!important;
}
.kcsg-modern-page .kcsg-case-card__media{aspect-ratio:16/7!important}
.kcsg-modern-page .kcsg-case-card__media>img{aspect-ratio:auto!important}

/* Compact FAQ hierarchy and security-note spacing. */
.kcsg-modern-page .kcsg-faq,.kcsg-modern-page .kcsg-faq-page{margin-bottom:0!important}
.kcsg-modern-page .kcsg-faq details,.kcsg-modern-page .kcsg-faq-page details{margin-bottom:10px!important}

@media(max-width:991px) and (min-width:768px){
  #mainNav ul.kcsg-primary-menu>li.kcsg-primary-item>a.kcsg-primary-link{font-size:12px!important;padding:0 7px!important}
}
@media(max-width:767px){
  #masthead .header-web.kcsg-header-normalized{padding-top:0!important}
  .kcsg-modern-page section.kcsg-section-block{margin-top:26px!important;padding-top:25px!important;padding-bottom:25px!important}
  .kcsg-modern-page section.kcsg-section-block.kcsg-section--soft{padding-left:18px!important;padding-right:18px!important}
  .kcsg-modern-page .kcsg-article>.kcsg-detail+.kcsg-split,
  .kcsg-modern-page .kcsg-article>.kcsg-split+.kcsg-detail,
  .kcsg-modern-page .kcsg-article>.kcsg-detail+.kcsg-detail{margin-top:20px!important}
}


/* === KCSG follow-up alignment pass: navigation, spacing, company profile, and text tone === */
@media (min-width:768px){
  /* Keep desktop dropdowns compact so no ghost / white grid cells appear. */
  #mainNav ul.kcsg-primary-menu ul.sub-menu,
  #mainNav ul.kcsg-primary-menu ul.dropdown-menu,
  #mainNav ul#menu-primary.kcsg-primary-menu ul.sub-menu,
  #mainNav ul#menu-primary.kcsg-primary-menu ul.dropdown-menu{
    display:block!important;
    grid-template-columns:none!important;
    grid-template-rows:none!important;
    width:max-content!important;
    min-width:280px!important;
    max-width:360px!important;
    height:auto!important;
    min-height:0!important;
    padding:8px 0!important;
    background:#fff!important;
    border:1px solid #d9e1e8!important;
    border-radius:0 0 10px 10px!important;
    overflow:hidden!important;
  }
  #mainNav ul.kcsg-primary-menu ul.sub-menu:before,
  #mainNav ul.kcsg-primary-menu ul.sub-menu:after,
  #mainNav ul.kcsg-primary-menu ul.dropdown-menu:before,
  #mainNav ul.kcsg-primary-menu ul.dropdown-menu:after,
  #mainNav ul#menu-primary.kcsg-primary-menu ul.sub-menu:before,
  #mainNav ul#menu-primary.kcsg-primary-menu ul.sub-menu:after,
  #mainNav ul#menu-primary.kcsg-primary-menu ul.dropdown-menu:before,
  #mainNav ul#menu-primary.kcsg-primary-menu ul.dropdown-menu:after{
    display:none!important;
    content:none!important;
  }
  #mainNav ul.kcsg-primary-menu ul.sub-menu>li,
  #mainNav ul.kcsg-primary-menu ul.dropdown-menu>li,
  #mainNav ul#menu-primary.kcsg-primary-menu ul.sub-menu>li,
  #mainNav ul#menu-primary.kcsg-primary-menu ul.dropdown-menu>li{
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
  }
  #mainNav ul.kcsg-primary-menu ul.sub-menu>li>a,
  #mainNav ul.kcsg-primary-menu ul.dropdown-menu>li>a,
  #mainNav ul#menu-primary.kcsg-primary-menu ul.sub-menu>li>a,
  #mainNav ul#menu-primary.kcsg-primary-menu ul.dropdown-menu>li>a{
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    padding:12px 16px!important;
    white-space:normal!important;
    line-height:1.45!important;
    text-align:left!important;
    color:#1f3045!important;
    background:#fff!important;
  }
  #mainNav ul.kcsg-primary-menu ul.sub-menu>li>a:hover,
  #mainNav ul.kcsg-primary-menu ul.dropdown-menu>li>a:hover,
  #mainNav ul#menu-primary.kcsg-primary-menu ul.sub-menu>li>a:hover,
  #mainNav ul#menu-primary.kcsg-primary-menu ul.dropdown-menu>li>a:hover{
    background:#f3f7fb!important;
    color:#b10f2f!important;
  }
}

/* Consistent spacing between content blocks and informational callouts. */
.kcsg-modern-page .kcsg-detail + .kcsg-callout,
.kcsg-modern-page .kcsg-panel + .kcsg-callout,
.kcsg-modern-page .kcsg-callout + .kcsg-detail,
.kcsg-modern-page .kcsg-callout + .kcsg-panel{
  margin-top:18px!important;
}
.kcsg-modern-page .kcsg-detail + .kcsg-detail{margin-top:20px!important;}
.kcsg-modern-page .kcsg-question-list{margin:10px 0 0!important;}
.kcsg-modern-page .kcsg-question-list li:last-child{margin-bottom:0!important;}
.kcsg-modern-page .kcsg-detail > p:last-child,
.kcsg-modern-page .kcsg-panel > p:last-child,
.kcsg-modern-page .kcsg-callout > p:last-child{margin-bottom:0!important;}

/* Company profile media refresh with office photo and caption. */
.kcsg-modern-page .kcsg-profile-media__image{
  overflow:hidden!important;
  border-radius:12px!important;
  border:1px solid #dbe5ed!important;
  background:#f4f7fa!important;
  box-shadow:0 10px 24px rgba(25,55,80,.08)!important;
}
.kcsg-modern-page .kcsg-profile-media__image img{
  width:100%!important;
  height:100%!important;
  min-height:420px!important;
  aspect-ratio:4/5!important;
  object-fit:cover!important;
  object-position:center center!important;
  display:block!important;
}
.kcsg-modern-page .kcsg-profile-caption{
  margin:12px 0 0!important;
  font-size:14px!important;
  line-height:1.65!important;
  color:#536171!important;
}
.kcsg-modern-page .kcsg-profile-note{
  margin-top:14px!important;
  padding:14px 16px!important;
  border-left:4px solid var(--kcsg-blue)!important;
  border-radius:8px!important;
  background:#f4f8fc!important;
  color:#415160!important;
  line-height:1.65!important;
}

/* Role labels without large numbered tags feel cleaner and more timeless. */
.kcsg-modern-page .kcsg-role__label{
  display:inline-block!important;
  padding:4px 10px!important;
  border-radius:999px!important;
  background:#fff4f6!important;
  color:#b00020!important;
  font-size:12px!important;
  letter-spacing:.05em!important;
}

.kcsg-modern-page .kcsg-detail--question-panel{justify-content:flex-start!important;}
.kcsg-modern-page .kcsg-detail--question-panel .kcsg-question-list{margin-top:6px!important;}


/* KCSG final focused cleanup pass, 2026-08 */
@media (min-width:768px){
  /* Dropdowns stay hidden until intentionally opened. This removes white patches over banners. */
  #mainNav ul.kcsg-primary-menu ul.sub-menu,
  #mainNav ul.kcsg-primary-menu ul.dropdown-menu{
    display:none!important;
    grid-template-columns:none!important;
    grid-template-rows:none!important;
    width:max-content!important;
    min-width:280px!important;
    max-width:360px!important;
    height:auto!important;
    min-height:0!important;
    padding:8px 0!important;
    background:#fff!important;
    border:1px solid #d9e1e8!important;
    border-radius:0 0 10px 10px!important;
    overflow:hidden!important;
  }
  #mainNav ul.kcsg-primary-menu>li:hover>ul.sub-menu,
  #mainNav ul.kcsg-primary-menu>li:focus-within>ul.sub-menu,
  #mainNav ul.kcsg-primary-menu>li.open>ul.sub-menu,
  #mainNav ul.kcsg-primary-menu>li:hover>ul.dropdown-menu,
  #mainNav ul.kcsg-primary-menu>li:focus-within>ul.dropdown-menu,
  #mainNav ul.kcsg-primary-menu>li.open>ul.dropdown-menu{
    display:block!important;
  }
  #mainNav ul.kcsg-primary-menu ul.sub-menu:before,
  #mainNav ul.kcsg-primary-menu ul.sub-menu:after,
  #mainNav ul.kcsg-primary-menu ul.dropdown-menu:before,
  #mainNav ul.kcsg-primary-menu ul.dropdown-menu:after{
    display:none!important;
    content:none!important;
  }
  #mainNav ul.kcsg-primary-menu ul.sub-menu>li,
  #mainNav ul.kcsg-primary-menu ul.dropdown-menu>li{
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:#fff!important;
  }
  #mainNav ul.kcsg-primary-menu ul.sub-menu>li>a,
  #mainNav ul.kcsg-primary-menu ul.dropdown-menu>li>a{
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    padding:12px 16px!important;
    color:#1f3045!important;
    background:#fff!important;
    white-space:normal!important;
    line-height:1.45!important;
    text-align:left!important;
  }
  #mainNav ul.kcsg-primary-menu ul.sub-menu>li>a:hover,
  #mainNav ul.kcsg-primary-menu ul.dropdown-menu>li>a:hover{
    background:#f3f7fb!important;
    color:#b10f2f!important;
  }
}
@media (max-width:767px){
  #mainNav ul.sub-menu,#mainNav ul.dropdown-menu{
    position:static!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0 0 6px 14px!important;
    border:0!important;
    box-shadow:none!important;
    background:rgba(80,8,24,.18)!important;
  }
  #mainNav ul.sub-menu li,#mainNav ul.dropdown-menu li{width:100%!important;height:auto!important;}
  #mainNav ul.sub-menu a,#mainNav ul.dropdown-menu a{
    display:block!important;
    height:auto!important;
    min-height:0!important;
    padding:10px 14px!important;
    color:#fff!important;
    white-space:normal!important;
    line-height:1.4!important;
  }
}

/* Final vertical rhythm refinements. */
.kcsg-modern-page .kcsg-detail + .kcsg-callout,
.kcsg-modern-page .kcsg-panel + .kcsg-callout,
.kcsg-modern-page .kcsg-callout + .kcsg-detail,
.kcsg-modern-page .kcsg-callout + .kcsg-panel{margin-top:18px!important;}
.kcsg-modern-page .kcsg-detail + .kcsg-detail{margin-top:20px!important;}
.kcsg-modern-page .kcsg-question-list{margin:6px 0 0!important;}
.kcsg-modern-page .kcsg-question-list li:last-child{margin-bottom:0!important;}
.kcsg-modern-page .kcsg-detail--question-panel{justify-content:flex-start!important;}
.kcsg-modern-page .kcsg-detail>p:last-child,
.kcsg-modern-page .kcsg-panel>p:last-child,
.kcsg-modern-page .kcsg-callout>p:last-child{margin-bottom:0!important;}

/* Office photo treatment on Company Profile pages. */
.kcsg-modern-page .kcsg-profile-media__image{
  overflow:hidden!important;
  border:1px solid #dbe5ed!important;
  border-radius:12px!important;
  background:#f4f7fa!important;
  box-shadow:0 10px 24px rgba(25,55,80,.08)!important;
}
.kcsg-modern-page .kcsg-profile-media__image img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:420px!important;
  aspect-ratio:4/5!important;
  object-fit:cover!important;
  object-position:center center!important;
}
.kcsg-modern-page .kcsg-profile-caption{
  margin:12px 0 0!important;
  color:#536171!important;
  font-size:14px!important;
  line-height:1.65!important;
}
.kcsg-modern-page .kcsg-profile-note{
  margin-top:14px!important;
  padding:14px 16px!important;
  border-left:4px solid var(--kcsg-blue)!important;
  border-radius:8px!important;
  background:#f4f8fc!important;
  color:#415160!important;
  line-height:1.65!important;
}
.kcsg-modern-page .kcsg-role__label{
  display:inline-block!important;
  padding:4px 10px!important;
  border-radius:999px!important;
  background:#fff4f6!important;
  color:#b00020!important;
  font-size:12px!important;
  letter-spacing:.05em!important;
}


/* KCSG company-profile-aligned final pass, 2026-08 */
:root{
  --kcsg-content-font:15.5px;
  --kcsg-body-line:1.72;
  --kcsg-section-space:34px;
}

/* One logo treatment on every desktop page. */
#masthead .header-web.kcsg-header-normalized{padding-top:26px!important;}
#masthead .header-web .site-branding{min-height:66px!important;margin-bottom:18px!important;}
#masthead .header-web .web-logo img{
  display:block!important;width:auto!important;height:46px!important;max-height:46px!important;max-width:760px!important;
}
#masthead .header-web .search-area .clearfix{display:none!important;}
#masthead .header-web .search-box{margin-top:0!important;}

/* Dropdowns are hidden until deliberately opened. This prevents white patches. */
@media(min-width:768px){
  #mainNav .kcsg-primary-menu>li>.sub-menu,
  #mainNav .kcsg-primary-menu>li>.dropdown-menu{display:none!important;}
  #mainNav .kcsg-primary-menu>li:hover>.sub-menu,
  #mainNav .kcsg-primary-menu>li:focus-within>.sub-menu,
  #mainNav .kcsg-primary-menu>li:hover>.dropdown-menu,
  #mainNav .kcsg-primary-menu>li:focus-within>.dropdown-menu{
    display:block!important;
  }
  #mainNav .kcsg-primary-menu>li>.sub-menu,
  #mainNav .kcsg-primary-menu>li>.dropdown-menu{
    min-width:290px!important;max-width:360px!important;height:auto!important;background:#fff!important;
  }
  #mainNav .kcsg-primary-menu>li>.sub-menu>li,
  #mainNav .kcsg-primary-menu>li>.dropdown-menu>li{height:auto!important;min-height:0!important;}
  #mainNav .kcsg-primary-menu>li>.sub-menu>li>a,
  #mainNav .kcsg-primary-menu>li>.dropdown-menu>li>a{
    display:block!important;height:auto!important;min-height:0!important;padding:12px 16px!important;
    color:#23364c!important;background:#fff!important;line-height:1.45!important;white-space:normal!important;text-align:left!important;
  }
}

/* Consistent typography across enhanced content. */
.kcsg-modern-page p,
.kcsg-modern-page li,
.kcsg-modern-page td{font-size:var(--kcsg-content-font)!important;line-height:var(--kcsg-body-line)!important;}
.kcsg-modern-page .kcsg-lead{font-size:17px!important;line-height:1.72!important;}
.kcsg-modern-page .kcsg-card h3{font-size:19px!important;line-height:1.38!important;}
.kcsg-modern-page .kcsg-section-title{font-size:28px!important;line-height:1.28!important;}
.kcsg-modern-page .kcsg-md-message .kcsg-detail p{
  margin:0 0 16px!important;font-size:16px!important;line-height:1.78!important;color:#34414e!important;
}
.kcsg-modern-page .kcsg-md-message .kcsg-detail p:last-child{margin-bottom:0!important;}
.kcsg-modern-page .kcsg-md-message .kcsg-detail{padding:28px 30px!important;}

/* Home value proposition follows the 2026 company portfolio. */
.kcsg-modern-page .kcsg-feature-pillars .kcsg-card{
  border-radius:12px!important;background:linear-gradient(180deg,#fff 0%,#fbfcfd 100%)!important;
}
.kcsg-modern-page .kcsg-feature-pillars .kcsg-card__heading{min-height:72px!important;}
.kcsg-modern-page .kcsg-feature-pillars .kcsg-card__body{padding:25px 22px 24px!important;}
.kcsg-modern-page .kcsg-feature-pillars .kcsg-card p{margin-bottom:0!important;}

/* Service media use a premium light corporate illustration system. */
.kcsg-modern-page .kcsg-grid>.kcsg-card>img[src*="service-"]{
  display:block!important;width:100%!important;height:auto!important;aspect-ratio:1200/525!important;
  object-fit:cover!important;object-position:center!important;background:#f4f7fa!important;
  border-bottom:1px solid #dce5ed!important;
}
.kcsg-modern-page .kcsg-grid>.kcsg-card:has(>img[src*="service-"]){
  overflow:hidden!important;border-radius:12px!important;background:#fff!important;
}
.kcsg-modern-page .kcsg-grid>.kcsg-card:has(>img[src*="service-"]) .kcsg-card__body{
  display:flex!important;flex-direction:column!important;padding:22px!important;min-height:245px!important;
}
.kcsg-modern-page .kcsg-grid>.kcsg-card:has(>img[src*="service-"]) .kcsg-link{
  margin-top:auto!important;padding-top:16px!important;
}

/* Profile table and THE COLLECTIVE image are visually balanced. */
.kcsg-modern-page .kcsg-profile-layout{align-items:stretch!important;}
.kcsg-modern-page .kcsg-profile-info,.kcsg-modern-page .kcsg-profile-media{height:100%!important;}
.kcsg-modern-page .kcsg-profile-media__image{min-height:520px!important;height:100%!important;}
.kcsg-modern-page .kcsg-profile-media__image img{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;
  aspect-ratio:auto!important;object-fit:cover!important;object-position:center 47%!important;
}
.kcsg-profile-table th{width:27%!important;font-size:14px!important;line-height:1.45!important;}
.kcsg-profile-table td{font-size:14.5px!important;}
.kcsg-profile-table td ul{margin:0!important;padding-left:18px!important;}
.kcsg-profile-table td li{font-size:14.5px!important;line-height:1.55!important;margin-bottom:2px!important;}
.kcsg-profile-asof{display:block;margin-top:6px;color:#687582;font-size:12px;}
.kcsg-profile-caption{font-size:14px!important;line-height:1.65!important;}

/* Stable spacing between major sections. */
.kcsg-modern-page>section.kcsg-section-block{margin-top:var(--kcsg-section-space)!important;}
.kcsg-modern-page>section.kcsg-section-block:first-of-type{margin-top:0!important;}
.kcsg-modern-page [data-upgrade]>section.kcsg-section-block{margin-top:var(--kcsg-section-space)!important;}
.kcsg-modern-page .kcsg-section--soft{padding-top:34px!important;padding-bottom:34px!important;}
.kcsg-modern-page .kcsg-section__head{margin-bottom:24px!important;}

@media(max-width:991px){
  #masthead .header-web .web-logo img{height:40px!important;max-height:40px!important;}
  .kcsg-modern-page .kcsg-profile-media__image{min-height:420px!important;}
}
@media(max-width:767px){
  .kcsg-modern-page p,.kcsg-modern-page li,.kcsg-modern-page td{font-size:15px!important;}
  .kcsg-modern-page .kcsg-section-title{font-size:25px!important;}
  .kcsg-modern-page .kcsg-profile-media__image{height:360px!important;min-height:360px!important;}
  .kcsg-modern-page .kcsg-profile-media__image img{position:relative!important;inset:auto!important;height:360px!important;}
  .kcsg-modern-page .kcsg-grid>.kcsg-card:has(>img[src*="service-"]) .kcsg-card__body{min-height:0!important;}
}


/* KCSG Google Maps location section, 2026-08 */
.kcsg-location-section{
  margin-top:32px!important;
}
.kcsg-location-layout{
  display:grid;
  grid-template-columns:minmax(260px,.72fr) minmax(420px,1.28fr);
  gap:24px;
  align-items:stretch;
}
.kcsg-location-info{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:28px;
  border:1px solid #dce5ec;
  border-top:4px solid #d71938;
  border-radius:12px;
  background:#fff;
  box-shadow:0 8px 22px rgba(25,55,80,.07);
}
.kcsg-location-info__heading{
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 14px;
  color:#26333f;
  font-size:22px;
  line-height:1.3;
}
.kcsg-location-info__icon{
  display:inline-flex;
  width:42px;
  height:42px;
  flex:0 0 42px;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background:#f9e7eb;
  color:#c60022;
  font-size:19px;
}
.kcsg-location-address{
  margin:0 0 12px;
  color:#354454;
  font-size:16px;
  line-height:1.7;
}
.kcsg-location-note{
  margin:0 0 20px;
  color:#5b6773;
  line-height:1.7;
}
.kcsg-location-map{
  min-height:390px;
  overflow:hidden;
  border:1px solid #dce5ec;
  border-radius:12px;
  background:#eef3f7;
  box-shadow:0 8px 22px rgba(25,55,80,.07);
}
.kcsg-location-map iframe{
  display:block;
  width:100%;
  height:100%;
  min-height:390px;
  border:0;
}
.kcsg-location-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
@media(max-width:991px){
  .kcsg-location-layout{grid-template-columns:1fr;}
  .kcsg-location-map,.kcsg-location-map iframe{min-height:360px;}
}
@media(max-width:767px){
  .kcsg-location-section{margin-top:24px!important;}
  .kcsg-location-info{padding:22px;}
  .kcsg-location-map,.kcsg-location-map iframe{min-height:320px;}
}


/* KCSG sitewide consistency final pass, 2026-08 */
:root{--kcsg-major-gap:40px;--kcsg-card-gap:24px;}

/* Header branding remains identical on every page and at browser zoom levels. */
#masthead .header-web .site-branding{
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:28px!important;
  min-height:68px!important;margin:0 0 20px!important;padding:0!important;
}
#masthead .header-web .web-logo{flex:0 1 620px!important;min-width:0!important;}
#masthead .header-web .web-logo a{display:block!important;}
#masthead .header-web .web-logo img{
  display:block!important;width:100%!important;max-width:550px!important;height:auto!important;max-height:none!important;object-fit:contain!important;
}
#masthead .header-web .search-area{flex:1 0 auto!important;margin-left:auto!important;}
#masthead .header-web .search-box{white-space:nowrap!important;}

/* Desktop dropdowns open only after a click adds .open. No permanent or hover-only display. */
@media(min-width:768px){
  #mainNav .kcsg-primary-menu>li>.sub-menu,
  #mainNav .kcsg-primary-menu>li>.dropdown-menu,
  #mainNav .kcsg-primary-menu>li:hover>.sub-menu,
  #mainNav .kcsg-primary-menu>li:focus-within>.sub-menu,
  #mainNav .kcsg-primary-menu>li:hover>.dropdown-menu,
  #mainNav .kcsg-primary-menu>li:focus-within>.dropdown-menu{display:none!important;}
  #mainNav .kcsg-primary-menu>li.open>.sub-menu,
  #mainNav .kcsg-primary-menu>li.open>.dropdown-menu,
  #mainNav .kcsg-primary-menu>li>a[aria-expanded="true"]+.sub-menu,
  #mainNav .kcsg-primary-menu>li>a[aria-expanded="true"]+.dropdown-menu{display:block!important;}
}

/* Clear rhythm across every enhanced page. */
.kcsg-modern-page>section.kcsg-section-block{margin-top:var(--kcsg-major-gap)!important;}
.kcsg-modern-page>section.kcsg-section-block:first-of-type{margin-top:0!important;}
.kcsg-modern-page .kcsg-grid,.kcsg-modern-page .kcsg-split,.kcsg-modern-page .kcsg-role-row{gap:var(--kcsg-card-gap)!important;}
.kcsg-modern-page .kcsg-section--soft{border-radius:12px!important;}
.kcsg-modern-page .kcsg-location-section+.kcsg-md-message{margin-top:46px!important;}
.kcsg-modern-page .kcsg-md-message{border-radius:12px!important;}
.kcsg-modern-page .kcsg-md-message .kcsg-detail p{
  margin:0 0 17px!important;font-size:16px!important;line-height:1.76!important;color:#354250!important;
}
.kcsg-modern-page .kcsg-md-message .kcsg-detail p:last-child{margin-bottom:0!important;}

/* Profile keeps Labrador Tower, while THE COLLECTIVE entrance moves to the map section. */
.kcsg-modern-page .kcsg-profile-media__image{min-height:520px!important;}
.kcsg-modern-page .kcsg-profile-media__image img{object-position:center 48%!important;}
.kcsg-modern-page .kcsg-profile-caption{margin-top:12px!important;}
.kcsg-location-layout{
  grid-template-columns:minmax(240px,.72fr) minmax(360px,1.22fr) minmax(250px,.78fr)!important;
  gap:22px!important;align-items:stretch!important;
}
.kcsg-location-map,.kcsg-location-map iframe,.kcsg-location-photo{min-height:390px!important;height:100%!important;}
.kcsg-location-photo{
  display:flex!important;flex-direction:column!important;margin:0!important;overflow:hidden!important;
  border:1px solid #dce5ec!important;border-radius:12px!important;background:#fff!important;
  box-shadow:0 8px 22px rgba(25,55,80,.07)!important;
}
.kcsg-location-photo img{display:block!important;width:100%!important;min-height:342px!important;height:342px!important;object-fit:cover!important;object-position:center!important;}
.kcsg-location-photo figcaption{padding:13px 15px!important;color:#536171!important;font-size:13.5px!important;line-height:1.55!important;}

/* Refined service cards and light, consistent corporate banners. */
.kcsg-modern-page .kcsg-grid>.kcsg-card>img[src*="service-"]{
  aspect-ratio:1200/525!important;border-bottom:1px solid #dce5ed!important;background:#f5f8fb!important;
}
.kcsg-modern-page .kcsg-grid>.kcsg-card:has(>img[src*="service-"]){
  border-radius:13px!important;box-shadow:0 10px 25px rgba(25,55,80,.075)!important;
}
.kcsg-modern-page .kcsg-grid>.kcsg-card:has(>img[src*="service-"]) .kcsg-card__body{min-height:255px!important;}

/* Portfolio-derived value pillars retain balanced spacing and consistent body text. */
.kcsg-modern-page .kcsg-feature-pillars{gap:22px!important;}
.kcsg-modern-page .kcsg-feature-pillars .kcsg-card__body{padding:26px 22px!important;}
.kcsg-modern-page .kcsg-feature-pillars .kcsg-card p{font-size:15.5px!important;line-height:1.7!important;}
.kcsg-modern-page .kcsg-role-row{gap:24px!important;}

@media(max-width:1199px){
  .kcsg-location-layout{grid-template-columns:minmax(240px,.8fr) minmax(360px,1.2fr)!important;}
  .kcsg-location-photo{grid-column:1/-1!important;display:grid!important;grid-template-columns:minmax(280px,.7fr) 1fr!important;min-height:280px!important;}
  .kcsg-location-photo img{height:280px!important;min-height:280px!important;}
  .kcsg-location-photo figcaption{display:flex!important;align-items:center!important;padding:24px!important;font-size:14px!important;}
}
@media(max-width:767px){
  #masthead .header-web .site-branding{display:block!important;}
  .kcsg-location-layout{grid-template-columns:1fr!important;}
  .kcsg-location-photo{display:block!important;grid-column:auto!important;}
  .kcsg-location-photo img{height:320px!important;min-height:320px!important;}
  .kcsg-location-section+.kcsg-md-message{margin-top:30px!important;}
  .kcsg-modern-page .kcsg-grid>.kcsg-card:has(>img[src*="service-"]) .kcsg-card__body{min-height:0!important;}
}


/* KCSG detailed case-study banner images, 2026-08 */
.kcsg-modern-page .kcsg-case-card__media--infographic{
  aspect-ratio:16/9!important;
  background:#fff!important;
  border-bottom:1px solid #dfe6ed!important;
}
.kcsg-modern-page .kcsg-case-card__media--infographic>img.kcsg-case-infographic{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  padding:0!important;
  background:#fff!important;
  filter:none!important;
}
.kcsg-modern-page img.kcsg-case-hero-image.kcsg-case-infographic{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  aspect-ratio:1672/941!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0 0 30px!important;
  border:1px solid #dfe6ed!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:0 10px 28px rgba(25,55,80,.08)!important;
}
@media(max-width:767px){
  .kcsg-modern-page img.kcsg-case-hero-image.kcsg-case-infographic{
    margin-bottom:22px!important;
    border-radius:8px!important;
  }
}


/* KCSG sitewide final review: click-only navigation and restored service banners, 2026-08 */
@media (min-width:768px){
  #mainNav .menu-item-has-children > ul.sub-menu,
  #mainNav .menu-item-has-children > ul.dropdown-menu,
  #mainNav .menu-item-has-children:hover > ul.sub-menu,
  #mainNav .menu-item-has-children:focus-within > ul.sub-menu,
  #mainNav .menu-item-has-children:hover > ul.dropdown-menu,
  #mainNav .menu-item-has-children:focus-within > ul.dropdown-menu{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
  }
  #mainNav .menu-item-has-children.open > ul.sub-menu,
  #mainNav .menu-item-has-children.open > ul.dropdown-menu,
  #mainNav .menu-item-has-children > a[aria-expanded="true"] + ul.sub-menu,
  #mainNav .menu-item-has-children > a[aria-expanded="true"] + ul.dropdown-menu{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
  }
  #mainNav ul.sub-menu[hidden],
  #mainNav ul.dropdown-menu[hidden]{display:none!important;}
}

/* Keep service illustrations visually consistent and uncropped. */
.kcsg-modern-page .kcsg-card > img[src*="service-"]{
  width:100%!important;
  height:auto!important;
  aspect-ratio:1200/525!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#102b4d!important;
}
.kcsg-modern-page .kcsg-grid > .kcsg-card{
  overflow:hidden!important;
}


/* KCSG Practical Insights heading alignment fix, 2026-08 */
.kcsg-modern-page .kcsg-insight-article{
  max-width:920px!important;
  margin:36px auto 0!important;
}
.kcsg-modern-page .kcsg-insight-article>h2.kcsg-heading-with-icon{
  display:grid!important;
  grid-template-columns:44px minmax(0,1fr)!important;
  column-gap:14px!important;
  align-items:center!important;
  min-height:44px!important;
  margin:34px 0 14px!important;
  padding:0!important;
  position:relative!important;
}
.kcsg-modern-page .kcsg-insight-article>h2.kcsg-heading-with-icon:first-child{
  margin-top:0!important;
}
.kcsg-modern-page .kcsg-insight-article>h2.kcsg-heading-with-icon:after{
  display:none!important;
  content:none!important;
}
.kcsg-modern-page .kcsg-insight-article>h2.kcsg-heading-with-icon>.kcsg-heading-icon{
  grid-column:1!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:42px!important;
  height:42px!important;
  margin:0!important;
  border-radius:13px!important;
}
.kcsg-modern-page .kcsg-insight-article>h2.kcsg-heading-with-icon>.kcsg-heading-text{
  grid-column:2!important;
  position:relative!important;
  display:block!important;
  min-width:0!important;
  padding:0 0 12px!important;
  line-height:1.28!important;
}
.kcsg-modern-page .kcsg-insight-article>h2.kcsg-heading-with-icon>.kcsg-heading-text:after{
  content:''!important;
  position:absolute!important;
  left:0!important;
  bottom:0!important;
  display:block!important;
  width:52px!important;
  height:4px!important;
  margin:0!important;
  border-radius:999px!important;
  background:var(--kcsg-navy)!important;
}
.kcsg-modern-page .kcsg-insight-article>h2+p,
.kcsg-modern-page .kcsg-insight-article>h2+ul{
  margin-top:0!important;
}
.kcsg-modern-page .kcsg-insight-article>p,
.kcsg-modern-page .kcsg-insight-article>ul{
  margin-left:58px!important;
}
@media(max-width:767px){
  .kcsg-modern-page .kcsg-insight-article{margin-top:26px!important;}
  .kcsg-modern-page .kcsg-insight-article>h2.kcsg-heading-with-icon{
    grid-template-columns:40px minmax(0,1fr)!important;
    column-gap:12px!important;
    margin-top:28px!important;
  }
  .kcsg-modern-page .kcsg-insight-article>h2.kcsg-heading-with-icon>.kcsg-heading-icon{
    width:38px!important;
    height:38px!important;
  }
  .kcsg-modern-page .kcsg-insight-article>p,
  .kcsg-modern-page .kcsg-insight-article>ul{
    margin-left:0!important;
  }
}

/* Final defensive rule: unopened desktop submenus stay hidden even before JavaScript runs. */
@media(min-width:768px){
  #mainNav .menu-item-has-children:not(.open)>ul.sub-menu,
  #mainNav .menu-item-has-children:not(.open)>ul.dropdown-menu,
  #mainNav .menu-item-has-children>a[aria-expanded="false"]+ul.sub-menu,
  #mainNav .menu-item-has-children>a[aria-expanded="false"]+ul.dropdown-menu,
  #mainNav ul.sub-menu[aria-hidden="true"],
  #mainNav ul.dropdown-menu[aria-hidden="true"]{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
  }
}


/* KCSG final cross-site alignment pass, 2026-08 */
:root{
  --kcsg-final-section-gap:34px;
  --kcsg-final-compact-gap:18px;
}

/* Case-study listing: detailed infographics become true banner crops, matching the original row. */
.kcsg-modern-page .kcsg-case-card__media--infographic{
  aspect-ratio:16/7!important;
  overflow:hidden!important;
  background:#f7f9fb!important;
}
.kcsg-modern-page .kcsg-case-card__media--infographic>img.kcsg-case-infographic{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center!important;
  padding:0!important;
  margin:0!important;
}

/* Site-wide vertical rhythm: distinct sections should never look joined or excessively separated. */
.kcsg-modern-page>section.kcsg-section-block+section.kcsg-section-block{
  margin-top:var(--kcsg-final-section-gap)!important;
}
.kcsg-modern-page>[data-upgrade]>section.kcsg-section-block+section.kcsg-section-block{
  margin-top:var(--kcsg-final-section-gap)!important;
}
.kcsg-modern-page .kcsg-section--soft{
  border-radius:12px!important;
}

/* Company profile action belongs to the media column and aligns beneath its caption. */
.kcsg-modern-page .kcsg-profile-media .kcsg-profile-actions{
  display:flex!important;
  justify-content:flex-start!important;
  align-items:center!important;
  width:100%!important;
  margin:16px 0 0!important;
}
.kcsg-modern-page .kcsg-profile-media .kcsg-profile-actions .kcsg-btn{
  margin:0!important;
}

/* Regional delivery labels need a visual pause before their headings. */
.kcsg-modern-page .kcsg-role__label{
  margin:0 0 12px!important;
}
.kcsg-modern-page .kcsg-role .kcsg-card-title{
  margin-top:0!important;
}

/* Practical Insights: controlled gap between the CTA panel, back link and footer. */
.kcsg-modern-page .kcsg-insight-article>.kcsg-cta{
  margin-top:36px!important;
}
.kcsg-modern-page .kcsg-insight-article>.kcsg-cta+.kcsg-insight-back{
  margin:18px 0 34px!important;
  padding:0!important;
}
.kcsg-modern-page .kcsg-insight-back .kcsg-link{
  display:inline-flex!important;
  align-items:center!important;
  min-height:38px!important;
}

/* Contact page spacing: clear separation before Visit KCSG, compact connection to the safety note. */
.kcsg-modern-page .kcsg-contact-info-section+.kcsg-location-section{
  margin-top:var(--kcsg-final-section-gap)!important;
}
.kcsg-modern-page .kcsg-contact-process-section+.kcsg-contact-security-section{
  margin-top:var(--kcsg-final-compact-gap)!important;
}
.kcsg-modern-page .kcsg-contact-security-section{
  padding-top:0!important;
}
.kcsg-modern-page .kcsg-contact-security-section .kcsg-callout{
  margin-top:0!important;
}
.kcsg-modern-page .kcsg-contact-security-section .kcsg-callout+.kcsg-faq{
  margin-top:24px!important;
}

/* Keep the location row visually balanced at desktop widths. */
@media(min-width:1200px){
  .kcsg-modern-page .kcsg-location-layout{
    align-items:stretch!important;
  }
  .kcsg-modern-page .kcsg-location-info,
  .kcsg-modern-page .kcsg-location-map,
  .kcsg-modern-page .kcsg-location-photo{
    min-height:390px!important;
  }
}

@media(max-width:767px){
  .kcsg-modern-page>section.kcsg-section-block+section.kcsg-section-block,
  .kcsg-modern-page>[data-upgrade]>section.kcsg-section-block+section.kcsg-section-block{
    margin-top:26px!important;
  }
  .kcsg-modern-page .kcsg-case-card__media--infographic{
    aspect-ratio:16/8!important;
  }
  .kcsg-modern-page .kcsg-profile-media .kcsg-profile-actions{
    margin-top:14px!important;
  }
  .kcsg-modern-page .kcsg-insight-article>.kcsg-cta+.kcsg-insight-back{
    margin:16px 0 28px!important;
  }
}
