/* Service section rules. */
:where(.ig-section-service, .ig-section-services) .ig-section-card-title {
  justify-self: stretch;
  font-size: var(--heading-3-font-size, var(--section-card-title-size, 1.125rem));
  text-align: center;
}
:where(.ig-section-service, .ig-section-services) .ig-section-description {
  text-align: start;
}
:where(.ig-section-service-v104, .ig-section-services-v104) :is(.ig-section-card, .ig-section-media) {
  overflow: hidden;
}

:where(.ig-section-service-v104, .ig-section-services-v104) :where(.ig-section-card) > .ig-section-media {
  border-radius: var(--section-card-radius) var(--section-card-radius) 0 0;
}
:where(.ig-section-service-v104, .ig-section-services-v104) :where(.ig-section-media) > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
:where(.ig-section-service-v104, .ig-section-services-v104) :where(.ig-section-card) .ig-section-card-heading-icon {
  z-index: 3;
  display: grid;
  width: calc(var(--spacing-2xl) * 2);
  height: calc(var(--spacing-2xl) * 2);
  align-self: center;
  justify-self: center;
  place-items: center;
  border: 1px solid var(--section-card-border-subtle);
  border-radius: var(--radius-full);
  background: var(--section-card-background);
  color: var(--section-card-meta, var(--color-text-primary));
}
:where(.ig-section-service-v104, .ig-section-services-v104) :where(.ig-section-card .ig-section-card-heading-icon) > svg {
  width: var(--spacing-2xl);
  height: var(--spacing-2xl);
}
:where(.ig-section-service-v104, .ig-section-services-v104) :is(.ig-section-card-title, .ig-section-card-description) {
  align-self: center;
  justify-self: stretch;
  text-align: center;
}

/* Content-sized rows keep wrapping copy clear of the icon and action. */
:where(.ig-section-service-v104, .ig-section-services-v104) .ig-section-card {
  block-size: auto;
  row-gap: var(--spacing-sm);
  padding-block-end: var(--spacing-lg);
}
:where(.ig-section-service-v104, .ig-section-services-v104) :where(.ig-section-card) > .ig-section-media {
  aspect-ratio: 16 / 9;
  block-size: auto;
}
:where(.ig-section-service-v104, .ig-section-services-v104) .ig-section-card-title {
  font-size: var(--section-card-title-size, 1.5rem);
  block-size: auto;
}
:where(.ig-section-service-v104, .ig-section-services-v104) .ig-section-card-description {
  block-size: auto;
  font-size: max(1rem, var(--section-card-description-size, 1rem));
}
:where(.ig-section-service-v104, .ig-section-services-v104) :where(.ig-section-card) .ig-section-card-heading-icon {
  inline-size: 4rem;
  block-size: 4rem;
  margin-block-start: -2rem;
}
:where(.ig-section-service-v104, .ig-section-services-v104) :where(.ig-section-card .ig-section-card-heading-icon) > svg {
  inline-size: 2rem;
  block-size: 2rem;
}

/* viewport: tablet */
@media (min-width: 769px) and (width < 1025px) {
  :where(.ig-section-service-v104, .ig-section-services-v104) > .ig-grid-container {
    grid-template-rows: auto auto var(--spacing-lg) auto var(--spacing-xl) auto var(--spacing-lg) auto var(--spacing-lg) auto !important;
  }
  :where(.ig-section-service-v104, .ig-section-services-v104) > .ig-grid-container > .ig-section-eyebrow {
    grid-row: 1 / 2 !important;
  }
  :where(.ig-section-service-v104, .ig-section-services-v104) > .ig-grid-container > .ig-section-title {
    grid-row: 2 / 3 !important;
  }
  :where(.ig-section-service-v104, .ig-section-services-v104) > .ig-grid-container > .ig-section-subtitle {
    grid-row: 4 / 5 !important;
  }
  :where(.ig-section-service-v104, .ig-section-services-v104) .ig-section-card:nth-of-type(odd) {
    grid-column: 1 / 25 !important;
  }
  :where(.ig-section-service-v104, .ig-section-services-v104) .ig-section-card:nth-of-type(even) {
    grid-column: 27 / 51 !important;
  }
  :where(.ig-section-service-v104, .ig-section-services-v104) .ig-section-card:nth-of-type(-n + 2) {
    grid-row: 6 / 7 !important;
  }
  :where(.ig-section-service-v104, .ig-section-services-v104) .ig-section-card:nth-of-type(n + 3):nth-of-type(-n + 4) {
    grid-row: 8 / 9 !important;
  }
  :where(.ig-section-service-v104, .ig-section-services-v104) .ig-section-card:nth-of-type(n + 5) {
    grid-row: 10 / 11 !important;
  }
}
:where(.ig-section-service-v102) .ig-section-card-title {
  justify-self: stretch;
  text-align: left;
}
.ig-section-service-v102 {
  --section-title-block-alignment: start;
  --section-title-inline-alignment: start;
  --section-title-content-alignment: start;
  --section-title-text-alignment: left;
}

:where(.ig-section-service-v103) :where(.ig-section-instago-features) .ig-section-card-title {
  max-inline-size: none;
}

/* Reusable card and table structure. Themes supply only semantic tokens. */
:where(.ig-section-cards) .ig-section-card {
  border: 1px solid var(--section-card-border);
  background: var(--section-card-background);
  box-shadow: var(--section-card-hover-shadow);
  transition: border-color var(--motion-base) var(--motion-ease-standard), box-shadow var(--motion-base) var(--motion-ease-standard), transform var(--motion-base) var(--motion-ease-standard);
}
:where(.ig-section-cards) .ig-section-card:hover {
  border-color: var(--color-accent);
  transform: translateY(-2px);
}
:where(.ig-section-cards) .ig-section-card:has(> .ig-section-card-title) {
  overflow: hidden;
  border: 1px solid var(--section-card-border-subtle);
  border-radius: var(--section-card-radius);
  background: var(--section-card-background);
  color: var(--section-card-description);
}
:where(.ig-section-cards .ig-section-card:has(> .ig-section-card-title)) > .ig-section-card-title {
  align-self: center;
  color: var(--section-card-title);
}
:where(.ig-section-cards .ig-section-card > i) > svg {
  inline-size: 24px;
  block-size: 24px;
}
:where(.ig-section-cards) .ig-section-card-description {
  max-inline-size: 100%;
  color: var(--section-card-description);
  text-align: start;
  overflow-wrap: anywhere;
  text-wrap: pretty;
}
:where(.ig-section-cards .ig-section-card:has(> .ig-section-card)) > .ig-section-card {
  border-radius: 0;
  box-shadow: none;
}
:where(.ig-section-cards .ig-section-card:has(> .ig-section-card)) > .ig-section-card:first-child {
  border-radius: var(--section-card-radius) var(--section-card-radius) 0 0;
}
:where(.ig-section-cards .ig-section-card:has(> .ig-section-card)) > .ig-section-card:last-child {
  border-radius: 0 0 var(--section-card-radius) var(--section-card-radius);
}
:where(.ig-section-cards) .ig-section-card:has(> .ig-section-card) {
  inline-size: min(60%, 1180px);
  justify-self: center;
}
:where(.ig-section-cards) .ig-section-chip {
  display: grid;
  place-items: center;
  padding: var(--spacing-xs) var(--spacing-sm);
}
:where(.ig-section-cards) .ig-section-service-table {
  overflow: hidden;
  background: var(--section-card-background);
}
:where(.ig-section-cards) .ig-section-service-table-cell {
  display: grid;
  align-items: center;
}
:where(.ig-section-cards) .ig-section-service-table-cell-start {
  justify-items: start;
}
:where(.ig-section-cards) .ig-section-service-table-cell-center {
  justify-items: center;
  text-align: center;
}
:where(.ig-section-cards) .ig-section-service-table-cell-end {
  justify-items: end;
  text-align: end;
}
/* viewport: mobile */
@media (width < 769px) {
  :where(.ig-section-service-v104, .ig-section-services-v104) .ig-section-card {
    grid-template-rows: auto auto auto repeat(4, minmax(1.5rem, auto)) auto !important;
  }
  :where(.ig-section-service-v104, .ig-section-services-v104) :where(.ig-section-card) .ig-section-card-heading-icon {
    inline-size: calc(var(--spacing-lg) * 2);
    min-inline-size: calc(var(--spacing-lg) * 2);
    block-size: calc(var(--spacing-lg) * 2);
  }
  :where(.ig-section-cards) .ig-section-card:has(> .ig-section-card) {
    inline-size: 100%;
  }
}

:where(.ig-section-cards-v5) .ig-section-description {
  text-align: start;
}

:where(.ig-section-cards-v6) .ig-section-card-description {
  display: flex;
  height: 100%;
  min-height: 0;
  align-items: center;
  justify-content: center;
  text-align: center;
}
:where(.ig-section-service-v6, .ig-section-cards-v6) img.ig-section-media {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
}
:where(.ig-section-cards-v6) .ig-section-meta-row {
  grid-template-columns: var(--section-card-heading-icon-size, 1.5rem) max-content;
  justify-content: center;
}
.ig-section-service-v100,
.ig-section-service-v101 {
  --section-title-block-alignment: start;
}
.ig-section-service-v100 {
  --section-title-inline-alignment: start;
  --section-title-content-alignment: flex-start;
  --section-title-text-alignment: left;
}
.ig-section-service-v101 {
  --section-title-inline-alignment: stretch;
  --section-title-content-alignment: flex-start;
  --section-title-text-alignment: left;
}
:where(.ig-section-service-v101) :where(.ig-section-card) :is(.ig-section-card-index, .ig-section-card-title, .ig-section-card-description) {
  align-self: center;
  justify-self: stretch;
  text-align: center;
}
:where(.ig-section-service-v100) .ig-section-card {
  text-align: left;
}
:where(.ig-section-service-v100) .ig-section-card-index {
  font-size: clamp(2.4rem, 4vw, 4rem);
}
:where(.ig-section-service-v100) .ig-section-card-title,
:where(.ig-section-service-v102) :where(.ig-section-card) :is(.ig-section-card-index, .ig-section-card-title, .ig-section-card-description) {
  justify-self: stretch;
  text-align: left;
}

/* viewport: mobile */
@media (width < 769px) {
  :where(.theme-startup) :where(.ig-section-service-v100) :where(.ig-section-card)
    :is(.ig-section-card-index, .ig-section-card-title, .ig-section-card-description) {
    align-self: stretch;
    text-align: start;
  }
}

/* An editorial introduction and nine asymmetric, independently editable cards. */
.ig-section-service-v124 {
  --section-card-title-size: clamp(1.25rem, 1.8vw, 1.75rem);
  --section-card-description-size: .875rem;
  --section-card-index-size: .75rem;
}
:where(.ig-section-service-v124 > .ig-grid-container) > .ig-section-media {
  object-fit: cover;
  block-size: 100%;
  min-block-size: 0;
  border: 0;
  box-shadow: none;
}
:where(.ig-section-service-v124) .ig-section-card {
  padding: 0;
  border: 0;
  min-inline-size: 0;
  box-shadow: none;
}
:where(.ig-section-service-v124) :where(.ig-section-card) > .ig-section-media {
  block-size: 100%;
  min-block-size: 0;
  object-fit: cover;
  border-radius: 0 var(--section-card-radius) var(--section-card-radius) 0;
}
:where(.ig-section-service-v124) .ig-section-card-title,
:where(.ig-section-service-v124) .ig-section-card-description {
  align-self: start;
  text-align: start;
}
section.ig-section.ig-section-service-v124 .ig-section-card > a.ig-section-action {
  justify-content: center;
  inline-size: var(--control-height);
  max-inline-size: 100%;
  block-size: var(--control-height);
  min-inline-size: 0;
  min-block-size: 0;
  box-sizing: border-box;
  align-self: end;
  justify-self: start;
  padding: 0;
  border: 1px solid currentColor;
  border-radius: var(--button-radius);
}
:where(.ig-section-service-v124) :where(.ig-section-card .ig-section-action) > i {
  inline-size: var(--spacing-lg);
  justify-self: start;
}
:where(.ig-section-service-v124) :where(.ig-section-card .ig-section-action) svg {
  inline-size: var(--spacing-lg);
  block-size: var(--spacing-lg);
}

:where(.ig-section-service-v124) .ig-section-eyebrow {
  color: var(--section-eyebrow-color);
  text-align: start;
}
/* viewport: belowDesktop */
@media (width < 1025px) {
  :where(.ig-section-service-v124 > .ig-grid-container) > .ig-section-media {
    block-size: 14rem;
  }
  :where(.ig-section-service-v124) .ig-section-card {
    block-size: 18rem;
    min-block-size: 18rem;
  }
  :where(.ig-section-service-v124 > .ig-grid-container) > .ig-section-action {
    inline-size: fit-content;
    align-self: start;
  }
  :where(.ig-section-service-v124) .ig-section-description {
    align-self: stretch;
    block-size: auto;
  }
  :where(.ig-section-service-v124) .ig-section-title {
    block-size: auto;
  }
}

/* Product feedback preserves the reveal animation's transform. */
:where(.ig-section-service-v124) .ig-section-card {
  transition: translate var(--motion-base) var(--motion-ease-standard),
    box-shadow var(--motion-base) var(--motion-ease-standard);
}
@media (hover: hover) and (pointer: fine) {
  :where(.ig-section-service-v124) .ig-section-card:hover {
    translate: 0 -.25rem;
    box-shadow: var(--section-card-hover-shadow);
  }
}
:where(.ig-section-service-v124) .ig-section-card:focus-within {
  translate: 0 -.25rem;
  box-shadow: var(--section-card-hover-shadow);
}
@media (prefers-reduced-motion: reduce) {
  :where(.ig-section-service-v124) .ig-section-card {
    transition: none;
  }
  :where(.ig-section-service-v124) .ig-section-card:is(:hover, :focus-within) {
    translate: none;
  }
}

:where(.ig-section-service-v124) :where(.ig-section-card) > img.ig-section-media[data-media-slot] {
  object-fit: contain !important;
  background: var(--section-card-background);
}
