:root {
  --conn-ink: #071224;
  --conn-muted: #526176;
  --conn-orange: #f45a1d;
  --conn-line: #e7edf5;
  --conn-soft: #fff3ed;
  --conn-shadow: 0 18px 42px rgba(12, 24, 48, 0.08);
}

.connectivity-page {
  background: #fff;
  color: var(--conn-ink);
  overflow-x: hidden;
}

.conn-container {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
}

.conn-hero {
  display: grid;
  grid-template-columns: minmax(520px, 0.92fr) minmax(430px, 1.08fr);
  gap: 24px;
  align-items: center;
  min-height: 600px;
  padding: 66px 0 54px;
}

.conn-pill,
.conn-kicker {
  color: var(--conn-orange);
  font-size: clamp(15px, 1.3vw, 19px);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.025em;
}

.conn-pill {
  width: fit-content;
  margin: 0 0 22px;
  padding: 7px 13px;
  border: 1px solid #ffd3c3;
  border-radius: 999px;
  background: #fff5ef;
}

.conn-hero h1 {
  margin: 0 0 22px;
  font-size: clamp(54px, 5.8vw, 86px);
  line-height: 0.96;
  letter-spacing: 0;
}

.conn-hero h1 span,
.conn-kicker {
  color: var(--conn-orange);
}

.conn-hero .conn-specs {
  margin: 0 0 28px;
  color: #0f6f9c;
  font-size: 14px;
  font-weight: 900;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.conn-hero h2 {
  margin: 0 0 20px;
  font-size: clamp(23px, 2vw, 30px);
  line-height: 1.28;
}

.conn-hero p {
  max-width: 600px;
  margin: 0;
  color: #26344b;
  font-size: 17px;
  line-height: 1.75;
}

.conn-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: center;
  margin-top: 30px;
}

.conn-hero .conn-actions {
  flex-wrap: nowrap;
  gap: 10px;
}

.conn-hero .btn {
  min-height: 42px;
  padding: 0 12px;
  border-radius: 7px;
  font-size: 12px;
}

.conn-survey {
  border-color: var(--conn-orange);
  background: var(--conn-orange);
  color: #fff;
  box-shadow: 0 8px 20px rgba(244, 90, 29, 0.18);
}

.conn-survey:hover {
  background: #dc4210;
  color: #fff;
}

.conn-hero-visual {
  display: flex;
  justify-content: center;
  align-items: center;
}

.conn-hero-visual img {
  width: 100%;
  max-width: 760px;
  height: auto;
  display: block;
  object-fit: contain;
  image-rendering: auto;
}

.conn-why {
  display: grid;
  grid-template-columns: 380px 1fr;
  gap: 46px;
  align-items: center;
  padding: 70px 0;
  border-top: 1px solid #f1f4f8;
}

.conn-title-block h2,
.conn-section-head h2,
.conn-process h2,
.conn-hub h2,
.conn-business h2 {
  margin: 0 0 18px;
  font-size: clamp(34px, 3.15vw, 46px);
  line-height: 1.12;
  letter-spacing: 0;
}

.conn-title-block .conn-kicker,
.conn-section-head .conn-kicker,
.conn-advantage > .conn-kicker,
.conn-process > .conn-kicker,
.conn-business > .conn-kicker {
  display: block;
  margin-bottom: 10px;
  color: var(--conn-orange);
  font-size: clamp(18px, 1.65vw, 26px);
  line-height: 1.18;
}

.conn-title-block h2 {
  font-size: clamp(34px, 3vw, 42px);
}

.conn-section-head h2,
.conn-process h2,
.conn-business h2 {
  font-size: clamp(34px, 3vw, 44px);
}

.conn-title-block p,
.conn-benefit-grid p,
.conn-solutions p,
.conn-advantage p,
.conn-process p,
.conn-hub p,
.conn-business p {
  margin: 0;
  color: var(--conn-muted);
  line-height: 1.65;
}

.conn-title-block .btn {
  margin-top: 34px;
}

.conn-benefit-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-left: 1px solid var(--conn-line);
}

.conn-benefit-grid article {
  min-height: 185px;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 12px;
  padding: 24px;
  border-right: 1px solid var(--conn-line);
  border-bottom: 1px solid var(--conn-line);
  text-align: center;
}

.conn-icon {
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  border: 2px solid var(--conn-orange);
  border-radius: 50%;
  color: transparent;
  background: #fff;
  font-size: 0;
}

.conn-icon::before {
  content: "";
  width: 30px;
  height: 30px;
  display: block;
  background: var(--conn-orange);
  mask: var(--icon) center / contain no-repeat;
}

.conn-icon {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3 7 3v5c0 5-3 8-7 10-4-2-7-5-7-10V6z'/%3E%3C/svg%3E");
}

.conn-icon:nth-child(n)::before {
  mask-image: var(--icon);
}

.conn-benefit-grid article:nth-child(2) .conn-icon,
.conn-advantage-row article:nth-child(3) .conn-icon,
.conn-process-grid article:nth-child(4) .conn-icon {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 17a8 8 0 1 1 16 0'/%3E%3Cpath d='m12 17 4-8'/%3E%3C/svg%3E");
}

.conn-benefit-grid article:nth-child(3) .conn-icon {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='10' width='14' height='10' rx='2'/%3E%3Cpath d='M8 10V7a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E");
}

.conn-benefit-grid article:nth-child(4) .conn-icon {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v10M8.5 10c0-1.4 1.4-2.4 3.5-2.4s3.5 1 3.5 2.4-1.4 2.3-3.5 2.3-3.5 1-3.5 2.4 1.4 2.3 3.5 2.3 3.5-.9 3.5-2.3'/%3E%3C/svg%3E");
}

.conn-benefit-grid article:nth-child(5) .conn-icon {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 17h8a5 5 0 0 0 0-10 6 6 0 0 0-11 3 4 4 0 0 0 3 7z'/%3E%3C/svg%3E");
}

.conn-benefit-grid article:nth-child(6) .conn-icon,
.conn-business-row article:nth-child(2) .conn-icon {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19h16M7 16l4-4 3 3 5-7'/%3E%3C/svg%3E");
}

.conn-advantage-row article:nth-child(2) .conn-icon,
.conn-process-grid article:nth-child(3) .conn-icon {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='6' r='2'/%3E%3Cpath d='M12 8v6M6 18h12M6 18l6-4 6 4'/%3E%3C/svg%3E");
}

.conn-advantage-row article:nth-child(4) .conn-icon {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 13v-1a7 7 0 0 1 14 0v1'/%3E%3Crect x='3' y='12' width='4' height='6' rx='2'/%3E%3Crect x='17' y='12' width='4' height='6' rx='2'/%3E%3Cpath d='M17 18c0 2-2 3-5 3'/%3E%3C/svg%3E");
}

.conn-advantage-row article:nth-child(5) .conn-icon {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18M12 3c3 3 3 15 0 18M12 3c-3 3-3 15 0 18'/%3E%3C/svg%3E");
}

.conn-process-grid article:nth-child(1) .conn-icon {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m16 16 4 4'/%3E%3C/svg%3E");
}

.conn-process-grid article:nth-child(2) .conn-icon {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 4h8l2 2v14H6V6z'/%3E%3Cpath d='M9 10h6M9 14h6'/%3E%3C/svg%3E");
}

.conn-process-grid article:nth-child(5) .conn-icon {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2c4 2 6 5 6 9l-6 6-6-6c0-4 2-7 6-9z'/%3E%3Cpath d='M9 20h6'/%3E%3C/svg%3E");
}

.conn-process-grid article:nth-child(6) .conn-icon {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19V5h16v14zM8 15l3-3 2 2 3-5'/%3E%3C/svg%3E");
}

.conn-process-grid article:nth-child(7) .conn-icon,
.conn-business-row article:nth-child(4) .conn-icon {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 12h3l2 2 3-3h3'/%3E%3Cpath d='M7 16 4 13l3-3M17 16l3-3-3-3'/%3E%3C/svg%3E");
}

.conn-business-row article:nth-child(1) .conn-icon,
.conn-business-row article:nth-child(3) .conn-icon {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 21V8l8-4 8 4v13'/%3E%3Cpath d='M9 21v-7h6v7M8 10h.01M12 10h.01M16 10h.01'/%3E%3C/svg%3E");
}

.conn-benefit-grid h3,
.conn-solutions h3,
.conn-advantage h3,
.conn-process h3,
.conn-business h3 {
  margin: 0;
  font-size: 17px;
  line-height: 1.25;
}

.conn-section-head {
  padding: 52px 0 24px;
  text-align: center;
  border-top: 1px solid #f1f4f8;
}

.conn-solutions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.conn-solutions article {
  overflow: hidden;
  border: 1px solid var(--conn-line);
  border-radius: 8px;
  background: #fff;
  box-shadow: var(--conn-shadow);
}

.conn-solutions img {
  width: 100%;
  height: 124px;
  display: block;
  object-fit: cover;
}

.conn-solutions div {
  padding: 20px;
}

.conn-solutions h3 {
  color: var(--conn-orange);
  font-size: 22px;
  text-transform: uppercase;
}

.conn-solutions p {
  margin-top: 12px;
  font-size: 14px;
}

.conn-solutions a {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  margin-top: 18px;
  padding: 0 18px;
  border: 1px solid #ffb299;
  border-radius: 6px;
  color: var(--conn-orange);
  font-weight: 900;
}

.conn-center-action {
  display: flex;
  justify-content: center;
  padding: 16px 0 42px;
}

.conn-advantage {
  padding: 46px 0;
  text-align: center;
  border-top: 1px solid #f1f4f8;
  border-bottom: 1px solid #f1f4f8;
}

.conn-advantage-row {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
  margin-top: 18px;
}

.conn-advantage-row article {
  display: grid;
  justify-items: center;
  gap: 12px;
  min-height: 170px;
  padding: 18px 22px;
  border-right: 1px solid var(--conn-line);
}

.conn-advantage-row article:last-child {
  border-right: 0;
}

.conn-process {
  padding: 54px 0 62px;
  text-align: center;
}

.conn-process-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 12px;
  margin-top: 52px;
}

.conn-process-grid article {
  position: relative;
  min-height: 196px;
  padding: 46px 14px 20px;
  border: 1px solid var(--conn-line);
  border-radius: 8px;
  background: #fff;
  box-shadow: var(--conn-shadow);
}

.conn-process-grid article::after {
  content: "";
  position: absolute;
  top: 18px;
  right: -12px;
  width: 24px;
  height: 1px;
  background: #9aa4b2;
}

.conn-process-grid article:last-child::after {
  display: none;
}

.conn-process-grid b {
  position: absolute;
  top: -22px;
  left: 50%;
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  transform: translateX(-50%);
  border: 3px solid #fff;
  border-radius: 50%;
  background: var(--conn-orange);
  color: #fff;
  box-shadow: var(--conn-shadow);
}

.conn-process-grid .conn-icon {
  width: 48px;
  height: 48px;
  margin: 0 auto 12px;
  border: 0;
}

.conn-process p {
  font-size: 13px;
}

.conn-process-actions {
  justify-content: center;
}

.conn-hub {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 46px;
  align-items: center;
  padding: 58px 0;
  border-top: 1px solid #f1f4f8;
}

.conn-hub .btn {
  margin-top: 26px;
}

.conn-hub-diagram {
  display: grid;
  grid-template-columns: 1fr 210px 1fr;
  gap: 18px;
  align-items: center;
}

.conn-hub-diagram ul {
  display: grid;
  gap: 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.conn-hub-diagram li {
  position: relative;
  padding: 12px 14px;
  border-bottom: 1px dashed #cfd6df;
  color: #111827;
  font-weight: 800;
}

.conn-hub-diagram strong {
  width: 210px;
  height: 210px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--conn-orange);
  border-radius: 50%;
  color: #111827;
  font-size: 24px;
  line-height: 1.1;
  text-align: center;
  padding: 22px;
}

.conn-hub-diagram small {
  display: block;
  margin-top: 10px;
  color: var(--conn-muted);
  font-size: 14px;
  font-weight: 600;
}

.conn-business {
  padding: 50px 0 80px;
  text-align: center;
  border-top: 1px solid #f1f4f8;
}

.conn-business-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin-top: 24px;
}

.conn-business-row article {
  display: grid;
  grid-template-columns: 70px 1fr;
  gap: 16px;
  align-items: center;
  padding: 18px 24px;
  border-right: 1px solid var(--conn-line);
  text-align: left;
}

.conn-business-row article:last-child {
  border-right: 0;
}

.conn-business-row .conn-icon {
  grid-row: span 2;
}

@media (max-width: 1180px) {
  .conn-hero,
  .conn-why,
  .conn-hub {
    grid-template-columns: 1fr;
  }

  .conn-hero .conn-actions {
    flex-wrap: wrap;
  }

  .conn-benefit-grid,
  .conn-solutions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .conn-process-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .conn-advantage-row,
  .conn-business-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .conn-container {
    width: min(100% - 28px, 1180px);
  }

  .conn-hero {
    min-height: 0;
    padding-top: 42px;
  }

  .conn-hero h1 {
    font-size: 48px;
  }

  .conn-actions .btn {
    width: 100%;
    justify-content: center;
  }

  .conn-benefit-grid,
  .conn-solutions,
  .conn-process-grid,
  .conn-advantage-row,
  .conn-business-row,
  .conn-hub-diagram {
    grid-template-columns: 1fr;
  }

  .conn-advantage-row article,
  .conn-business-row article {
    border-right: 0;
    border-bottom: 1px solid var(--conn-line);
  }

  .conn-process-grid article::after {
    display: none;
  }

  .conn-hub-diagram strong {
    width: 190px;
    height: 190px;
    margin: 0 auto;
  }
}
