/* classic-editor-visual-roundtrip */
.jc-page-module .jc-comm-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.jc-page-module .jc-comm-editor-link{display:contents!important;margin:0!important;padding:0!important;border:0!important}
/* =========================================================
   JC COMMUNICATION — INDEPENDENT INCREMENT PREVIEW V2 / LIGHTING HOVER FIX
   Base: JC Components Preview - HTML v1.2.1
   Scope: ONLY the two screenshot-selected reference regions.
   Preview only. Production splitting/deployment remains for Codex.
   Namespaced with jc- classes to reduce WordPress Theme conflicts.
========================================================= */



.jc-page-module {
  --jc-dark:#1E293B;
  --jc-dark2:#111827;
  --jc-slate:#334155;
  --jc-steel:#40566E;
  --jc-steel-dark:#30465D;
  --jc-steel-soft:#E9EEF4;
  --jc-steel-light:#A9B8C8;
  --jc-gold:#C89B3C;
  --jc-gold2:#B8862B;
  --jc-bg:#F8FAFC;
  --jc-card:#FFFFFF;
  --jc-text:#111827;
  --jc-muted:#6B7280;
  --jc-line:#E5E7EB;
  --jc-soft:#F5F2EA;
  margin:0;
  color:var(--jc-text);
  font-family:Arial,Helvetica,sans-serif;
  background:#fff;
}
.jc-page-module, .jc-page-module * {box-sizing:border-box}
.jc-page-module img {display:block;max-width:100%;height:auto;border:0}
.jc-page-module h2, .jc-page-module h3, .jc-page-module p {margin-top:0}
.jc-page-module button {font:inherit}

.jc-page-module .jc-comm-v1-fullwidth {
  position:relative;
  left:50%;
  width:var(--jc-comm-viewport-width,100vw);
  max-width:none!important;
  margin-left:calc(var(--jc-comm-viewport-width,100vw) / -2)!important;
  margin-right:0!important;
}
.jc-page-module .jc-comm-v1-container {
  width:min(1240px,calc(100% - 40px));
  max-width:1240px;
  margin:0 auto;
}

/* =========================================================
   MODULE C-01 — Communication Intro / Application Tabs
   Reference relationship:
   left = heading + lead + IT/Telecom content
   right = communication component image + certification row
========================================================= */
.jc-comm-v1-intro {
  position:relative;
  overflow:hidden;
  padding:88px 0 80px;
  background:
    radial-gradient(circle at 90% 9%,rgba(64,86,110,.07),transparent 27%),
    linear-gradient(180deg,#FFFFFF 0%,#FBFCFD 100%);
}
.jc-page-module .jc-comm-v1-intro:before {
  content:"";
  position:absolute;
  right:-246px;
  top:-318px;
  width:570px;
  height:570px;
  border:1px solid rgba(64,86,110,.12);
  border-radius:50%;
  box-shadow:
    0 0 0 78px rgba(64,86,110,.021),
    0 0 0 156px rgba(200,155,60,.011);
  pointer-events:none;
}
.jc-page-module .jc-comm-v1-intro-grid {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:66px;
  align-items:center;
}
.jc-page-module .jc-comm-v1-copy {min-width:0;padding-left:10px}
.jc-page-module .jc-comm-v1-kicker {
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 20px;
  color:var(--jc-steel);
  font-size:12px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:2px;
  text-transform:uppercase;
}
.jc-page-module .jc-comm-v1-kicker:before {
  content:"";
  width:36px;
  height:2px;
  background:var(--jc-gold);
}
.jc-page-module .jc-comm-v1-copy h2 {
  margin:0 0 22px!important;
  color:var(--jc-dark2)!important;
  font-size:clamp(39px,4.05vw,57px)!important;
  line-height:1.045!important;
  letter-spacing:-1.7px!important;
  font-weight:700!important;
}
.jc-page-module .jc-comm-v1-copy h2 span {
  color:var(--jc-steel-dark);
  background:linear-gradient(transparent 80%,rgba(200,155,60,.22) 80%);
}
.jc-page-module .jc-comm-v1-lead {
  max-width:545px;
  margin:0 0 29px!important;
  color:#475569!important;
  font-size:16px!important;
  line-height:1.8!important;
}

/* tab component */
.jc-comm-v1-app-tabs {
  width:min(540px,100%);
  border-top:1px solid var(--jc-line);
  padding-top:22px;
}
.jc-page-module .jc-comm-v1-tablist {
  display:flex;
  gap:10px;
  align-items:center;
  margin:0 0 15px;
}
.jc-page-module .jc-comm-v1-tab {
  appearance:none;
  -webkit-appearance:none;
  border:1px solid #D9E0E7;
  background:#fff;
  color:#475569;
  min-height:42px;
  padding:10px 16px;
  cursor:pointer;
  font-size:13px;
  font-weight:800;
  line-height:1.2;
  letter-spacing:.1px;
  text-align:left;
  transition:background .22s ease,border-color .22s ease,color .22s ease,transform .22s ease;
}
.jc-page-module .jc-comm-v1-tab:hover {
  border-color:var(--jc-steel-light);
  color:var(--jc-steel-dark);
  transform:translateY(-1px);
}
.jc-page-module .jc-comm-v1-tab:focus-visible {
  outline:2px solid var(--jc-gold);
  outline-offset:2px;
}
.jc-page-module .jc-comm-v1-tab.is-active {
  position:relative;
  color:#fff;
  border-color:var(--jc-slate);
  background:linear-gradient(135deg,var(--jc-slate),var(--jc-steel-dark));
}
.jc-page-module .jc-comm-v1-tab.is-active:after {
  content:"";
  position:absolute;
  left:14px;
  right:14px;
  bottom:-1px;
  height:2px;
  background:var(--jc-gold);
}
.jc-page-module .jc-comm-v1-panel {
  min-height:112px;
  padding:3px 4px 0 0;
}
.jc-page-module .jc-comm-v1-panel[hidden] {display:none!important}
.jc-page-module .jc-comm-v1-panel h3 {
  margin:0 0 7px!important;
  color:var(--jc-dark2)!important;
  font-size:20px!important;
  line-height:1.25!important;
  font-weight:750!important;
  letter-spacing:-.25px!important;
}
.jc-page-module .jc-comm-v1-panel p {
  margin:0!important;
  color:#5B6574!important;
  font-size:14px!important;
  line-height:1.72!important;
}

/* product / image stage */
.jc-comm-v1-product {
  min-width:0;
  position:relative;
  display:grid;
  grid-template-rows:minmax(360px,1fr) auto;
}
.jc-page-module .jc-comm-v1-product-stage {
  position:relative;
  min-height:430px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:14px 22px 0;
}
.jc-page-module .jc-comm-v1-product-stage:before {
  content:"";
  position:absolute;
  width:420px;
  height:420px;
  border-radius:50%;
  background:
    radial-gradient(circle,rgba(64,86,110,.11) 0%,rgba(169,184,200,.055) 46%,rgba(64,86,110,0) 73%);
}
.jc-page-module .jc-comm-v1-product-stage:after {
  content:"";
  position:absolute;
  top:34px;
  right:28px;
  width:64px;
  height:3px;
  background:var(--jc-gold);
}
.jc-page-module .jc-comm-v1-product-image {
  position:relative;
  z-index:1;
  width:min(540px,94%);
  max-height:410px;
  object-fit:contain;
  filter:drop-shadow(0 23px 24px rgba(15,23,42,.14));
  transition:transform .55s ease,filter .55s ease;
}
.jc-page-module .jc-comm-v1-product-stage:hover .jc-comm-v1-product-image {
  transform:translateY(-6px) scale(1.012);
  filter:drop-shadow(0 31px 31px rgba(15,23,42,.18));
}
.jc-page-module .jc-comm-v1-badges {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:92px;
  padding-top:2px;
}
.jc-page-module .jc-comm-v1-badge {
  width:25%;
  min-height:78px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:4px 18px;
  border-left:1px solid var(--jc-line);
}
.jc-page-module .jc-comm-v1-badge:first-child {border-left:0}
.jc-page-module .jc-comm-v1-badge img {
  width:auto;
  max-width:86px;
  max-height:76px;
  object-fit:contain;
  transition:transform .25s ease;
}
.jc-page-module .jc-comm-v1-badge:hover img {transform:translateY(-3px)}

/* =========================================================
   MODULE C-02 — Communication Testimonial
   Full viewport width, .jc-page-module Slate Blue + restrained Gold accent
========================================================= */
.jc-comm-v1-testimonial {
  padding:0 0 90px;
  background:#fff;
}
.jc-page-module .jc-comm-v1-testimonial-shell {
  width:100%;
  min-height:450px;
  display:grid;
  grid-template-columns:59% 41%;
  overflow:hidden;
  background:var(--jc-dark2);
  box-shadow:0 24px 60px rgba(15,23,42,.12);
}
.jc-page-module .jc-comm-v1-testimonial-media {
  position:relative;
  min-height:450px;
  overflow:hidden;
  background:#0F172A;
}
.jc-page-module .jc-comm-v1-testimonial-media:after {
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(17,24,39,0) 62%,rgba(17,24,39,.16) 100%),
    linear-gradient(180deg,rgba(15,23,42,.035),rgba(15,23,42,.09));
  pointer-events:none;
}
/*
   LIGHTING FINAL HOVER LOGIC — copied here intentionally.
   Key fix: this image must not inherit transition:none!important from
   prefers-reduced-motion/theme rules. Animate transform only, .jc-page-module from an
   explicit base transform, with a linear transition and an image-local hover.
*/
.jc-page-module .jc-comm-v1-testimonial-media > .jc-comm-editor-media > img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  transform:translateZ(0) scale(1)!important;
  transform-origin:50% 50%!important;
  transition:transform 1s linear 0s!important;
  will-change:transform;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}
.jc-page-module .jc-comm-v1-testimonial-media:hover > .jc-comm-editor-media > img {
  transform:translateZ(0) scale(1.05)!important;
}
.jc-page-module .jc-comm-v1-quote {
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  padding:58px 56px;
  color:#fff;
  background:
    radial-gradient(circle at 100% 0,rgba(79,107,122,.28),transparent 38%),
    linear-gradient(145deg,#334155 0%,#1E293B 68%,#111827 120%);
}
.jc-page-module .jc-comm-v1-quote:before {
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:3px;
  background:var(--jc-gold);
}
.jc-page-module .jc-comm-v1-quote:after {
  content:"";
  position:absolute;
  width:300px;
  height:300px;
  right:-176px;
  bottom:-190px;
  border:1px solid rgba(200,155,60,.17);
  border-radius:50%;
  box-shadow:
    0 0 0 49px rgba(200,155,60,.024),
    0 0 0 98px rgba(200,155,60,.011);
}
.jc-page-module .jc-comm-v1-quote-inner {
  position:relative;
  z-index:1;
  width:100%;
  max-width:500px;
  text-align:center;
}
.jc-page-module .jc-comm-v1-quote-mark {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:17px;
  margin:0 0 23px;
}
.jc-page-module .jc-comm-v1-quote-mark:before, .jc-page-module .jc-comm-v1-quote-mark:after {
  content:"";
  width:40px;
  height:1px;
  background:rgba(200,155,60,.72);
}
.jc-page-module .jc-comm-v1-quote-mark strong {
  color:var(--jc-gold);
  font-family:Georgia,"Times New Roman",serif;
  font-size:58px;
  line-height:.55;
  font-weight:700;
  transform:translateY(7px);
}
.jc-page-module .jc-comm-v1-quote blockquote {
  margin:0!important;
  padding:0!important;
  border:0!important;
  color:#fff!important;
  background:none!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:clamp(23px,2.05vw,31px)!important;
  line-height:1.22!important;
  letter-spacing:-.5px!important;
  font-style:normal!important;
  font-weight:500!important;
}
.jc-page-module .jc-comm-v1-quote-rule {
  width:42px;
  height:2px;
  margin:27px auto 21px;
  background:linear-gradient(90deg,rgba(200,155,60,.35),var(--jc-gold),rgba(200,155,60,.35));
}
.jc-page-module .jc-comm-v1-attribution {
  margin:0!important;
  color:#CBD5E1!important;
  font-size:13px!important;
  line-height:1.55!important;
}
.jc-page-module .jc-comm-v1-attribution strong {color:#fff}
.jc-page-module .jc-comm-v1-preview-note {
  margin:9px 0 0!important;
  color:#93A4B8!important;
  font-size:10px!important;
  line-height:1.45!important;
  letter-spacing:.8px!important;
  text-transform:uppercase!important;
}

/* =========================================================
   Responsive
========================================================= */
@media (max-width:980px){
  .jc-page-module .jc-comm-v1-intro {padding:72px 0 68px}
  .jc-page-module .jc-comm-v1-intro-grid {grid-template-columns:1fr;gap:38px}
  .jc-page-module .jc-comm-v1-copy {max-width:780px;padding-left:0}
  .jc-page-module .jc-comm-v1-product-stage {min-height:390px}
  .jc-page-module .jc-comm-v1-testimonial-shell {grid-template-columns:1fr}
  .jc-page-module .jc-comm-v1-testimonial-media {min-height:420px}
  .jc-page-module .jc-comm-v1-quote {min-height:365px;padding:54px 36px}
  .jc-page-module .jc-comm-v1-quote:before {inset:0 0 auto 0;width:100%;height:3px}
}
@media (max-width:680px){
  .jc-page-module .jc-comm-v1-container {width:min(calc(100% - 28px),1240px)}
  .jc-page-module .jc-comm-v1-intro {padding:58px 0 55px}
  .jc-page-module .jc-comm-v1-copy h2 {font-size:38px!important;letter-spacing:-1px!important}
  .jc-page-module .jc-comm-v1-lead {font-size:15px!important}
  .jc-page-module .jc-comm-v1-tablist {align-items:stretch}
  .jc-page-module .jc-comm-v1-tab {flex:1;padding:10px 11px;font-size:12px}
  .jc-page-module .jc-comm-v1-panel {min-height:138px}
  .jc-page-module .jc-comm-v1-product-stage {min-height:315px;padding:0}
  .jc-page-module .jc-comm-v1-product-image {max-height:305px}
  .jc-page-module .jc-comm-v1-badges {display:grid;grid-template-columns:1fr 1fr;padding-top:10px}
  .jc-page-module .jc-comm-v1-badge {width:100%;min-height:82px;border-left:0;border-top:1px solid var(--jc-line)}
  .jc-page-module .jc-comm-v1-badge:nth-child(odd) {border-right:1px solid var(--jc-line)}
  .jc-page-module .jc-comm-v1-testimonial {padding-bottom:60px}
  .jc-page-module .jc-comm-v1-testimonial-media {min-height:300px}
  .jc-page-module .jc-comm-v1-quote {min-height:350px;padding:46px 24px}
  .jc-page-module .jc-comm-v1-quote blockquote {font-size:25px!important}
}
@media (prefers-reduced-motion:reduce){
  .jc-page-module .jc-comm-v1-tab, .jc-page-module .jc-comm-v1-product-image, .jc-page-module .jc-comm-v1-badge img {transition:none!important}

  /*
     Intentional scoped exception for the testimonial image.
     This mirrors the final Lighting fix so a reduced-motion/theme rule
     cannot turn the zoom into an instantaneous jump.
  */
  .jc-page-module .jc-comm-v1-testimonial-media > .jc-comm-editor-media > img {
    transition:transform 1s linear 0s!important;
  }
}

/* Classic Editor stable media containers and viewport breakout. */
.jc-page-module { overflow:visible; }
.jc-page-module .jc-comm-v1-intro-grid > *,
.jc-page-module .jc-comm-v1-testimonial-shell > * { min-width:0; }
.jc-page-module .jc-comm-editor-media { margin:0; padding:0; border:0; line-height:0; }
.jc-page-module .jc-comm-v1-product-stage > .jc-comm-editor-media { width:min(540px,94%); height:auto; position:relative; z-index:1; }
.jc-page-module .jc-comm-v1-product-stage .jc-comm-v1-product-image { width:100%; }
.jc-page-module .jc-comm-v1-badge > .jc-comm-editor-media { display:flex; align-items:center; justify-content:center; width:100%; height:auto; }
.jc-page-module .jc-comm-v1-badge img { max-width:min(86px,100%); }
.jc-page-module .jc-comm-v1-testimonial-media > .jc-comm-editor-media { position:absolute; inset:0; width:100%; height:100%; }
.jc-page-module .jc-comm-v1-tablist > p { display:contents; margin:0; padding:0; }
.jc-page-module .jc-comm-v1-tablist > br { display:none; }


