/* Internal Enterprise page only; shared Header/Footer keep the existing styles.
 * Native Elementor containers and widgets, no fixed desktop heights or overflow masking.
 */
html { overflow-x: clip; }
.cmx-site-page .cm-site.cmep-page { width:100%; padding:0 0 64px; margin:0; overflow-x: clip; }
.cmx-site-page .cmep-page .e-con { min-width:0; padding:0; gap:20px; }
.cmx-site-page .cmep-page .elementor-widget { min-width:0; margin:0; max-width:100%; }
.cmx-site-page .cmep-page :is(h1,h2,h3,h4) { color:var(--cm-text); font-family:inherit; font-weight:750; line-height:1.15; }
.cmx-site-page .cmep-page h1 { font-size:clamp(36px,3.3vw,58px); letter-spacing:-1.5px; }
.cmx-site-page .cmep-page h2 { font-size:clamp(28px,2.4vw,40px); letter-spacing:-.7px; }
.cmx-site-page .cmep-page h3 { font-size:24px; }
.cmx-site-page .cmep-page h4 { font-size:14px; }
.cmx-site-page .cmep-page :is(h1,h2) span { color:var(--cm-lime); }
.cmx-site-page .cmep-page .elementor-widget-text-editor { color:var(--cm-muted); font-size:16px; line-height:1.65; }
.cmx-site-page .cmep-page .cmep-eyebrow { color:var(--cm-cyan); font-size:12px; font-weight:750; letter-spacing:.12em; text-transform:uppercase; margin-bottom:8px; }
.cmx-site-page .cmep-page .cmep-lead { font-size:18px; }
.cmx-site-page .cmep-page .cmep-section,
.cmx-site-page .cmep-page .cmep-solutions { width:min(calc(100% - 64px),var(--cm-max)); max-width:var(--cm-max); margin:56px auto 0; min-width:0; }
.cmx-site-page .cmep-page [id] { scroll-margin-top:110px; }

/* Hero Carousel specific overrides within cmep-page */
.cmx-site-page .cmep-page .cm-hero-carousel { width:100%; max-width:none; margin:0; }
.cmx-site-page .cmep-page .cm-hero-carousel .e-con { gap:0; }
.cmx-site-page .cmep-page .cm-hero-carousel .cm-hero-content { padding:48px 32px 48px max(32px,calc((100vw - var(--cm-max))/2)); }
.cmx-site-page .cmep-page .cm-hero-carousel .cm-hero-title { margin-bottom:12px; }
.cmx-site-page .cmep-page .cm-hero-carousel .cm-hero-copy { margin-bottom:16px; }
.cmx-site-page .cmep-page .cm-hero-carousel .cm-check { margin-bottom:8px; color:var(--cm-text); }
.cmx-site-page .cmep-page .cm-hero-carousel .cm-hero-actions { display:flex; flex-direction:row; flex-wrap:wrap; gap:12px; margin-top:20px; }
.cmx-site-page .cmep-page .cm-hero-carousel .cm-hero-actions .cm-btn { width:auto; min-width:0; }
.cmx-site-page .cmep-page .cm-hero-carousel .cm-hero-actions .elementor-button { min-height:48px; padding:14px 22px; font-size:15px; }

/* Global Button & Icon List styles in Enterprise */
.cmx-site-page .cmep-page .cm-btn { align-self:flex-start; }
.cmx-site-page .cmep-page .cm-btn .elementor-button { white-space:normal; line-height:1.35; min-height:48px; padding:14px 22px; }
.cmx-site-page .cmep-page .cmep-features .elementor-icon-list-item { align-items:flex-start; padding:5px 0; }
.cmx-site-page .cmep-page .cmep-features .elementor-icon-list-text { color:var(--cm-text); font-size:15px; line-height:1.55; }
.cmx-site-page .cmep-page .cmep-features .elementor-icon-list-icon { padding-top:5px; }
.cmx-site-page .cmep-page .cmep-features .elementor-icon-list-icon :is(i,svg) { color:var(--cm-lime); fill:var(--cm-lime); width:14px; }

/* Solutions 4-column overview */
.cmx-site-page .cmep-page .cmep-solutions { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; margin-top:28px; padding:20px 0; border:1px solid var(--cm-border); border-radius:18px; background:linear-gradient(120deg,#030e1d,#06172b); }
.cmx-site-page .cmep-page .cmep-solution { display:grid; grid-template-columns:40px minmax(0,1fr); gap:6px 12px; padding:8px 20px; border-right:1px solid var(--cm-border); min-width:0; }
.cmx-site-page .cmep-page .cmep-solution:last-child { border:0; }
.cmx-site-page .cmep-page .cmep-icon { grid-row:1/4; width:40px; }
.cmx-site-page .cmep-page .cmep-icon img { width:40px; height:40px; }
.cmx-site-page .cmep-page .cmep-small-title h2 { font-size:17px; letter-spacing:0; }
.cmx-site-page .cmep-page .cmep-solution .elementor-widget-text-editor { font-size:13px; }
.cmx-site-page .cmep-page .cmep-text-link .elementor-button { padding:4px 0; min-height:36px; background:transparent; color:var(--cm-lime); font-size:13px; font-weight:600; text-align:left; }

/* Two-column service panels */
.cmx-site-page .cmep-page .cmep-two-column { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; min-width:0; }
.cmx-site-page .cmep-page .cmep-panel { padding:32px; border:1px solid var(--cm-border); border-radius:var(--cm-radius); background:linear-gradient(145deg,#071a31,#030c1a); min-width:0; }
.cmx-site-page .cmep-page .cmep-panel > .cm-btn:last-child { margin-top:auto; }

/* Split detail sections */
.cmx-site-page .cmep-page .cmep-split { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:48px; align-items:center; min-width:0; }
.cmx-site-page .cmep-page .cmep-detail-image img { display:block; width:100%; height:auto; aspect-ratio:1.3; object-fit:cover; border-radius:var(--cm-radius); }
.cmx-site-page .cmep-page .cmep-metrics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.cmx-site-page .cmep-page .cmep-metric { padding:24px 12px; border:1px solid rgba(216,255,0,.5); border-radius:var(--cm-radius); text-align:center; background:var(--cm-bg-card); }
.cmx-site-page .cmep-page .cmep-metric h3 { font-size:clamp(28px,3vw,44px); color:var(--cm-lime); margin-bottom:4px; }
.cmx-site-page .cmep-page .cmep-metric .elementor-widget-text-editor { font-size:12px; letter-spacing:.06em; font-weight:700; color:var(--cm-text); }

/* LAN-to-LAN Network Topology Diagram */
.cmx-site-page .cmep-page .cmep-network { align-items:center; padding:44px 24px; text-align:center; min-width:0; }
.cmx-site-page .cmep-page .cmep-network-node { padding:20px 12px; border:1px solid var(--cm-blue); border-radius:10px; background:#061728; min-width:0; max-width:100%; overflow:hidden; }
.cmx-site-page .cmep-page .cmep-network-node h3 { font-size:18px; margin:0; }
.cmx-site-page .cmep-page .cmep-network-main { width:60%; border-color:var(--cm-lime); }
.cmx-site-page .cmep-page .cmep-network-label { border-left:1px solid var(--cm-cyan); padding:12px; color:var(--cm-cyan); font-size:13px; }
.cmx-site-page .cmep-page .cmep-network-branches { width:100%; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding-top:20px; border-top:1px solid var(--cm-cyan); gap:12px; min-width:0; }
.cmx-site-page .cmep-page .cmep-network-branches .cmep-network-node { position:relative; }
.cmx-site-page .cmep-page .cmep-network-branches .cmep-network-node::before { content:''; position:absolute; height:20px; border-left:1px solid var(--cm-cyan); top:-21px; left:50%; }
.cmx-site-page .cmep-page .cmep-note { font-size:12px; color:var(--cm-muted); margin-top:8px; }

/* Comparison section */
.cmx-site-page .cmep-page .cmep-comparison-row { border-top:1px solid var(--cm-border); padding-top:16px; gap:6px; min-width:0; }
.cmx-site-page .cmep-page .cmep-comparison-row h4 { color:var(--cm-cyan); margin-bottom:2px; }
.cmx-site-page .cmep-page .cmep-scenario { color:var(--cm-lime); font-size:20px; font-weight:700; }
.cmx-site-page .cmep-page .cmep-combined { max-width:900px; margin-top:12px; }

/* Closing CTA Panel */
.cmx-site-page .cmep-page .cmep-closing { padding:44px; text-align:center; align-items:center; }
.cmx-site-page .cmep-page .cmep-closing .cm-btn { align-self:center; }

.cmx-site-page .cmep-page a:focus-visible { outline:2px solid var(--cm-cyan); outline-offset:5px; }

/* Responsive adjustments */
@media(max-width:1100px) {
  .cmx-site-page .cmep-page .cmep-solutions { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 0; }
  .cmx-site-page .cmep-page .cmep-solution:nth-child(2) { border:0; }
  .cmx-site-page .cmep-page .cmep-split { gap:24px; }
}

@media(max-width:1023px) {
  .cmx-site-page .cmep-page .cm-hero-carousel .cm-hero-content { padding:36px 24px 24px; min-height:0; }
  .cmx-site-page .cmep-page .cm-hero-carousel .cm-hero-media { min-height:0; aspect-ratio:16/9; }
}

@media(max-width:767px) {
  .cmx-site-page .cmep-page .cmep-two-column,
  .cmx-site-page .cmep-page .cmep-split { grid-template-columns:minmax(0,1fr); }
  .cmx-site-page .cmep-page .cmep-section,
  .cmx-site-page .cmep-page .cmep-solutions { width:calc(100% - 32px); margin-top:32px; }
  .cmx-site-page .cmep-page .cmep-solutions { grid-template-columns:minmax(0,1fr); gap:0; }
  .cmx-site-page .cmep-page .cmep-solution { padding:16px 20px; border:0; border-bottom:1px solid rgba(255,255,255,.06); }
  .cmx-site-page .cmep-page .cmep-solution:last-child { border-bottom:0; }
  .cmx-site-page .cmep-page .cmep-panel { padding:24px 20px; }
  .cmx-site-page .cmep-page .cmep-network { padding:28px 16px; }
  .cmx-site-page .cmep-page .cmep-network-branches { gap:6px; }
  .cmx-site-page .cmep-page .cmep-network-node { padding:14px 4px; }
  .cmx-site-page .cmep-page .cmep-network-node h3 { font-size:14px; word-break:break-word; }
  .cmx-site-page .cmep-page .cmep-closing { padding:32px 20px; }
}
