/* Shared canonical infrastructure icons; decorative and layout-neutral. */
.system-icon { display:block;object-fit:contain;flex-shrink:0; }
.products-main .pr-technology .system-icon { width:36px;height:36px;justify-self:center; }
.home-main .why-infrastructure .system-icon { width:36px;height:36px; }
.ab-main .ab-infra-card .system-icon { width:28px;height:34px; }
.solutions-main .sp-values .system-icon { width:56px;height:56px;margin:0 auto 12px; }
@media(max-width:640px) {
 .products-main .pr-technology .system-icon { width:32px;height:32px; }
 .solutions-main .sp-values .system-icon { width:44px;height:44px; }
}

/* Vendor logos retain original colors and proportions on a common light surface. */
.brand-logo-frame { display:flex;align-items:center;justify-content:center;width:100%;height:76px;padding:14px;background:#fff;border-radius:4px; }
.brand-logo { display:block;width:100%;max-width:180px;height:48px;object-fit:contain; }
.brand-logo--arista { max-width:160px; }
.brand-logo--checkpoint { max-width:150px; }
.home-main .home-technology-card { display:flex;flex-direction:column;align-items:center;text-align:center; }
.home-main .home-technology-card .brand-logo-frame { margin-bottom:20px; }
.ab-main .ab-brand { display:flex;flex-direction:column;align-items:center;text-align:center; }
.ab-main .ab-brand .brand-logo-frame { margin-bottom:20px; }
.products-main .pr-brand { grid-row:span 4;grid-template-rows:subgrid; }
@media(max-width:959px) { .home-main .home-technology-card,.ab-main .ab-brand { display:flex;flex-direction:column;align-items:center;text-align:center; } }
.ab-main .ab-step-icon svg { width:28px;height:28px; }
@media(max-width:640px) { .ab-main .ab-step-icon svg { width:24px;height:24px; } }

/* Brand name remains available to assistive technology without duplicating the logo. */
.home-technology-card .brand-name,.ab-brand .brand-name,.pr-brand .brand-name { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }

/* Local icon font: shared technology meanings, without SVG content icons. */
.system-font-icon { display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:#0D7A50;font-style:normal;line-height:1; }
.system-font-icon::before { display:block;line-height:1; }
.home-main .home-infra-icon { width:36px;height:36px;font-size:32px; }
.ab-main .about-infra-icon { width:28px;height:34px;font-size:28px; }
.ab-main .ab-step-icon .system-font-icon { width:28px;height:28px;font-size:28px; }
.products-main .pr-brand { grid-row:span 4; }
.products-main .pr-brand > h3 { text-align:center; }
.products-main .pr-technology .pr-tech-icon { display:inline-flex;width:40px;height:40px;font-size:36px; }
.solutions-main .sp-values .system-font-icon { display:flex;width:56px;height:56px;font-size:48px;margin:0 auto 12px; }
.services-main .system-font-icon.svc-icon { width:56px;height:56px;font-size:48px; }
@media(max-width:640px) {
 .products-main .pr-technology .pr-tech-icon { width:36px;height:36px;font-size:32px; }
 .solutions-main .sp-values .system-font-icon { width:44px;height:44px;font-size:36px; }
 .services-main .system-font-icon.svc-icon { width:36px;height:36px;font-size:32px; }
}

.pending-company-phone { display:none!important; }
.ct-channels { grid-template-columns:minmax(0,1fr); }

/* Closing CTA: one layout with contextual colors across the approved four pages. */
:is(.home-main,.ab-main,.solutions-main,.products-main) .page-closing-cta {
  --closing-background:#EEF7F1;
  --closing-heading:#19372D;
  --closing-description:#5C7068;
  --closing-button:#0D7A50;
  --closing-button-hover:#09633F;
  padding:64px 0;
  margin:0;
  height:auto;
  min-height:0;
  background:var(--closing-background);
  color:var(--closing-heading);
  text-align:center;
}
:is(.home-main,.ab-main,.solutions-main,.products-main) .page-closing-cta--about {
  --closing-background:#EEF7F1;
  --closing-button:#0B211B;
  --closing-button-hover:#14372B;
}
:is(.home-main,.ab-main,.solutions-main,.products-main) .page-closing-cta--solutions {
  --closing-background:#0B211B;
  --closing-heading:#fff;
  --closing-description:#C4D7CD;
}
:is(.home-main,.ab-main,.solutions-main,.products-main) .page-closing-cta--products {
  --closing-background:#EEF7F1;
  --closing-button:#0B211B;
  --closing-button-hover:#14372B;
}
:is(.home-main,.ab-main,.solutions-main,.products-main) .page-closing-cta::before,
:is(.home-main,.ab-main,.solutions-main,.products-main) .page-closing-cta::after {
  content:none;
}
:is(.home-main,.ab-main,.solutions-main,.products-main) .page-closing-cta > div {
  width:min(1220px,calc(100% - 48px));
  max-width:1220px;
  margin:0 auto;
  padding:0;
}
:is(.home-main,.ab-main,.solutions-main,.products-main) .page-closing-cta h2 {
  max-width:1120px;
  margin:0 auto;
  color:var(--closing-heading);
  font-size:32px;
  line-height:1.3;
  letter-spacing:normal;
}
:is(.home-main,.ab-main,.solutions-main,.products-main) .page-closing-cta p {
  max-width:1120px;
  margin:16px auto 0;
  color:var(--closing-description);
  font-size:16px;
  line-height:1.65;
}
:is(.home-main,.ab-main,.solutions-main,.products-main) .page-closing-cta .button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  margin:24px 0 0;
  padding:12px 24px;
  border:1px solid transparent;
  border-radius:5px;
  background:var(--closing-button);
  color:#fff;
  font-family:inherit;
  font-size:16px;
  font-weight:600;
  line-height:1.25;
  text-decoration:none;
}
:is(.home-main,.ab-main,.solutions-main,.products-main) .page-closing-cta .button:hover {
  background:var(--closing-button-hover);
}
:is(.home-main,.ab-main,.solutions-main,.products-main) .page-closing-cta .button:focus-visible {
  outline:3px solid var(--closing-heading);
  outline-offset:4px;
}
@media(max-width:640px) {
  :is(.home-main,.ab-main,.solutions-main,.products-main) .page-closing-cta { padding:40px 0; }
  :is(.home-main,.ab-main,.solutions-main,.products-main) .page-closing-cta h2 { font-size:26px; }
  :is(.home-main,.ab-main,.solutions-main,.products-main) .page-closing-cta p { margin-top:12px;font-size:15px; }
}
@media(max-width:359px) {
  :is(.home-main,.ab-main,.solutions-main,.products-main) .page-closing-cta > div { width:calc(100% - 40px); }
}
/* Mobile hero images sit behind readable content across the site. */
.ab-main .ab-opening,.solutions-main .sp-hero,.services-main .svc-hero,.products-main .pr-hero {
  min-height:420px;padding-block:32px;display:flex;align-items:center;
}
@media(min-width:960px) {
 .ab-main .ab-opening { padding-block:32px; }
 .ab-main .ab-opening-photo,.sp-hero-image,.svc-hero-image,.pr-hero-image { max-height:356px; }
}
@media(min-width:641px) and (max-width:959px) {
 .ab-main .ab-opening,.solutions-main .sp-hero,.services-main .svc-hero,.products-main .pr-hero { min-height:720px; }
}
@media(max-width:640px) {
 .ab-main .ab-opening,.solutions-main .sp-hero,.services-main .svc-hero,.products-main .pr-hero { min-height:420px;padding-block:40px; }
}
@media(max-width:359px) {
 .ab-main .ab-opening,.solutions-main .sp-hero,.services-main .svc-hero,.products-main .pr-hero { min-height:480px; }
}
@media(max-width:640px) {
  .home-main .hero { min-height:420px;padding:48px 0;isolation:isolate;display:flex;align-items:center; }
  .home-main .hero .hero-grid { position:static;gap:0; }
  .home-main .hero .hero-visual { position:absolute;inset:0;width:100%;height:100%;z-index:-1; }
  .home-main .hero .hero-visual img { object-fit:cover;object-position:center; }
  .home-main .hero .hero-visual::after { content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,26,20,.94),rgba(7,26,20,.76)); }
  .home-main .hero .hero-mobile-intro { color:#C4D7CD; }
  .ab-main .ab-opening .ab-opening-photo,.sp-hero-image,.svc-hero-image,.pr-hero-image { display:none; }
  .sp-hero-layout,.svc-hero .svc-pair,.pr-hero-layout,.ab-opening .ab-layout { gap:0; }
  .ab-main .ab-opening,.solutions-main .sp-hero,.services-main .svc-hero,.products-main .pr-hero {
    background-color:#0B211B;
    background-image:linear-gradient(90deg,rgba(7,26,20,.94),rgba(7,26,20,.78)),var(--mobile-hero-image);
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    color:#fff;
  }
  .ab-main .ab-opening { --mobile-hero-image:url('../images/green-theme/about-hero-green.webp'); }
  .products-main .pr-hero { --mobile-hero-image:url('../images/green-theme/products-hero-green.webp');background-position:65% center; }
  .solutions-main .sp-hero { --mobile-hero-image:url('../images/green-theme/hero-infrastructure-green.webp'); }
  .services-main .svc-hero { --mobile-hero-image:url('../images/green-theme/services-engineer-green.webp'); }
  .ab-main .ab-opening h1 { color:#fff; }
  .ab-main .ab-opening .ab-copy > p,.solutions-main .sp-hero .sp-lead,.services-main .svc-hero .svc-lead,.products-main .pr-hero .pr-lead { color:#C4D7CD; }
  .ab-main .ab-opening .about-company-name { color:#8FE3BB; }
}
@media(max-width:359px) {
 .home-main .hero { min-height:480px; }
}
.section-link.section-cta-mobile { display:none; }
/* One compact vendor-card layout on Home and About. */
.ab-main .ab-technology .ab-layout { grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:48px; }
.ab-main .ab-brands { gap:20px; }
@media(max-width:1100px) { .ab-main .ab-technology .ab-layout { grid-template-columns:1fr; } }
.home-main .home-technology-cards > .home-technology-card,
.ab-main .ab-brands > .ab-brand {
 display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:25px auto;
 align-content:center;justify-items:center;gap:6px;min-height:120px;
 padding:16px 10px;text-align:center;box-sizing:border-box;
}
.home-main .home-technology-cards > .home-technology-card h3,
.ab-main .ab-brands > .ab-brand h3 {
 grid-row:1;position:static;display:block;width:100%;min-height:0;
 margin:0;align-self:center;font-size:18px;line-height:25px;
}
.home-main .home-technology-cards > .home-technology-card p,
.ab-main .ab-brands > .ab-brand p {
 grid-row:2;position:static;width:100%;min-height:0;margin:0;
 align-self:center;font-size:12px;line-height:20px;
}
.home-main .technology-focus-copy > p { margin-bottom:0; }
.home-main .technology-focus-copy > .technology-focus-link,
.ab-main .ab-technology .ab-copy > .section-link { margin-top:12px; }
@media(max-width:640px) {
 .section-link.section-cta-desktop { display:none; }
 .section-link.section-cta-mobile { display:inline-flex;align-self:start;justify-self:start;margin:12px 0 0; }
 .products-main .pr-brand { row-gap:0; }
 .products-main .pr-brand .pr-intro { margin-top:16px; }
 .products-main .pr-brand .section-cta-mobile { grid-row:3;margin-top:12px; }
 .products-main .pr-brand .pr-technologies { grid-row:4;margin-top:16px; }
 .ab-approach .ab-process { margin-top:32px; }
}
