/* ==========================================================================
   Typography: Manrope Font Family (@font-face declarations)
   Pure asset registration without selector pollution.
   ========================================================================== */
@font-face {
  font-family: 'Manrope';
  src: url('https://static.tp-link.com/assets/fonts/manrope/Manrope-ExtraLight.ttf') format('truetype');
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Manrope';
  src: url('https://static.tp-link.com/assets/fonts/manrope/Manrope-Light.ttf') format('truetype');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Manrope';
  src: url('https://static.tp-link.com/assets/fonts/manrope/Manrope-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Manrope';
  src: url('https://static.tp-link.com/assets/fonts/manrope/Manrope-Medium.ttf') format('truetype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Manrope';
  src: url('https://static.tp-link.com/assets/fonts/manrope/Manrope-SemiBold.ttf') format('truetype');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Manrope';
  src: url('https://static.tp-link.com/assets/fonts/manrope/Manrope-Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Manrope';
  src: url('https://static.tp-link.com/assets/fonts/manrope/Manrope-ExtraBold.ttf') format('truetype');
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

/* ==========================================================================
   Scoped Reset & Baseline for AP9770 Sandbox
   All reset rules are strictly encapsulated under .ap9770-page.
   ========================================================================== */
.ap9770-page,
.ap9770-page *,
.ap9770-page *::before,
.ap9770-page *::after {
  box-sizing: border-box;
}

.ap9770-page {
  font-family: 'Manrope', Arial, Helvetica, sans-serif;
  color: #2b2b2b;
  background-color: #fff;
  -webkit-text-size-adjust: 100%;
}

.ap9770-page ul,
.ap9770-page ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

.ap9770-page h1,
.ap9770-page h2,
.ap9770-page h3,
.ap9770-page h4,
.ap9770-page h5,
.ap9770-page h6,
.ap9770-page p {
  margin: 0;
  padding: 0;
}

.ap9770-page button {
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  font: inherit;
  cursor: pointer;
}

.ap9770-page img,
.ap9770-page picture {
  display: block;
  max-width: 100%;
  height: auto;
  border: 0;
}

.ap9770-page .tp-btn {
  display: inline-block;
  text-align: center;
  vertical-align: middle;
  user-select: none;
}

/* ==========================================================================
   AP9770 (US) 1.0 Dedicated Marketing Stylesheet
   Namespace: .ap9770-page
   Responsive: Desktop max-width: 75em (1200px) | Mobile max-width: 736px (2.5vw)
   ========================================================================== */

/* AP9770: native title and model over text-free PSB background layers. */
.ap9770-page .ap9770-hero {
  box-sizing: border-box;
  position: relative;
  width: 75.09375em;
  max-width: none;
  height: 30.09375em;
  padding: 0;
  margin: 0 auto;
  background: url("img/ap9770-hero-web.jpg") center / 100% 100% no-repeat;
  text-align: left;
  color: #2b2b2b;
}
.ap9770-page .ap9770-hero .ap9770-hero-copy {
  position: absolute;
  top: 8.8125em;
  left: 7.8125em;
  width: 35.4375em;
}
.ap9770-page .ap9770-hero h1,
.ap9770-page .ap9770-hero h2 {
  box-sizing: border-box;
  font: 500 2.25em/1.33333333 Manrope, Arial, sans-serif;
  letter-spacing: -0.03em;
  width: 100%;
  max-width: none;
  height: auto;
  margin: 0;
  padding: 0;
  color: #2b2b2b;
  text-align: left;
  white-space: normal;
}
.ap9770-page .ap9770-hero .ap9770-model {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 5.83333333em;
  height: 2.30555556em;
  margin: 1.08333333em 0 0;
  padding: 0;
  border-radius: 0.27777778em;
  background: #085c5d;
  color: #fff;
  font: 400 1.125em/1.33333333 Manrope, Arial, sans-serif;
  letter-spacing: 0;
}
@media (max-width: 736px) {
  .ap9770-page .ap9770-hero {
    width: 100vw;
    max-width: 100vw;
    height: 118.51851852vw;
    margin: 0;
    background-image: url("img/ap9770-hero-mobile.jpg");
    background-size: 85.18518519vw 118.51851852vw;
  }
  .ap9770-page .ap9770-hero .ap9770-hero-copy {
    top: 10.74074074vw;
    left: 13.70370370vw;
    width: 73.96592593vw;
  }
  .ap9770-page .ap9770-hero h1,
  .ap9770-page .ap9770-hero h2 {
    font-size: 6.66666667vw;
    line-height: 8.88888889vw;
    letter-spacing: -0.2vw;
  }
  .ap9770-page .ap9770-hero .ap9770-model {
    width: 19.44444444vw;
    height: 7.68518519vw;
    margin-top: 5.37037037vw;
    border-radius: 0.92592593vw;
    font-size: 3.33333333vw;
    line-height: 4.44444444vw;
  }
}
.ap9770-page .ap9770-hero .ap9770-nowrap {
  white-space: nowrap;
}

/* AP9770 Highlights page */
.ap9770-page {
  box-sizing: border-box;
  width: 75.09375em;
  max-width: 75.09375em;
  margin: 0 auto;
  position: relative;
  /* The CMS product menu is rendered outside this Overview DOM. Overview
     templates start their content directly below that menu, so this page
     must not reserve a second top section for it. */
  padding-top: 0;
  padding-bottom: 13em;
  overflow: hidden;
  color: #2b2b2b;
  background: #fff;
  font-family: Manrope, Arial, sans-serif;
  font-weight: 400;
}
.ap9770-page *,
.ap9770-page *::before,
.ap9770-page *::after { box-sizing: border-box; }
.ap9770-page .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.ap9770-page .mobile-diagram { display: none; }
.ap9770-page .desktop-only { display: inline; }
.ap9770-page .mobile-only { display: none; }
.ap9770-nav {
  width: 100%;
  height: 3em;
  position: absolute;
  top: 0;
  left: 0;
  border-bottom: 1px solid #f0f0f0;
  background: #fff;
}
.ap9770-nav-inner { position: relative; display: flex; width: 75em; height: 100%; align-items: center; justify-content: center; margin: 0 auto; }
.ap9770-nav-brand { position: absolute; left: 0; color: #2b2b2b; font-size: .75em; }
.ap9770-nav nav { display: flex; height: 100%; align-items: stretch; gap: 3.25em; }
.ap9770-nav nav a, .ap9770-nav nav span { position: relative; display: flex; align-items: center; color: #a0a0a0; font-size: .75em; text-decoration: none; white-space: nowrap; }
.ap9770-nav nav a.is-current { color: #2b2b2b; }
.ap9770-nav nav a.is-current::after { position: absolute; right: 0; bottom: 0; left: 0; height: 2px; background: #04a777; content: ''; }
.ap9770-menu-button { display: none; }
.ap9770-page .ap9770-hero {
  position: relative;
  width: 75.09375em;
  max-width: none;
  height: 30.09375em;
  margin: 0;
  padding: 0;
  background: url("img/ap9770-hero-web.jpg") center / 100% 100% no-repeat;
  text-align: left;
}
.ap9770-page .ap9770-hero-copy {
  position: absolute;
  top: 8.8125em;
  left: 7.8125em;
  width: 35.4375em;
}
.ap9770-page .ap9770-hero h1 {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  color: #2b2b2b;
  font: 500 2.25em/1.33333333 Manrope, Arial, sans-serif;
  letter-spacing: -0.03em;
  text-align: left;
  white-space: normal;
}
.ap9770-page .ap9770-hero .ap9770-model {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 5.83333333em;
  height: 2.30555556em;
  margin: 1.08333333em 0 0;
  padding: 0;
  border-radius: .27777778em;
  background: #085c5d;
  color: #fff;
  font: 400 1.125em/1.33333333 Manrope, Arial, sans-serif;
}
.ap9770-section {
  position: relative;
  width: 75em;
  max-width: 75em;
  margin: 0;
  padding: 0;
  background: #fff;
}
.ap9770-inner { width: 75em; max-width: 100%; margin: 0 auto; }
.ap9770-section-title {
  margin: 0;
  padding: 0;
  color: #2b2b2b;
  font-size: 2.25em;
  font-weight: 500;
  line-height: 1.33333333;
  text-align: center;
}
.ap9770-highlights { padding: 0 0 1.5em; }
.ap9770-highlight-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 10em;
  gap: 1.25em 0;
  margin: 0;
  padding: 0;
  list-style: none;
  text-align: center;
}
.ap9770-highlight-grid li {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding: .15em 1.5em 0;
  font-size: 1.125em;
  line-height: 1.33333333;
}
.ap9770-highlight-grid img { width: 3.25em; height: 3.25em; object-fit: contain; margin: 0 0 .55em; }
.ap9770-highlight-grid span { display: block; }
.ap9770-tabs-section { padding: 0 0 2.75em; }
.ap9770-tablist {
  display: flex;
  justify-content: center;
  gap: 1.5em;
  margin: 3.5em auto 3em;
}
.ap9770-tablist button {
  min-width: 14.75em;
  height: 2.6em;
  margin: 0;
  padding: .25em 1.2em;
  border: 1px solid transparent;
  border-radius: .3em;
  background: #f5f5f5;
  color: #2b2b2b;
  cursor: pointer;
  font: 400 1.125em/1.2 Manrope, Arial, sans-serif;
  overflow: hidden;
  white-space: nowrap;
}
.ap9770-tablist button[aria-selected="true"] { border-color: #00a978; background: #effbf7; color: #006568; }
.ap9770-tablist button:focus-visible { outline: 2px solid #006568; outline-offset: 2px; }
.ap9770-panel[hidden] { display: none; }
.ap9770-panel h3 {
  margin: 0 0 .25em;
  padding: 0;
  font-size: 2.25em;
  font-weight: 500;
  line-height: 1.33333333;
  text-align: center;
}
.ap9770-lead {
  max-width: 73em;
  margin: 0 auto;
  padding: 0 1em;
  font-size: 1.125em;
  line-height: 1.45;
  text-align: center;
}
.ap9770-stats { display: flex; justify-content: center; gap: 12em; margin: 3.3em 0 2.1em; text-align: center; }
.ap9770-stats div { display: flex; min-width: 8em; flex-direction: column; }
.ap9770-stats strong { font-size: 2.25em; font-weight: 400; line-height: 1.15; }
.ap9770-stats span { margin-top: .25em; font-size: 1.125em; }
.ap9770-scenario-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.8em 1.5em; margin: 0; }
.ap9770-scenario-grid figure, .ap9770-feature-grid figure { margin: 0; text-align: center; }
.ap9770-scenario-grid figure img { display: block; width: 100%; height: 15em; object-fit: cover; }
.ap9770-scenario-grid figcaption, .ap9770-feature-grid figcaption { margin-top: .9em; font-size: 1.125em; line-height: 1.35; }
.ap9770-feature-grid { display: grid; gap: 1.5em; margin-top: 3em; }
.ap9770-feature-grid.two-up { grid-template-columns: repeat(2, 1fr); }
.ap9770-feature-grid.three-up { grid-template-columns: repeat(3, 1fr); }
.ap9770-artboard { display: flex; align-items: center; justify-content: center; width: 100%; height: 23.75em; background: #f7f7f7; overflow: hidden; }
.ap9770-artboard img { display: block; width: 100%; height: 100%; object-fit: contain; }
.ap9770-feature-grid.three-up .ap9770-artboard { height: 23.75em; }
.ap9770-performance .ap9770-feature-grid.three-up .ap9770-artboard { background: #fbfbfb; }
.ap9770-performance .ap9770-feature-grid.three-up .ap9770-art-picture { display: block; width: 100%; height: 100%; }
.ap9770-performance .ap9770-feature-grid.three-up .ap9770-art-picture img { width: 100%; height: 100%; object-fit: fill; }
.ap9770-rf-layout { display: grid; grid-template-columns: 38.7432376% 61.2567624%; align-items: stretch; height: 30.09375em; margin-top: 3em; background: #f7f7f7; }
.ap9770-rf-list { position: relative; display: block; width: 100%; height: 100%; margin: 0; padding: 0; list-style: none; background: #f7f7f7 url("img/ap9770-rf-icons-web.png") left top / 100% 100% no-repeat; }
.ap9770-rf-list li { position: absolute; left: 0; width: 100%; margin: 0; padding: 0 1em 0 7.5em; font-size: 1.125em; font-weight: 400; line-height: 1.45; }
.ap9770-rf-list li:nth-child(1) { top: 6.38888889em; }
.ap9770-rf-list li:nth-child(2) { top: 10.88888889em; }
.ap9770-rf-list li:nth-child(3) { top: 13.88888889em; }
.ap9770-rf-list li:nth-child(4) { top: 18.38888889em; }
.ap9770-rf-list li span { display: block; width: 15.55555556em; max-width: 100%; }
.ap9770-rf-list li:nth-child(4) span { width: 17.33333333em; }
.ap9770-rf-art { position: relative; height: 100%; overflow: hidden; background: #f7f7f7; }
.ap9770-rf-art img { position: relative; top: 0; left: 0; display: block; width: 100%; height: 100%; max-width: 100%; object-fit: cover; object-position: center; }
.ap9770-video-frame { margin-top: 3em; background: #f7f7f7; overflow: hidden; }
.ap9770-video-frame video { display: block; width: 100%; height: auto; }
.ap9770-redundant-art, .ap9770-sdn-art { position: relative; margin-top: 3em; background: #f7f7f7; overflow: hidden; }
.ap9770-redundant-art > img, .ap9770-sdn-art > img { display: block; width: 100%; height: auto; }
.ap9770-redundant-art .diagram-label { position: absolute; color: #2b2b2b; font-size: 1em; line-height: 1.2; text-align: center; }
.ap9770-redundant-art .label-isp-a { top: 2%; left: 25%; }
.ap9770-redundant-art .label-isp-b { top: 2%; right: 25%; }
.ap9770-redundant-art .label-gateway-a { top: 16%; left: 23%; }
.ap9770-redundant-art .label-gateway-b { top: 16%; right: 21%; }
.ap9770-redundant-art .label-switch-a { top: 34%; left: 25%; }
.ap9770-redundant-art .label-switch-b { top: 34%; right: 25%; }
.ap9770-redundant-art .label-ap-a { bottom: 3%; left: 25%; }
.ap9770-redundant-art .label-ap-b { bottom: 3%; right: 25%; }
.ap9770-reliability-copy { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2em; margin-top: 1em; padding: 0 5em; }
.ap9770-reliability-copy strong { display: block; margin-bottom: .25em; font-size: 1.05em; font-weight: 500; }
.ap9770-reliability-copy p { margin: 0; font-size: .95em; line-height: 1.4; }
.ap9770-temperature { position: relative; margin-top: 3em; overflow: hidden; }
.ap9770-temperature img { display: block; width: 100%; height: auto; }
.ap9770-temperature strong { position: absolute; top: 48%; left: 51%; color: #fff; font-size: 2.25em; font-weight: 600; white-space: nowrap; }
.ap9770-sdn { padding-bottom: 3em; }
.ap9770-sdn-art { margin-top: 2.5em; }
.ap9770-sdn-art .sdn-label { position: absolute; color: #172126; font-size: 1.1em; line-height: 1.25; text-align: center; }
.ap9770-sdn-art .sdn-cloud { top: 17%; left: 13%; width: 22%; }
.ap9770-sdn-art .sdn-controller { top: 8%; left: 7%; width: 21%; }
.ap9770-sdn-art .sdn-vpn { top: 39%; left: 39%; width: 20%; }
.ap9770-sdn-art .sdn-outdoor { top: 4%; left: 48%; width: 20%; }
.ap9770-sdn-art .sdn-ceiling { top: 4%; right: 3%; width: 24%; }
.ap9770-sdn-art .sdn-switch { top: 40%; right: 9%; width: 22%; }
.ap9770-sdn-art .sdn-browser { bottom: 6%; right: 10%; width: 22%; }

/* AP9770 rhythm follows the shared modular overview modules: sections stay
   edge-to-edge while each module owns the authored content inset. */
.ap9770-highlights .ap9770-inner {
  width: 51em;
  max-width: none;
  padding-top: 4.4375em;
}
.ap9770-highlights { height: 24.78125em; padding-bottom: 0; }
.ap9770-highlight-grid {
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 11.375em;
  gap: 0;
}
.ap9770-highlight-grid li {
  margin: 1.69444444em 0;
  padding: 0 .75em;
  line-height: 1.5;
}
.ap9770-highlight-icon {
  display: block;
  flex: none;
  width: 2.25em;
  height: 2.125em;
  margin: 0 auto .625em;
  font-size: .88888889em;
}
.ap9770-highlight-icon img {
  display: block;
  width: auto;
  height: auto;
  margin: 0 auto;
  object-fit: contain;
  opacity: 1;
}
.ap9770-highlight-grid span { display: block; width: 100%; position: relative; top: -.33333333em; }
.ap9770-highlight-grid li:nth-child(1) .ap9770-highlight-icon img { width: 1.59375em; height: 1.625em; transform: translateY(.0625em); }
.ap9770-highlight-grid li:nth-child(2) .ap9770-highlight-icon img { width: 1.78125em; height: 1.4375em; transform: translateY(0); }
.ap9770-highlight-grid li:nth-child(3) .ap9770-highlight-icon img { width: 1.8125em; height: 1.75em; transform: translateY(.15625em); }
.ap9770-highlight-grid li:nth-child(4) .ap9770-highlight-icon img { width: 1.75em; height: 1.46875em; transform: translateY(.21875em); }
.ap9770-highlight-grid li:nth-child(5) .ap9770-highlight-icon img { width: 1.625em; height: 1.46875em; transform: translateY(.0625em); }
.ap9770-highlight-grid li:nth-child(6) .ap9770-highlight-icon img { width: 1.625em; height: 1.46875em; transform: translateY(.0625em); }
.ap9770-highlight-grid li:nth-child(7) .ap9770-highlight-icon img { width: 1.59375em; height: 1.59375em; transform: translateY(0); }
.ap9770-highlight-grid li:nth-child(8) .ap9770-highlight-icon img { width: 1.75em; height: 1.5em; transform: translateY(.09375em); }
.ap9770-tabs-section { padding-bottom: .625em; }
.ap9770-performance { margin-top: 6.1875em; }
.ap9770-operations { margin-top: 7em; padding-bottom: 8.125em; }
.ap9770-reliability { margin-top: 1.375em; }
.ap9770-reliability.ap9770-tabs-section { padding-bottom: 0; }
.ap9770-sdn {
  width: 75em;
  max-width: 75em;
  margin-top: 7.5em;
  padding-bottom: .25em;
}
.ap9770-sdn .ap9770-inner { width: 62em; }
.ap9770-reliability-visual {
  display: grid;
  grid-template-columns: 71.0810811% 28.9189189%;
  align-items: stretch;
  margin-top: 3em;
  background: #f7f7f7;
  height: 32.78125em;
  overflow: hidden;
  border-radius: .25em;
}
.ap9770-reliability-visual .ap9770-redundant-art {
  height: 100%;
  margin-top: 0;
  background: transparent;
}
.ap9770-reliability-visual .ap9770-redundant-art > img {
  position: absolute;
  top: 2.375em;
  left: 10.75em;
  display: block;
  width: 41.5em;
  max-width: none;
  height: 27.75em;
  object-fit: fill;
  object-position: left top;
}
.ap9770-reliability-visual .ap9770-reliability-copy {
  display: block;
  align-content: initial;
  margin: 0;
  padding: 0;
  position: relative;
  top: 0;
}
.ap9770-reliability-visual .ap9770-reliability-copy > div {
  position: absolute;
  left: 1.125em;
  width: 17.5em;
  max-width: calc(100% - 1.125em);
  margin: 0;
}
.ap9770-reliability-visual .ap9770-reliability-copy > div:nth-child(1) { top: 7.75em; }
.ap9770-reliability-visual .ap9770-reliability-copy > div:nth-child(2) { top: 13.05em; }
.ap9770-reliability-visual .ap9770-reliability-copy strong {
  display: block;
  margin-bottom: .25em;
  color: #2b2b2b;
  font-size: 1.125em;
  font-weight: 500;
  line-height: 1.33333333;
}
.ap9770-reliability-visual .ap9770-reliability-copy p {
  margin: 0;
  color: #666;
  font-size: .9375em;
  font-weight: 400;
  line-height: 1.5;
}
.ap9770-redundant-art .diagram-layer {
  position: absolute;
  color: #008b67;
  font-size: 1em;
  line-height: 1.2;
  text-align: right;
  width: 7.125em;
}
.ap9770-reliability-visual .ap9770-redundant-art .layer-gateway { top: 25.5%; left: 2.75em; }
.ap9770-reliability-visual .ap9770-redundant-art .layer-core { top: 41.8%; left: 2.75em; }
.ap9770-reliability-visual .ap9770-redundant-art .layer-access { top: 60.2%; left: 2.75em; }
.ap9770-reliability-visual .ap9770-redundant-art .diagram-label {
  position: absolute;
  color: #2b2b2b;
  font-size: 1em;
  line-height: 1.2;
  text-align: center;
  transform: translate(-50%, -50%);
  white-space: nowrap;
}
.ap9770-reliability-visual .ap9770-redundant-art .label-isp-a { top: 3.67%; left: 36.60%; }
.ap9770-reliability-visual .ap9770-redundant-art .label-isp-b { top: 3.67%; left: 81.52%; right: auto; }
.ap9770-reliability-visual .ap9770-redundant-art .label-gateway-a { top: 25.98%; left: 36.60%; }
.ap9770-reliability-visual .ap9770-redundant-art .label-gateway-b { top: 25.98%; left: 81.52%; right: auto; }
.ap9770-reliability-visual .ap9770-redundant-art .label-heartbeat { top: 22.41%; left: 59.12%; }
.ap9770-reliability-visual .ap9770-redundant-art .label-switch-a { top: 42.09%; left: 36.60%; }
.ap9770-reliability-visual .ap9770-redundant-art .label-switch-b { top: 42.09%; left: 81.52%; right: auto; }
.ap9770-reliability-visual .ap9770-redundant-art .label-mc-lag { top: 42.27%; left: 59.12%; }
.ap9770-reliability-visual .ap9770-redundant-art .label-switch-c { top: 60.64%; left: 36.60%; }
.ap9770-reliability-visual .ap9770-redundant-art .label-switch-d { top: 60.64%; left: 81.52%; }
.ap9770-reliability-visual .ap9770-redundant-art .label-stack { top: 60.54%; left: 59.12%; }
.ap9770-reliability-visual .ap9770-redundant-art .label-ap-a { top: 89.26%; left: 36.14%; bottom: auto; }
.ap9770-reliability-visual .ap9770-redundant-art .label-ap-b { top: 89.26%; left: 81.69%; right: auto; bottom: auto; }
@media (min-width: 737px) {
  .ap9770-reliability-visual .ap9770-redundant-art > img {
    transform: none;
  }
  .ap9770-reliability-visual .ap9770-redundant-art .mobile-diagram { display: none; }
  .ap9770-reliability-visual .ap9770-redundant-art .desktop-diagram { display: block; }
  .ap9770-reliability-visual .ap9770-redundant-art .diagram-layer { transform: none; }
  .ap9770-reliability-visual .ap9770-redundant-art .diagram-label { transform: translate(-50%, -50%); }
  .ap9770-reliability-visual .ap9770-redundant-art .label-ap-a { top: 95%; left: 36.14%; }
  .ap9770-reliability-visual .ap9770-redundant-art .label-ap-b { top: 95%; left: 81.72%; }
}
@media (max-width: 736px) {
  .ap9770-page { width: 100vw; max-width: 100vw; padding-top: 0; padding-bottom: 39.5vw; font-size: 2.5vw; overflow: hidden; }
  .ap9770-page .desktop-only { display: none; }
  .ap9770-page .mobile-only { display: block; }
  .ap9770-page .desktop-diagram { display: none; }
  .ap9770-page .mobile-diagram { display: block; }
  .ap9770-nav { height: 12vw; border-bottom: 0; }
  .ap9770-nav-inner { width: 100vw; padding: 0 4vw; justify-content: space-between; }
  .ap9770-nav-brand { position: static; font-size: 3vw; }
  .ap9770-nav nav { display: none; }
  .ap9770-menu-button { display: flex; width: 5vw; height: 5vw; flex-direction: column; justify-content: space-between; margin: 0; padding: 1vw 0; border: 0; background: transparent; }
  .ap9770-menu-button i { display: block; width: 100%; height: .35vw; background: #999; }
  .ap9770-page .ap9770-hero { width: 100vw; max-width: 100vw; height: 118.51851852vw; margin-top: 4.5vw; background-image: url("img/ap9770-hero-mobile.jpg"); background-size: 85.18518519vw 118.51851852vw; }
  .ap9770-page .ap9770-hero-copy { top: 10.74074074vw; left: 13.70370370vw; width: 73.96592593vw; }
  .ap9770-page .ap9770-hero h1 { font-size: 6.66666667vw; line-height: 8.88888889vw; letter-spacing: -0.2vw; }
  .ap9770-page .ap9770-hero .ap9770-model { width: 19.44444444vw; height: 7.68518519vw; margin-top: 5.37037037vw; border-radius: .92592593vw; font-size: 3.33333333vw; line-height: 4.44444444vw; }
  .ap9770-section { width: 100vw; max-width: 100vw; }
  .ap9770-inner { width: 100vw; max-width: 100vw; padding: 0 7.4074074vw; }
  .ap9770-section-title { font-size: 6.66666667vw; line-height: 8.88888889vw; }
  .ap9770-highlights { height: 105vw; padding: 0; }
  .ap9770-highlights .ap9770-inner { width: 87vw; max-width: none; padding: 17vw 0 0; position: relative; left: -0.3vw; }
  .ap9770-highlight-grid { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 23.3vw; gap: 0; }
  .ap9770-highlight-grid li { margin: 0; padding: 1vw 1vw 0; font-size: 3.33333333vw; line-height: 4.44444444vw; }
  .ap9770-highlight-grid li { line-height: 1.5; }
  .ap9770-highlight-icon { width: 6vw; height: 5.5vw; margin-bottom: 3.125vw; font-size: 3.33333333vw; }
  .ap9770-highlight-icon img { opacity: 1; }
  .ap9770-highlight-grid li:nth-child(1) .ap9770-highlight-icon img { width: 4.72222222vw; height: 4.81481481vw; transform: translateY(.09259259vw); }
  .ap9770-highlight-grid li:nth-child(2) .ap9770-highlight-icon img { width: 5.27777778vw; height: 4.25925926vw; transform: translateY(0); }
  .ap9770-highlight-grid li:nth-child(3) .ap9770-highlight-icon img { width: 5.37037037vw; height: 5.18518519vw; transform: translateY(.46296296vw); }
  .ap9770-highlight-grid li:nth-child(4) .ap9770-highlight-icon img { width: 5.18518519vw; height: 4.35185185vw; transform: translateY(.64814815vw); }
  .ap9770-highlight-grid li:nth-child(5) .ap9770-highlight-icon img { width: 4.81481481vw; height: 4.35185185vw; transform: translateY(.18518519vw); }
  .ap9770-highlight-grid li:nth-child(6) .ap9770-highlight-icon img { width: 4.81481481vw; height: 4.35185185vw; transform: translateY(.18518519vw); }
  .ap9770-highlight-grid li:nth-child(7) .ap9770-highlight-icon img { width: 4.72222222vw; height: 4.72222222vw; transform: translateY(0); }
  .ap9770-highlight-grid li:nth-child(8) .ap9770-highlight-icon img { width: 5.18518519vw; height: 4.44444444vw; transform: translateY(.27777778vw); }
  .ap9770-tabs-section { padding-bottom: 5.5vw; }
  .ap9770-performance { margin-top: 22.685185vw; padding-bottom: 0; }
  .ap9770-operations { margin-top: 23.888889vw; padding-bottom: 0; }
  .ap9770-reliability { margin-top: 23.333333vw; padding-bottom: 5.5vw !important; }
  .ap9770-sdn { margin-top: 66.388889vw; padding-bottom: 4.444444vw; }
  .ap9770-sdn .ap9770-inner { width: 100vw; }
  .ap9770-reliability-visual { display: block; height: auto; margin-top: 8vw; background: transparent; overflow: visible; }
  .ap9770-reliability-visual .ap9770-redundant-art { height: 97.96296296vw; margin-top: 0; background: #f7f7f7; border-radius: .75vw; }
  .ap9770-reliability-visual .ap9770-redundant-art > img { top: 11.66666667vw; left: 3.14814815vw; width: 78.88888889vw; max-width: none; height: 74.62962963vw; object-fit: fill; object-position: left top; transform: none; }
  .ap9770-reliability-visual .ap9770-redundant-art .desktop-diagram { display: none; }
  .ap9770-reliability-visual .ap9770-redundant-art .mobile-diagram { display: block; }
  .ap9770-reliability-visual .ap9770-reliability-copy { display: block; height: auto; margin-top: 13.24074074vw; padding: 0; top: 0; }
  .ap9770-reliability-visual .ap9770-reliability-copy > div { position: static; width: auto; max-width: none; margin: 0; }
  .ap9770-reliability-visual .ap9770-reliability-copy > div:nth-child(1),
  .ap9770-reliability-visual .ap9770-reliability-copy > div:nth-child(2),
  .ap9770-reliability-visual .ap9770-reliability-copy > div:nth-child(3) { width: auto; max-width: none; }
  .ap9770-reliability-visual .ap9770-reliability-copy > div + div { margin-top: 4vw; }
  .ap9770-reliability-visual .ap9770-reliability-copy strong { position: static; top: auto; font-size: 3.3vw; line-height: inherit; }
  .ap9770-reliability-visual .ap9770-reliability-copy > div:nth-child(3) strong { margin-bottom: .25em; }
  .ap9770-reliability-visual .ap9770-reliability-copy p { font-size: 3vw; font-weight: 400; line-height: 4.2vw; }
  .ap9770-reliability-visual .ap9770-reliability-copy ul { margin: 0; padding: 0 0 0 1.25em; }
  .ap9770-reliability-visual .ap9770-reliability-copy li { margin: 0; padding: 0; font-size: 3vw; font-weight: 400; line-height: 4.2vw; }
  .ap9770-section-title { font-size: 8.88888889vw; line-height: 8.88888889vw; }
  .ap9770-tablist { margin-left: -7.4074074vw; margin-right: -7.4074074vw; }
  .ap9770-redundant-art .diagram-layer { font-size: 3vw; text-align: center; width: auto; transform: translate(-50%, -.92592593vw); }
  .ap9770-reliability-visual .ap9770-redundant-art .layer-gateway { top: 23.4404%; left: 50.2717%; }
  .ap9770-reliability-visual .ap9770-redundant-art .layer-core { top: 38.4688%; left: 51.0326%; }
  .ap9770-reliability-visual .ap9770-redundant-art .layer-access { top: 55.9546%; left: 50%; }
  .ap9770-sdn .ap9770-lead { margin-top: 5vw; }
  .ap9770-sdn-art { margin-top: 15vw; }
  .ap9770-sdn { padding-bottom: 3.5vw; }
  .ap9770-tablist { justify-content: flex-start; gap: 6vw; width: 100vw; margin: 11.11111111vw -7.4074074vw 9vw; padding: 0 7.4074074vw; overflow-x: auto; scrollbar-width: none; }
  .ap9770-tablist::-webkit-scrollbar { display: none; }
  .ap9770-tablist button { flex: 0 0 44.44444444vw; min-width: 44.44444444vw; height: 10vw; padding: 1vw 2vw; border-radius: 1.1vw; font-size: 2.77777778vw; line-height: 3.7037037vw; }
  .ap9770-panel h3 { margin: 0 0 3.2vw; font-size: 6.66666667vw; line-height: 8.88888889vw; }
  .ap9770-lead { padding: 0; font-size: 3.33333333vw; line-height: 4.88888889vw; }
  .ap9770-stats { justify-content: space-between; gap: 0; margin: 10vw 2vw 9vw; }
  .ap9770-stats div { min-width: 0; }
  .ap9770-stats strong { font-size: 6.66666667vw; line-height: 8.88888889vw; }
  .ap9770-stats span { font-size: 3.33333333vw; line-height: 4.44444444vw; }
  .ap9770-scenario-grid { grid-template-columns: repeat(2, 1fr); gap: 9vw 2.2vw; }
  .ap9770-scenario-grid figure img { height: 35vw; }
  .ap9770-scenario-grid figcaption, .ap9770-feature-grid figcaption { margin-top: 2vw; font-size: 3.33333333vw; line-height: 4.44444444vw; }
  .ap9770-feature-grid, .ap9770-feature-grid.two-up, .ap9770-feature-grid.three-up { grid-template-columns: 1fr; gap: 8vw; margin-top: 8vw; }
  .ap9770-feature-grid.three-up .ap9770-artboard { height: 70.64814815vw; }
  .ap9770-rf-layout { display: flex; flex-direction: column; height: auto; margin-top: 8vw; background: transparent; }
  .ap9770-rf-list { display: block; width: 100%; height: 58.61111111vw; padding: 0; background-color: #fff; background-image: url("img/ap9770-rf-icons-mobile.png"); background-position: -7.4074074vw 0; background-size: 100vw auto; background-repeat: no-repeat; }
  .ap9770-rf-list li { position: absolute; width: calc(50% - .75vw); margin: 0; padding: 0; font-size: 3.33333333vw; font-weight: 400; line-height: 5vw; text-align: center; }
  .ap9770-rf-list li:nth-child(1), .ap9770-rf-list li:nth-child(2) { top: 7.22222222vw; }
  .ap9770-rf-list li:nth-child(3), .ap9770-rf-list li:nth-child(4) { top: 35.92592593vw; }
  .ap9770-rf-list li:nth-child(1), .ap9770-rf-list li:nth-child(3) { left: 0; right: auto; }
  .ap9770-rf-list li:nth-child(2), .ap9770-rf-list li:nth-child(4) { left: auto; right: 0; }
  .ap9770-rf-list li span { display: block; width: 100%; }
  .ap9770-rf-art { position: relative; width: 100%; height: auto; margin-top: 0; }
  .ap9770-rf-art img { position: relative; top: 0; left: 0; width: 100%; max-width: 100%; height: auto; object-fit: contain; }
  .ap9770-video-frame { margin-top: 8vw; }
  .ap9770-redundant-art, .ap9770-sdn-art { margin-top: 8vw; }
  .ap9770-redundant-art .diagram-layer { font-size: 3vw; text-align: center; width: auto; transform: translate(-50%, -.92592593vw); }
  .ap9770-reliability-visual .ap9770-redundant-art .layer-gateway { top: 23.4404%; left: 50.2717%; }
  .ap9770-reliability-visual .ap9770-redundant-art .layer-core { top: 38.4688%; left: 51.0326%; }
  .ap9770-reliability-visual .ap9770-redundant-art .layer-access { top: 55.9546%; left: 50%; font-size: 3vw; }
  .ap9770-reliability-visual .ap9770-redundant-art .diagram-label { top: auto; right: auto; bottom: auto; left: auto; width: auto; font-size: 3vw; transform: translateX(-50%); }
  .ap9770-reliability-visual .ap9770-redundant-art .label-isp-a { top: 6.616%; left: 21.8478%; }
  .ap9770-reliability-visual .ap9770-redundant-art .label-isp-b { top: 6.616%; left: 78.75%; }
  .ap9770-reliability-visual .ap9770-redundant-art .label-gateway-a { top: 28.9223%; left: 21.8478%; }
  .ap9770-reliability-visual .ap9770-redundant-art .label-gateway-b { top: 28.9223%; left: 78.75%; }
  .ap9770-reliability-visual .ap9770-redundant-art .label-heartbeat { top: 26.8429%; left: 49.837%; }
  .ap9770-reliability-visual .ap9770-redundant-art .label-switch-a { top: 43.0055%; left: 21.6304%; }
  .ap9770-reliability-visual .ap9770-redundant-art .label-switch-b { top: 43.0055%; left: 78.6304%; }
  .ap9770-reliability-visual .ap9770-redundant-art .label-mc-lag { top: 43.289%; left: 50.2717%; }
  .ap9770-reliability-visual .ap9770-redundant-art .label-switch-c { top: 60.6803%; left: 21.7391%; }
  .ap9770-reliability-visual .ap9770-redundant-art .label-switch-d { top: 60.6803%; left: 78.6304%; }
  .ap9770-reliability-visual .ap9770-redundant-art .label-stack { top: 60.6803%; left: 50.3804%; }
  .ap9770-reliability-visual .ap9770-redundant-art .label-ap-a { top: 89.3193%; left: 21.6848%; }
  .ap9770-reliability-visual .ap9770-redundant-art .label-ap-b { top: 89.3193%; left: 78.2609%; }
  .ap9770-reliability-copy { display: block; margin-top: 13.24074074vw; padding: 0; }
  .ap9770-reliability-copy > div { margin-top: 4vw; }
  .ap9770-reliability-copy strong { font-size: 3.3vw; }
  .ap9770-reliability-copy p { font-size: 3vw; line-height: 4.2vw; }
  .ap9770-temperature { margin-top: 8vw; }
  .ap9770-temperature strong { top: 52%; left: 49%; font-size: 5vw; line-height: 7vw; white-space: normal; }
  .ap9770-sdn { padding-bottom: 3.5vw; }
  .ap9770-sdn-art { margin-top: 15vw; }
  .ap9770-sdn-art .sdn-label { font-size: 3.1vw; line-height: 4.2vw; }
  .ap9770-sdn-art .sdn-cloud { top: 10%; left: 5%; width: 39%; }
  .ap9770-sdn-art .sdn-controller { top: 10%; left: 56%; width: 39%; }
  .ap9770-sdn-art .sdn-vpn { top: 37%; left: 17%; width: 30%; }
  .ap9770-sdn-art .sdn-outdoor { top: 38%; left: 59%; width: 35%; }
  .ap9770-sdn-art .sdn-ceiling { top: 67%; right: 3%; width: 38%; }
  .ap9770-sdn-art .sdn-switch { top: 67%; right: 48%; width: 31%; }
  .ap9770-sdn-art .sdn-browser { bottom: 4%; left: 2%; width: 31%; }
}

/* SDN module alignment: geometry and semantic labels follow the locked PSD
   groups [2,0] (web) and [3,0] (mobile). */
.ap9770-sdn {
  width: 62.03125em;
  max-width: 62.03125em;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: .1875em;
}
.ap9770-sdn .ap9770-inner { width: 62.03125em; max-width: none; }
.ap9770-sdn .ap9770-section-title {
  font-size: 2.8125em;
  line-height: 1.26666667;
}
.ap9770-sdn .ap9770-lead {
  margin-top: .375em;
  padding: 0 1em;
  font-size: 1.125em;
  line-height: 1.5;
}
.ap9770-sdn-art {
  width: 57.59375em;
  height: auto;
  margin: 2.75em 0 0 2.125em;
}
.ap9770-sdn-art .sdn-label {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  color: #172126;
  font-weight: 500;
  text-align: center;
}
.ap9770-sdn-art .sdn-controller,
.ap9770-sdn-art .sdn-central,
.ap9770-sdn-art .sdn-software,
.ap9770-sdn-art .sdn-or-top,
.ap9770-sdn-art .sdn-hardware,
.ap9770-sdn-art .sdn-or-mid,
.ap9770-sdn-art .sdn-internet {
  font-size: 1.125em;
  line-height: 1.5;
}
.ap9770-sdn-art .sdn-controller {
  top: 1.309375em;
  left: 0;
  width: 16.96875em;
}
.ap9770-sdn-art .sdn-central {
  top: 15.496875em;
  left: 0;
  width: 16.96875em;
}
.ap9770-sdn-art .sdn-software {
  top: 4.340625em;
  left: 8.1679em;
  width: 4.375em;
  text-align: left;
}
.ap9770-sdn-art .sdn-or-top {
  top: 6.53125em;
  left: 8.1679em;
  width: 1.1875em;
}
.ap9770-sdn-art .sdn-hardware {
  top: 8.621875em;
  left: 8.1679em;
  width: 4.59375em;
  text-align: left;
}
.ap9770-sdn-art .sdn-or-mid {
  top: 12.59375em;
  left: 5.6679em;
  width: 1.1875em;
}
.ap9770-sdn-art .sdn-internet {
  top: 23.21875em;
  left: 26.875em;
  width: 3.96875em;
}
.ap9770-sdn-art .sdn-vpn,
.ap9770-sdn-art .sdn-outdoor,
.ap9770-sdn-art .sdn-ceiling,
.ap9770-sdn-art .sdn-switch,
.ap9770-sdn-art .sdn-browser,
.ap9770-sdn-art .sdn-app,
.ap9770-sdn-art .sdn-cloud-access {
  font-size: .9375em;
  line-height: 1.33333333;
}
.ap9770-sdn-art .sdn-vpn {
  top: 12.59375em;
  left: 27.167em;
  width: 5.5625em;
}
.ap9770-sdn-art .sdn-outdoor {
  top: 1.684375em;
  left: 26.2836em;
  width: 7.6875em;
}
.ap9770-sdn-art .sdn-ceiling {
  top: 1.153125em;
  left: 45.9406em;
  width: 10.03125em;
}
.ap9770-sdn-art .sdn-switch {
  top: 12.653125em;
  left: 45.935em;
  width: 6.625em;
}
.ap9770-sdn-art .sdn-browser {
  top: 20.153125em;
  left: 44.5969em;
  width: 3.4375em;
}
.ap9770-sdn-art .sdn-app {
  top: 20.153125em;
  left: 51.0656em;
  width: 2.96875em;
}
.ap9770-sdn-art .sdn-cloud-access {
  top: 18.1875em;
  left: 32.1875em;
  width: 3.03125em;
}
@media (max-width: 736px) {
  .ap9770-sdn {
    width: 100vw;
    max-width: 100vw;
    margin-left: 0;
    margin-right: 0;
    padding-bottom: 0;
  }
  .ap9770-sdn .ap9770-inner {
    width: 100vw;
    max-width: 100vw;
  }
  .ap9770-sdn .ap9770-section-title {
    font-size: 8.33333333vw;
    line-height: 10.55555556vw;
  }
  .ap9770-sdn .ap9770-lead {
    margin-top: 0;
    padding: 0;
    font-size: 3.33333333vw;
    line-height: 5vw;
  }
  .ap9770-sdn-art {
    width: 87.12962963vw;
    height: auto;
    margin-top: 13.7037037vw;
    margin-right: 0;
    margin-left: -1.01851852vw;
  }
  .ap9770-sdn-art .sdn-label {
    font-weight: 500;
  }
  .ap9770-sdn-art .sdn-controller,
  .ap9770-sdn-art .sdn-central,
  .ap9770-sdn-art .sdn-software,
  .ap9770-sdn-art .sdn-or-top,
  .ap9770-sdn-art .sdn-hardware,
  .ap9770-sdn-art .sdn-or-mid,
  .ap9770-sdn-art .sdn-internet {
    font-size: 3.33333333vw;
    line-height: 5vw;
  }
  .ap9770-sdn-art .sdn-controller {
    top: 3.7037037vw;
    left: 46.11111111vw;
    width: 36.57407407vw;
  }
  .ap9770-sdn-art .sdn-central {
    top: 3.7037037vw;
    left: 7.87037037vw;
    width: 22.03703704vw;
  }
  .ap9770-sdn-art .sdn-software {
    top: 10.83333333vw;
    left: 62.87037037vw;
    width: 12.96296296vw;
    text-align: left;
  }
  .ap9770-sdn-art .sdn-or-top {
    top: 14.44444444vw;
    left: 37.12962963vw;
    width: 3.51851852vw;
  }
  .ap9770-sdn-art .sdn-hardware {
    top: 23.7037037vw;
    left: 62.96296296vw;
    width: 13.61111111vw;
    text-align: left;
  }
  .ap9770-sdn-art .sdn-or-mid {
    top: 19.53703704vw;
    left: 53.7037037vw;
    width: 3.51851852vw;
  }
  .ap9770-sdn-art .sdn-internet {
    top: 61.94444444vw;
    left: 4.44444444vw;
    width: 11.75925926vw;
  }
  .ap9770-sdn-art .sdn-vpn,
  .ap9770-sdn-art .sdn-outdoor,
  .ap9770-sdn-art .sdn-ceiling,
  .ap9770-sdn-art .sdn-switch,
  .ap9770-sdn-art .sdn-browser,
  .ap9770-sdn-art .sdn-app,
  .ap9770-sdn-art .sdn-cloud-access {
    font-size: 2.77777778vw;
    line-height: 3.7037037vw;
  }
  .ap9770-sdn-art .sdn-vpn {
    top: 55.92592593vw;
    left: 30vw;
    width: 16.48148148vw;
  }
  .ap9770-sdn-art .sdn-outdoor {
    top: 54.62962963vw;
    left: 63.98148148vw;
    width: 21.2037037vw;
  }
  .ap9770-sdn-art .sdn-ceiling {
    top: 94.90740741vw;
    left: 64.72222222vw;
    width: 19.62962963vw;
  }
  .ap9770-sdn-art .sdn-switch {
    top: 98.05555556vw;
    left: 28.33333333vw;
    width: 19.72222222vw;
  }
  .ap9770-sdn-art .sdn-browser {
    top: 90.18518519vw;
    left: 5.37037037vw;
    width: 10vw;
  }
  .ap9770-sdn-art .sdn-app {
    top: 107.96296296vw;
    left: 5.92592593vw;
    width: 8.7037037vw;
  }
  .ap9770-sdn-art .sdn-cloud-access {
    top: 67.77777778vw;
    left: 11.75925926vw;
    width: 8.98148148vw;
  }
}


/* SDN label text boxes use the PSD paragraph bounds; each width is emitted
   in the label's own em basis so the browser box stays at the artwork anchor. */
.ap9770-sdn-art .sdn-controller,
.ap9770-sdn-art .sdn-central,
.ap9770-sdn-art .sdn-software,
.ap9770-sdn-art .sdn-or-top,
.ap9770-sdn-art .sdn-hardware,
.ap9770-sdn-art .sdn-or-mid,
.ap9770-sdn-art .sdn-internet {
  font-size: 1.0625em;
  line-height: 1.58823529;
}
.ap9770-sdn-art .sdn-controller {
  top: .82352941em;
  left: 0;
  width: 16.01820647em;
}
.ap9770-sdn-art .sdn-central {
  top: 14.17647059em;
  left: 0;
  width: 15.97058824em;
}
.ap9770-sdn-art .sdn-software {
  top: 3.67647059em;
  left: 7.68724706em;
  width: 5.30490559em;
  text-align: left;
}
.ap9770-sdn-art .sdn-or-top {
  top: 5.73529412em;
  left: 7.68724706em;
  width: 5.30490559em;
  text-align: left;
}
.ap9770-sdn-art .sdn-hardware {
  top: 7.67647059em;
  left: 7.68724706em;
  width: 5.30490559em;
  text-align: left;
}
.ap9770-sdn-art .sdn-or-mid {
  top: 11.44117647em;
  left: 5.33430588em;
  width: 5.30490559em;
}
.ap9770-sdn-art .sdn-internet {
  top: 21.47058824em;
  left: 23.82352941em;
  width: 6.61472088em;
}
.ap9770-sdn-art .sdn-vpn {
  top: 13.15333333em;
  left: 28.97886667em;
  width: 7.71593633em;
}
.ap9770-sdn-art .sdn-outdoor {
  top: 1.48666667em;
  left: 28.03583333em;
  width: 10.49827867em;
}
.ap9770-sdn-art .sdn-ceiling {
  top: .92em;
  left: 49.00333333em;
  width: 10.81516333em;
}
.ap9770-sdn-art .sdn-switch {
  top: 13.18666667em;
  left: 48.99706667em;
  width: 7.64251033em;
}
.ap9770-sdn-art .sdn-browser {
  top: 21.18em;
  left: 47.57em;
  width: 4.475562em;
}
.ap9770-sdn-art .sdn-app {
  top: 21.18em;
  left: 54.47em;
  width: 7.49668367em;
}
.ap9770-sdn-art .sdn-cloud-access {
  top: 19.11333333em;
  left: 32.20333333em;
  width: 7.49668367em;
}
@media (max-width: 736px) {
  .ap9770-sdn-art .sdn-controller,
  .ap9770-sdn-art .sdn-central,
  .ap9770-sdn-art .sdn-software,
  .ap9770-sdn-art .sdn-or-top,
  .ap9770-sdn-art .sdn-hardware,
  .ap9770-sdn-art .sdn-or-mid,
  .ap9770-sdn-art .sdn-internet {
    font-size: 3.14814815vw;
    line-height: 5vw;
  }
  .ap9770-sdn-art .sdn-controller {
    top: 2.22222222vw;
    left: 46.11111111vw;
    width: 36.57407407vw;
  }
  .ap9770-sdn-art .sdn-central {
    top: 2.22222222vw;
    left: 7.87037037vw;
    width: 22.03703704vw;
  }
  .ap9770-sdn-art .sdn-software {
    top: 9.35185185vw;
    left: 62.87037037vw;
    width: 16.70101778vw;
    text-align: left;
  }
  .ap9770-sdn-art .sdn-or-top {
    top: 12.96296296vw;
    left: 37.07096296vw;
    width: 16.70101778vw;
    text-align: left;
  }
  .ap9770-sdn-art .sdn-hardware {
    top: 20.83333333vw;
    left: 62.96296296vw;
    width: 16.70101778vw;
    text-align: left;
  }
  .ap9770-sdn-art .sdn-or-mid {
    top: 17.96296296vw;
    /* The second Or belongs inside the controller card, centered beneath
       the device image in the PSD (the first Or remains between the cards). */
    left: 47.03703704vw;
    width: 16.70101778vw;
  }
  .ap9770-sdn-art .sdn-internet {
    top: 60.7037037vw;
    left: 0;
    width: 20.8241213vw;
  }
  .ap9770-sdn-art .sdn-vpn {
    top: 55.18518519vw;
    left: 27.53407407vw;
    width: 21.43315648vw;
  }
  .ap9770-sdn-art .sdn-outdoor {
    top: 53.8vw;
    left: 61.99527778vw;
    width: 25.13427778vw;
  }
  .ap9770-sdn-art .sdn-ceiling {
    top: 94.2vw;
    left: 61.99527778vw;
    width: 25.13427778vw;
  }
  .ap9770-sdn-art .sdn-switch {
    top: 97.4vw;
    left: 27.58444444vw;
    width: 21.22919537vw;
  }
  .ap9770-sdn-art .sdn-browser {
    top: 89.4vw;
    left: 4.08333333vw;
    width: 12.43211667vw;
  }
  .ap9770-sdn-art .sdn-app {
    top: 106.7vw;
    left: 0;
    width: 20.8241213vw;
  }
  .ap9770-sdn-art .sdn-cloud-access {
    top: 67.1vw;
    left: 11.76851852vw;
    width: 20.8241213vw;
    text-align: left;
  }
}


/* Final SDN optical offsets: Photoshop's text bounds start at the glyph edge,
   while browser line boxes include the font ascent. */
@media (min-width: 737px) {
  .ap9770-sdn .ap9770-section-title { position: relative; top: -.26666667em; }
  .ap9770-sdn .ap9770-lead { position: relative; top: -.27777778em; }
  .ap9770-sdn-art { margin-top: 2.703125em; }
  .ap9770-sdn-art .sdn-vpn,
  .ap9770-sdn-art .sdn-outdoor,
  .ap9770-sdn-art .sdn-ceiling,
  .ap9770-sdn-art .sdn-switch,
  .ap9770-sdn-art .sdn-browser,
  .ap9770-sdn-art .sdn-app {
    text-align: left;
  }
}
@media (max-width: 736px) {
  .ap9770-sdn .ap9770-section-title { position: relative; top: -2.40740741vw; }
  .ap9770-sdn-art .sdn-central {
    left: 6.01851852vw;
    width: 25.92592593vw;
  }
  .ap9770-sdn-art .sdn-app { top: 107.25vw; }
}


/* PSD small labels use a 30px source face; 14.5px in the browser keeps
   the rasterized glyph widths and the authored line breaks aligned. */
@media (min-width: 737px) {
  .ap9770-sdn-art .sdn-vpn,
  .ap9770-sdn-art .sdn-outdoor,
  .ap9770-sdn-art .sdn-ceiling,
  .ap9770-sdn-art .sdn-switch,
  .ap9770-sdn-art .sdn-browser,
  .ap9770-sdn-art .sdn-app,
  .ap9770-sdn-art .sdn-cloud-access {
    font-size: .90625em;
    line-height: 1.37931034;
  }
  .ap9770-sdn-art .sdn-vpn {
    top: 13.60689655em;
    left: 29.97882759em;
    width: 7.98269276em;
  }
  .ap9770-sdn-art .sdn-outdoor {
    top: 1.53793103em;
    left: 29.00258621em;
    width: 10.86028828em;
  }
  .ap9770-sdn-art .sdn-ceiling {
    top: .95172414em;
    left: 50.69310345em;
    width: 11.1881em;
  }
  .ap9770-sdn-art .sdn-switch {
    top: 13.64137931em;
    left: 50.68662069em;
    width: 7.90604517em;
  }
  .ap9770-sdn-art .sdn-browser {
    top: 21.91034483em;
    left: 49.21034483em;
    width: 4.62989103em;
  }
  .ap9770-sdn-art .sdn-app {
    top: 21.91034483em;
    left: 56.34827586em;
    width: 7.75519em;
  }
  .ap9770-sdn-art .sdn-cloud-access {
    top: 19.77241379em;
    left: 33.3137931em;
    width: 7.75519em;
  }
}
@media (max-width: 736px) {
  .ap9770-sdn-art .sdn-vpn,
  .ap9770-sdn-art .sdn-outdoor,
  .ap9770-sdn-art .sdn-ceiling,
  .ap9770-sdn-art .sdn-switch,
  .ap9770-sdn-art .sdn-browser,
  .ap9770-sdn-art .sdn-app,
  .ap9770-sdn-art .sdn-cloud-access {
    font-size: 2.68518519vw;
    line-height: 3.7037037vw;
  }
}


@media (min-width: 737px) {
  .ap9770-sdn-art .sdn-ceiling .desktop-only { white-space: nowrap; }
}

/* The PSD places the desktop Internet caption just below the raster art
   bounds; keep that caption visible instead of clipping its lower glyphs. */
@media (min-width: 737px) {
  .ap9770-sdn-art { overflow: visible; }
  .ap9770-sdn-art .sdn-internet { top: 21.41176471em; }
}

/* The PSD SDN artwork is transparent outside its colored cards. Let the
   page background show through those pixels instead of painting a gray box. */
.ap9770-sdn-art { background: transparent; }

/* Traffic Scheduling keeps Photoshop's type layers in HTML. The raster
   picture files contain only the card backgrounds, devices, and connectors. */
.ap9770-performance .ap9770-feature-grid.three-up .ap9770-artboard {
  position: relative;
}
.ap9770-performance .ap9770-feature-grid.three-up .traffic-label {
  position: absolute;
  z-index: 2;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  color: #2b2b2b;
  font-size: .9375em;
  font-weight: 400;
  line-height: 1.2;
  text-align: left;
}
.ap9770-performance .ap9770-traffic-rate-art .traffic-airtime-up {
  top: 23.42105263%;
  left: 16.92708333%;
  width: 15.234375%;
}
.ap9770-performance .ap9770-traffic-rate-art .traffic-improve {
  top: 33.68421053%;
  left: 49.08854167%;
  width: auto;
  white-space: nowrap;
}
.ap9770-performance .ap9770-traffic-rate-art .traffic-airtime-down {
  top: 74.07894737%;
  left: 16.92708333%;
  width: 15.234375%;
}
.ap9770-performance .ap9770-traffic-rate-art .traffic-reduce {
  top: 75.26315789%;
  left: 45.05208333%;
  width: auto;
  white-space: nowrap;
}
.ap9770-performance .ap9770-traffic-multicast-art .traffic-multicast-source {
  top: 13.15789474%;
  left: 59.11458333%;
  width: 20.05208333%;
}
.ap9770-performance .ap9770-traffic-multicast-art .traffic-status {
  top: 84.34210526%;
}
.ap9770-performance .ap9770-traffic-multicast-art .traffic-status-1 {
  left: 5.859375%;
  width: 13.41145833%;
}
.ap9770-performance .ap9770-traffic-multicast-art .traffic-status-2 {
  left: 27.86458333%;
  width: 7.16145833%;
}
.ap9770-performance .ap9770-traffic-multicast-art .traffic-status-3 {
  left: 43.22916667%;
  width: 13.41145833%;
}
.ap9770-performance .ap9770-traffic-multicast-art .traffic-status-4 {
  left: 65.234375%;
  width: 7.16145833%;
}
.ap9770-performance .ap9770-traffic-multicast-art .traffic-status-5 {
  left: 80.59895833%;
  width: 13.41145833%;
}
@media (max-width: 736px) {
  .ap9770-performance .ap9770-feature-grid.three-up .traffic-label {
    font-size: 2.77777778vw;
    line-height: 3.33333333vw;
  }
  .ap9770-performance .ap9770-traffic-rate-art .traffic-airtime-up {
    top: 21.62516383%;
    left: 22.45119306%;
    width: 12.68980477%;
  }
  .ap9770-performance .ap9770-traffic-rate-art .traffic-improve {
    top: 31.716907%;
    left: 49.24078091%;
    width: auto;
  }
  .ap9770-performance .ap9770-traffic-rate-art .traffic-airtime-down {
    top: 72.08387942%;
    left: 22.45119306%;
    width: 12.68980477%;
  }
  .ap9770-performance .ap9770-traffic-rate-art .traffic-reduce {
    top: 73.13237208%;
    left: 45.87852495%;
    width: auto;
  }
  .ap9770-performance .ap9770-traffic-multicast-art .traffic-multicast-source {
    top: 12.0576671%;
    left: 57.59219089%;
    width: 16.70282083%;
  }
  .ap9770-performance .ap9770-traffic-multicast-art .traffic-status {
    top: 82.96199214%;
  }
  .ap9770-performance .ap9770-traffic-multicast-art .traffic-status-1 {
    left: 13.23210412%;
    width: 11.17136659%;
  }
  .ap9770-performance .ap9770-traffic-multicast-art .traffic-status-2 {
    left: 31.56182213%;
    width: 5.96529284%;
  }
  .ap9770-performance .ap9770-traffic-multicast-art .traffic-status-3 {
    left: 44.36008677%;
    width: 11.17136659%;
  }
  .ap9770-performance .ap9770-traffic-multicast-art .traffic-status-4 {
    left: 62.68980477%;
    width: 5.96529284%;
  }
  .ap9770-performance .ap9770-traffic-multicast-art .traffic-status-5 {
    left: 75.48806941%;
    width: 11.17136659%;
  }
}

/* The refreshed mobile SDN PSB is a 1080 x 2521 artboard. Keep its transparent
   diagram as artwork and place every semantic label at the authored text box. */
@media (max-width: 736px) {
  .ap9770-sdn {
    margin-top: 17.87037037vw;
    padding-bottom: 16.57407407vw;
  }

  .ap9770-sdn .ap9770-section-title {
    top: 0;
  }

  .ap9770-sdn-art .sdn-label {
    letter-spacing: -.025em;
    white-space: nowrap;
  }

  .ap9770-sdn-art .sdn-controller,
  .ap9770-sdn-art .sdn-central,
  .ap9770-sdn-art .sdn-software,
  .ap9770-sdn-art .sdn-or-top,
  .ap9770-sdn-art .sdn-hardware,
  .ap9770-sdn-art .sdn-or-mid,
  .ap9770-sdn-art .sdn-internet {
    font-size: 3.33333333vw;
    line-height: 5vw;
  }

  .ap9770-sdn-art .sdn-controller {
    top: 3.7037037vw;
    left: 46.11111111vw;
    width: 36.57407407vw;
  }
  .ap9770-sdn-art .sdn-central {
    top: 3.7037037vw;
    left: 7.87037037vw;
    width: 22.03703704vw;
  }
  .ap9770-sdn-art .sdn-software {
    top: 10.83333333vw;
    left: 62.87037037vw;
    width: 12.96296296vw;
    text-align: left;
  }
  .ap9770-sdn-art .sdn-or-top {
    top: 14.44444444vw;
    left: 37.12962963vw;
    width: 3.51851852vw;
    text-align: center;
  }
  .ap9770-sdn-art .sdn-hardware {
    top: 23.7037037vw;
    left: 62.96296296vw;
    width: 13.61111111vw;
    text-align: left;
  }
  .ap9770-sdn-art .sdn-or-mid {
    top: 19.53703704vw;
    left: 53.7037037vw;
    width: 3.51851852vw;
    text-align: center;
  }
  .ap9770-sdn-art .sdn-internet {
    top: 61.94444444vw;
    left: 4.44444444vw;
    width: 11.75925926vw;
  }

  .ap9770-sdn-art .sdn-vpn,
  .ap9770-sdn-art .sdn-outdoor,
  .ap9770-sdn-art .sdn-ceiling,
  .ap9770-sdn-art .sdn-switch,
  .ap9770-sdn-art .sdn-browser,
  .ap9770-sdn-art .sdn-app,
  .ap9770-sdn-art .sdn-cloud-access {
    font-size: 2.77777778vw;
    line-height: 3.7037037vw;
  }

  .ap9770-sdn-art .sdn-vpn {
    top: 55.92592593vw;
    left: 30vw;
    width: 16.48148148vw;
  }
  .ap9770-sdn-art .sdn-outdoor {
    top: 57.2962963vw;
    left: 63.98148148vw;
    width: 21.2037037vw;
  }
  .ap9770-sdn-art .sdn-ceiling {
    top: 97.57407408vw;
    left: 64.72222222vw;
    width: 19.62962963vw;
  }
  .ap9770-sdn-art .sdn-switch {
    top: 98.05555556vw;
    left: 28.33333333vw;
    width: 19.72222222vw;
  }
  .ap9770-sdn-art .sdn-browser {
    top: 90.18518519vw;
    left: 5.37037037vw;
    width: 10vw;
  }
  .ap9770-sdn-art .sdn-app {
    top: 107.96296296vw;
    left: 5.92592593vw;
    width: 8.7037037vw;
  }
  .ap9770-sdn-art .sdn-cloud-access {
    top: 67.77777778vw;
    left: 11.75925926vw;
    width: 8.98148148vw;
    text-align: center;
  }
}

/* Mobile reliability copy follows the independent Photoshop text layers.
   Keep its line rhythm and handoff to SDN in the same vertical positions as
   the primary mobile artboard instead of leaving an oversized inter-section
   gap. */
@media (max-width: 736px) {
  .ap9770-reliability-visual .ap9770-reliability-copy {
    margin-top: 12.68518519vw;
  }
  .ap9770-reliability-visual .ap9770-reliability-copy > div + div {
    margin-top: 4.46296296vw;
  }
  .ap9770-reliability-visual .ap9770-reliability-copy strong {
    line-height: 1.6;
    margin-bottom: 0;
  }
  .ap9770-reliability-visual .ap9770-reliability-copy p {
    line-height: 5.55555556vw;
  }
  .ap9770-sdn {
    margin-top: 14.52777778vw;
  }
}

/* The mobile PSD shows a clipped tab track with a tappable edge control.
   Keep the track scrollable by touch while the controls mask only the edge
   where the next or previous option is hidden. */
.ap9770-tablist-wrap {
  display: contents;
}
.ap9770-tablist-control {
  display: none;
}
@media (max-width: 736px) {
  .ap9770-tablist-wrap {
    display: block;
    position: relative;
    width: 100vw;
    margin: 11.11111111vw -7.4074074vw 9vw;
  }
  .ap9770-tablist-wrap .ap9770-tablist {
    width: 100%;
    margin: 0;
  }
  .ap9770-tablist-control:not([hidden]) {
    display: flex;
    position: absolute;
    z-index: 3;
    top: -1px;
    align-items: center;
    justify-content: center;
    width: 15.74074074vw;
    height: calc(10vw + 2px);
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #929292;
    cursor: pointer;
    isolation: isolate;
  }
  .ap9770-tablist-control::before {
    width: 2.77777778vw;
    height: 2.77777778vw;
    border-top: .55555556vw solid currentColor;
    border-right: .55555556vw solid currentColor;
    content: '';
  }
  .ap9770-tablist-control-next:not([hidden]) {
    right: -1px;
    justify-content: flex-start;
    width: calc(15.74074074vw + 1px);
    padding-left: 1.01851852vw;
    border-left: .27777778vw solid #d8d8d8;
    background: #fff !important;
    background-image: none !important;
    box-shadow: -1px 0 0 #fff;
  }
  .ap9770-tablist-control-next::before {
    transform: rotate(45deg);
  }
  .ap9770-tablist-control-prev:not([hidden]) {
    left: -1px;
    justify-content: flex-end;
    width: calc(15.74074074vw + 1px);
    padding-right: 1.01851852vw;
    border-right: .27777778vw solid #d8d8d8;
    background: #fff !important;
    background-image: none !important;
    box-shadow: 1px 0 0 #fff;
  }
  .ap9770-tablist-control-prev::before {
    transform: rotate(-135deg);
  }
  .ap9770-tablist-control:focus-visible {
    outline: 2px solid #006568;
    outline-offset: -2px;
  }
}

/* Designer and Marketing feedback — September 2026. */
@media (min-width: 737px) {
  .ap9770-performance > .ap9770-inner > .ap9770-section-title,
  .ap9770-operations > .ap9770-inner > .ap9770-section-title,
  .ap9770-reliability > .ap9770-inner > .ap9770-section-title {
    font-size: 2.8125em;
    line-height: 1.26666667;
  }

  .ap9770-performance .ap9770-panel[data-state="2"] .ap9770-feature-grid.two-up {
    width: 74.8125em;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2.9375em;
    margin-right: auto;
    margin-left: auto;
  }

  .ap9770-rf-list li {
    transform: translateY(-50%);
  }
  .ap9770-rf-list li:nth-child(1) { top: 7.36111111em; }
  .ap9770-rf-list li:nth-child(2) { top: 11.80555556em; }
  .ap9770-rf-list li:nth-child(3) { top: 15em; }
  .ap9770-rf-list li:nth-child(4) { top: 19.25em; }
}

.ap9770-performance .ap9770-panel[data-state="2"] .ap9770-artboard {
  position: relative;
}
.ap9770-smart-picture {
  display: block;
  width: 100%;
  height: 100%;
}
.ap9770-smart-picture img {
  width: 100%;
  height: 100%;
  object-fit: fill;
}
.ap9770-smart-note {
  position: absolute;
  z-index: 2;
  top: 8.42105263%;
  left: 56.95652174%;
  width: 37.82608696%;
  color: #2b2b2b;
  font-size: 1.5em;
  font-weight: 500;
  line-height: 1.25;
  text-align: center;
}

@media (min-width: 737px) {
  .ap9770-performance .ap9770-panel[data-state="3"] .ap9770-lead {
    width: 60.59375em;
    max-width: 60.59375em;
    line-height: 1.5;
  }

  .ap9770-reliability-visual .ap9770-redundant-art .diagram-layer {
    width: 7.125em;
    font-size: .9375em;
    font-weight: 500;
    line-height: 1.33333333;
    text-align: right;
  }
  .ap9770-reliability-visual .ap9770-redundant-art .layer-gateway {
    left: 2.75em;
  }
  .ap9770-reliability-visual .ap9770-redundant-art .layer-core {
    left: 2.75em;
  }
  .ap9770-reliability-visual .ap9770-redundant-art .layer-access {
    left: 2.75em;
  }

  .ap9770-sdn .ap9770-lead {
    padding-right: 0;
    padding-left: 0;
  }
}

.ap9770-performance .ap9770-feature-grid.three-up .traffic-label {
  text-align: center;
}

.ap9770-temperature picture {
  display: block;
  width: 100%;
}

@media (max-width: 736px) {
  .ap9770-performance .ap9770-panel[data-state="2"] .ap9770-feature-grid.two-up {
    width: 100%;
  }
  .ap9770-performance .ap9770-panel[data-state="2"] .ap9770-artboard {
    height: auto;
    aspect-ratio: 920 / 608;
  }
  .ap9770-smart-note {
    top: 9.375%;
    left: 59.13043478%;
    width: 35.65217391%;
    font-size: 2.77777778vw;
    line-height: 3.33333333vw;
  }

  .ap9770-reliability-visual .ap9770-redundant-art .layer-access {
    font-size: 3vw;
  }
  .ap9770-reliability-visual .ap9770-redundant-art .layer-access::after {
    display: none;
    content: none;
  }

  .ap9770-temperature strong {
    top: 38.95253682%;
    left: 51.787649%;
    width: 37.37811484%;
    font-size: 4.44444444vw;
    line-height: 6.66666667vw;
    text-align: center;
  }

  .ap9770-tablist-wrap {
    overflow: hidden;
  }
  .ap9770-tablist-wrap .ap9770-tablist {
    overflow-x: hidden !important;
    scroll-behavior: auto !important;
    scroll-snap-type: none !important;
    overflow-anchor: none;
  }
  .ap9770-tablist-wrap .ap9770-tablist button {
    scroll-snap-align: none !important;
    transform: translateX(var(--ap9770-tab-offset, 0));
  }
  .ap9770-tablist-wrap.has-previous .ap9770-tablist {
    clip-path: inset(0 0 0 15.74074074vw);
  }
  .ap9770-tablist-wrap.has-next .ap9770-tablist {
    clip-path: inset(0 15.74074074vw 0 0);
  }
  .ap9770-tablist-wrap.has-previous.has-next .ap9770-tablist {
    clip-path: inset(0 15.74074074vw);
  }
  .ap9770-tablist-control:not([hidden]) {
    z-index: 5;
    overflow: hidden;
  }
}

/* Keep the refreshed SDN mobile artboard's 193px authored top inset after all
   legacy mobile spacing overrides. */
@media (max-width: 736px) {
  .ap9770-page {
    padding-bottom: 0;
  }

  .ap9770-sdn {
    margin-top: 17.87037037vw;
  }
}

/* Designer review round 2 — preserve the tab interaction while restoring the
   authored typography, caption rhythm, and text alignment. */
@media (min-width: 737px) {
  .ap9770-performance .ap9770-panel[data-state="2"] .ap9770-feature-grid figcaption,
  .ap9770-performance .ap9770-panel[data-state="3"] .ap9770-feature-grid figcaption {
    margin-top: 1.66666667em;
  }

  .ap9770-rf-list li:nth-child(1),
  .ap9770-rf-list li:nth-child(3) {
    transform: translateY(-.725em);
  }
}

.ap9770-smart-note {
  text-align: right;
}

.ap9770-performance .ap9770-feature-grid.three-up .ap9770-traffic-multicast-art .traffic-multicast-source {
  text-align: left;
}

@media (max-width: 736px) {
  .ap9770-tablist-wrap .ap9770-tablist button {
    font-size: 3.33333333vw;
    line-height: 4.44444444vw;
  }

  .ap9770-operations .ap9770-tablist button:nth-child(2),
  .ap9770-reliability .ap9770-tablist button:nth-child(2) {
    flex-basis: 51.2037037vw;
    min-width: 51.2037037vw;
  }

  .ap9770-performance .ap9770-panel[data-state="2"] .ap9770-feature-grid figcaption,
  .ap9770-performance .ap9770-panel[data-state="3"] .ap9770-feature-grid figcaption {
    margin-top: 5.55555556vw;
  }

  .ap9770-smart-note {
    font-size: 3.33333333vw;
    line-height: 4.44444444vw;
  }

  .ap9770-temperature strong .mobile-only {
    white-space: nowrap;
  }

  .ap9770-sdn .ap9770-lead {
    margin-top: 5vw;
  }

  .ap9770-video-frame {
    margin-top: 8.42592593vw;
  }
}
