/* main.bundle.css — generated by scripts/build-css.mjs — do not edit */

/* ===== sections/solutions.css ===== */
.n7-solutions {
  position: relative;
  box-sizing: border-box;
  min-height: max(var(--n7-solutions-stage-height), var(--n7-solutions-stage-min-height));
  padding: 0;
  background: var(--n7-bg);
  overflow-x: clip;
  overflow-y: visible;
}

.n7-solutions::after {
  content: "";
  position: absolute;
  right: -80px;
  top: 42%;
  width: var(--n7-solutions-glow-size);
  height: var(--n7-solutions-glow-size);
  transform: translateY(-50%);
  border-radius: 50%;
  background: radial-gradient(
    circle,
    color-mix(in srgb, var(--n7-blue-013ACF) 22%, transparent) 0%,
    transparent 72%
  );
  pointer-events: none;
}

.n7-solutions__layout {
  position: relative;
  z-index: 1;
  min-height: max(var(--n7-solutions-stage-height), var(--n7-solutions-stage-min-height));
}

.n7-solutions__intro {
  position: absolute;
  top: var(--n7-solutions-grid-y);
  left: 0;
  width: var(--n7-solutions-intro-width);
  max-width: 100%;
}

.n7-solutions__title {
  margin: 0 0 var(--n7-solutions-title-gap);
  font-family: var(--n7-font-archivo);
  font-weight: 500;
  font-size: var(--n7-solutions-title-size);
  line-height: var(--n7-solutions-title-line);
  letter-spacing: var(--n7-solutions-title-tracking);
  color: var(--n7-ice-E9F4F9);
}

.n7-solutions__cta {
  box-sizing: border-box;
  width: var(--n7-request-demo-width);
  height: var(--n7-request-demo-height);
  min-width: var(--n7-request-demo-width);
  min-height: var(--n7-request-demo-height);
  padding: 0;
  border-radius: var(--n7-solutions-cta-radius);
  font-size: var(--n7-hero-btn-font-size);
  line-height: 1;
  letter-spacing: 0;
  color: var(--n7-ice-E9F4F9);
  border: 1px solid rgba(233, 244, 249, 0.85);
  flex-shrink: 0;
}

.n7-solutions__grid {
  position: absolute;
  top: var(--n7-solutions-grid-y);
  /* Figma x=730 on 1440 frame → 650 inside padded container; clamp on smaller viewports */
  left: min(
    calc(var(--n7-solutions-grid-x) - var(--n7-container-pad)),
    calc(100% - var(--n7-solutions-grid-width))
  );
  width: min(var(--n7-solutions-grid-width), 100%);
  max-width: 100%;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: var(--n7-solutions-grid-gap-x);
  row-gap: var(--n7-solutions-grid-gap-y);
  align-items: start;
}

.n7-solution-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  max-width: var(--n7-solutions-card-width);
}

.n7-solution-card__top {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  width: 100%;
  margin-bottom: var(--n7-solutions-icon-gap);
}

.n7-solution-card__badge {
  flex-shrink: 0;
  font-family: var(--n7-font-archivo);
  font-size: var(--n7-solutions-badge-size);
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #E9F4F9;
  opacity: var(--n7-solutions-badge-opacity);
}

.n7-solution-card__icon {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-shrink: 0;
  line-height: 0;
}

.n7-solution-card__icon img {
  width: auto;
  height: auto;
  display: block;
}

.n7-solution-card__title {
  margin: 0 0 var(--n7-solutions-card-title-gap);
  font-family: var(--n7-font-Chivo Mono Medium);
  font-weight: 500;
  font-size: var(--n7-solutions-card-title-size);
  line-height: 1.25;
  color: var(--n7-ice-E9F4F9);
}

.n7-solution-card__desc {
  margin: 0;
  width: 100%;
  max-width: var(--n7-solutions-card-width);
  font-family: var(--n7-font-archivo);
  font-weight: 400;
  font-size: var(--n7-solutions-desc-size);
  line-height: var(--n7-solutions-desc-line);
  color: var(--n7-solutions-desc-color);
}

.n7-solution-card__link {
  display: inline-flex;
  align-items: center;
  line-height: 0;
  width: var(--n7-solutions-link-width);
  height: var(--n7-solutions-link-height);
  margin-top: var(--n7-solutions-link-gap);
  text-decoration: none;
  transition: opacity 0.2s ease;
}

.n7-solution-card__link img {
  display: block;
  width: var(--n7-solutions-link-width);
  height: var(--n7-solutions-link-height);
}

.n7-solution-card__link:hover {
  opacity: 0.85;
}

/* ===== responsive/solutions.css ===== */
/*
 * Solutions — tablet & mobile only (≥992px unchanged in solutions.css)
 */

@media (max-width: 991px) {
  .n7-solutions {
    height: auto;
    min-height: 0;
    padding: clamp(32px, 8vw, 48px) 0 clamp(48px, 10vw, 64px);
    overflow-x: clip;
    position: relative;
    z-index: 2;
    isolation: isolate;
  }

  .n7-solutions::after {
    right: -40px;
    top: 18%;
    width: min(var(--n7-solutions-glow-size), 60vw);
    height: min(var(--n7-solutions-glow-size), 60vw);
    opacity: 0.85;
  }

  .n7-solutions .container {
    padding-left: clamp(20px, 5vw, 32px);
    padding-right: clamp(20px, 5vw, 32px);
  }

  .n7-solutions__layout {
    position: relative;
    min-height: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: clamp(36px, 8vw, 48px);
  }

  /* Reset desktop absolute anchors (same issue as Trusted By) */
  .n7-solutions__intro {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    bottom: auto;
    width: 100%;
    max-width: min(var(--n7-solutions-intro-width), 100%);
    margin: 0 auto;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(20px, 5vw, var(--n7-solutions-title-gap));
  }

  .n7-solutions__title {
    margin: 0;
    font-size: clamp(28px, 7.2vw, var(--n7-solutions-title-size));
    line-height: 1.2;
    letter-spacing: clamp(-0.35px, -0.01em, var(--n7-solutions-title-tracking));
    max-width: 22ch;
  }

  .n7-solutions__cta {
    font-size: var(--n7-hero-btn-font-size);
  }

  .n7-solutions__grid {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    bottom: auto;
    width: 100%;
    max-width: 100%;
    display: grid;
    grid-template-columns: 1fr;
    row-gap: clamp(32px, 7vw, 40px);
    column-gap: 0;
  }

  .n7-solution-card {
    width: 100%;
    max-width: 100%;
    align-items: flex-start;
    text-align: left;
  }

  .n7-solution-card__top {
    margin-bottom: clamp(18px, 4vw, var(--n7-solutions-icon-gap));
  }

  .n7-solution-card__icon img {
    max-height: clamp(32px, 8vw, var(--n7-solutions-icon-size));
    width: auto;
    height: auto;
  }

  .n7-solution-card__title {
    margin-bottom: clamp(20px, 4.5vw, var(--n7-solutions-card-title-gap));
    font-size: clamp(17px, 4.2vw, var(--n7-solutions-card-title-size));
  }

  .n7-solution-card__desc {
    margin-bottom: 0;
    max-width: 100%;
    font-size: clamp(14px, 3.6vw, var(--n7-solutions-desc-size));
    line-height: var(--n7-solutions-desc-line);
  }

  .n7-solution-card__link {
    margin-top: var(--n7-solutions-link-gap);
  }
}

/* Tablet landscape — 2-column cards when space allows */
@media (min-width: 600px) and (max-width: 991px) {
  .n7-solutions__intro {
    max-width: 520px;
  }

  .n7-solutions__title {
    max-width: none;
  }

  .n7-solutions__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: clamp(24px, 5vw, var(--n7-solutions-grid-gap-x));
    row-gap: clamp(36px, 6vw, var(--n7-solutions-grid-gap-y));
  }
}

/* Mobile */
@media (max-width: 767px) {
  .n7-solutions {
    padding-top: 36px;
    padding-bottom: 40px;
  }

  .n7-solutions__layout {
    gap: 32px;
  }

  .n7-solutions__title {
    font-size: clamp(24px, 6.8vw, 30px);
    max-width: none;
  }

  .n7-solutions__cta {
    margin-inline: auto;
  }

  .n7-solutions__grid {
    grid-template-columns: 1fr;
    row-gap: 36px;
  }

  .n7-solution-card__link {
    min-height: 44px;
    align-items: center;
  }
}

/* Small phones */
@media (max-width: 479px) {
  .n7-solutions .container {
    padding-left: 16px;
    padding-right: 16px;
  }

  .n7-solutions {
    padding-top: 28px;
    padding-bottom: 36px;
  }

  .n7-solutions::after {
    display: none;
  }

  .n7-solutions__title {
    font-size: clamp(22px, 6.4vw, 26px);
  }

  .n7-solutions__grid {
    row-gap: 32px;
  }

  .n7-solution-card__title {
    font-size: 16px;
  }

  .n7-solution-card__desc {
    font-size: 14px;
  }
}

/* ===== sections/core-banking.css ===== */
.n7-core-banking {
  position: relative;
  padding: 0;
  background: var(--n7-bg);
  overflow: hidden;
}

.n7-core-banking__marks {
  position: absolute;
  left: var(--n7-core-banking-mark-x);
  bottom: var(--n7-core-banking-mark-bottom);
  transform: translateX(-50%);
  z-index: 0;
  font-family: var(--n7-font-archivo);
  font-weight: 500;
  font-size: var(--n7-core-banking-mark-size);
  line-height: 0.82;
  letter-spacing: -0.04em;
  pointer-events: none;
  user-select: none;
}

.n7-core-banking__mark-part {
  color: transparent;
  -webkit-text-stroke: 1.5px var(--n7-core-banking-mark-stroke);
}

.n7-core-banking__mark-part--c {
  position: absolute;
  right: 100%;
  bottom: 0;
  clip-path: inset(0 0 50% 0);
  transform: translateX(calc(-1 * var(--n7-core-banking-mark-c-shift)));
  margin-right: -0.06em;
}

.n7-core-banking__layout {
  position: relative;
  z-index: 1;
  min-height: var(--n7-core-banking-stage-height);
  display: flex;
  align-items: flex-start;
}

.n7-core-banking__content {
  position: absolute;
  top: var(--n7-core-banking-content-y);
  left: 0;
  z-index: 1;
  width: var(--n7-core-banking-content-width);
  height: var(--n7-core-banking-content-height);
  max-width: 100%;
}

.n7-core-banking__title {
  margin: 0 0 var(--n7-core-banking-title-gap);
  width: 100%;
  max-width: 100%;
  font-family: var(--n7-font-archivo);
  font-weight: 500;
  font-size: var(--n7-core-banking-title-size);
  line-height: var(--n7-core-banking-title-line);
  letter-spacing: var(--n7-core-banking-title-tracking);
  color: var(--n7-ice-E9F4F9);
}

.n7-core-banking__sub {
  margin: 0;
  width: var(--n7-core-banking-sub-width);
  height: var(--n7-core-banking-sub-height);
  font-family: var(--n7-font-archivo);
  font-weight: 400;
  font-size: var(--n7-core-banking-sub-size);
  line-height: var(--n7-core-banking-sub-line);
  color: var(--n7-ice-E9F4F9);
  opacity: var(--n7-core-banking-sub-opacity);
}

.n7-core-banking__actions {
  position: absolute;
  top: var(--n7-core-banking-actions-y);
  left: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--n7-core-banking-cta-gap);
}

/* Size from .n7-btn--primary (--n7-request-demo-width / height) */
.n7-core-banking__cta {
  flex-shrink: 0;
}

.n7-core-banking__link {
  display: inline-flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: var(--n7-solutions-link-arrow-gap);
  width: var(--n7-core-banking-link-width);
  height: var(--n7-core-banking-link-height);
  font-family: var(--n7-font);
  font-size: var(--n7-solutions-link-size);
  font-weight: var(--n7-font-medium);
  line-height: 1;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
  color: var(--n7-cyan-01B4FD);
  transition: opacity 0.2s ease;
}

.n7-core-banking__link-text {
  flex-shrink: 0;
  white-space: nowrap;
  line-height: 1;
}

.n7-core-banking__link-word {
  position: relative;
  display: inline-block;
}

.n7-core-banking__link-word::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: calc(-1 * var(--n7-solutions-link-underline-gap));
  width: var(--n7-solutions-link-underline-width);
  height: 1px;
  background-color: currentColor;
}

.n7-core-banking__link-arrow {
  width: var(--n7-solutions-link-arrow-width);
  height: var(--n7-solutions-link-arrow-height);
  flex-shrink: 0;
  display: block;
}

.n7-core-banking__link:hover {
  opacity: 0.85;
}

.n7-core-banking__media {
  position: absolute;
  left: calc(var(--n7-core-banking-media-x) - var(--n7-container-pad));
  top: var(--n7-core-banking-media-y);
  width: var(--n7-core-banking-media-width);
  line-height: 0;
  pointer-events: none;
}

.n7-core-banking__media img {
  width: var(--n7-core-banking-media-width);
  height: var(--n7-core-banking-media-height);
  max-width: none;
  max-height: none;
  display: block;
}

/* ===== responsive/core-banking.css ===== */
/*
 * Core Banking — tablet & mobile (≥992px unchanged in core-banking.css)
 * Clean stacked layout: copy → CTAs → dashboard image.
 */

@media (max-width: 991px) {
  .n7-core-banking {
    padding: clamp(40px, 9vw, 56px) 0 clamp(48px, 10vw, 64px);
    overflow: hidden;
  }

  .n7-core-banking .container {
    padding-left: clamp(20px, 5vw, 32px);
    padding-right: clamp(20px, 5vw, 32px);
  }

  .n7-core-banking__layout {
    position: relative;
    min-height: 0;
    height: auto;
    padding-bottom: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: clamp(28px, 6vw, 40px);
    overflow: visible;
  }

  .n7-core-banking__marks {
    position: absolute;
    left: 50%;
    top: 50%;
    right: auto;
    bottom: auto;
    transform: translate(-50%, -50%);
    z-index: 0;
    font-size: clamp(160px, 42vw, 280px);
    line-height: 0.82;
    opacity: 0.12;
    pointer-events: none;
    user-select: none;
  }

  .n7-core-banking__mark-part--c {
    position: absolute;
    right: 100%;
    bottom: 0;
    clip-path: inset(0 0 50% 0);
    transform: translateX(calc(-1 * var(--n7-core-banking-mark-c-shift)));
    margin-right: -0.06em;
  }

  .n7-core-banking__content {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    bottom: auto;
    z-index: 1;
    width: 100%;
    max-width: min(var(--n7-core-banking-content-width), 100%);
    height: auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: clamp(14px, 3.5vw, 20px);
  }

  .n7-core-banking__title {
    margin: 0;
    width: 100%;
    font-size: clamp(26px, 6.5vw, 40px);
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: var(--n7-ice-E9F4F9);
  }

  .n7-core-banking__sub {
    width: 100%;
    max-width: 36em;
    height: auto;
    margin: 0;
    font-size: clamp(14px, 3.5vw, var(--n7-core-banking-sub-size));
    line-height: 1.45;
    opacity: var(--n7-core-banking-sub-opacity);
  }

  .n7-core-banking__actions {
    position: static;
    top: auto;
    left: auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--n7-core-banking-cta-gap);
    width: 100%;
    margin-top: clamp(8px, 2vw, 16px);
  }

  .n7-core-banking__cta {
    font-size: var(--n7-hero-btn-font-size);
  }

  .n7-core-banking__link {
    min-height: 44px;
    align-items: center;
    font-size: clamp(12px, 3vw, var(--n7-solutions-link-size));
  }

  .n7-core-banking__media {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    bottom: auto;
    z-index: 1;
    width: 100%;
    max-width: min(var(--n7-core-banking-media-width), 100%);
    margin: 0 auto;
    line-height: 0;
    pointer-events: auto;
  }

  .n7-core-banking__media img {
    width: 100%;
    height: auto;
    max-width: 100%;
    display: block;
    object-fit: contain;
  }
}

@media (max-width: 767px) {
  .n7-core-banking {
    padding-top: 36px;
    padding-bottom: 40px;
  }

  .n7-core-banking__layout {
    gap: 24px;
  }

  .n7-core-banking__title {
    font-size: clamp(22px, 6.2vw, 28px);
  }

  .n7-core-banking__actions {
    align-items: stretch;
    width: 100%;
  }

  .n7-core-banking__cta {
    margin-inline: auto;
  }

  .n7-core-banking__marks {
    font-size: clamp(120px, 50vw, 180px);
    opacity: 0.1;
  }
}

@media (max-width: 479px) {
  .n7-core-banking .container {
    padding-left: 16px;
    padding-right: 16px;
  }

  .n7-core-banking__title br {
    display: none;
  }

  .n7-core-banking__marks {
    display: none;
  }

  .n7-core-banking__sub {
    font-size: 14px;
  }
}

/* ===== sections/efficient-core.css ===== */
.n7-efficient-core {
  position: relative;
  box-sizing: border-box;
  min-height: var(--n7-efficient-core-stage-height);
  padding: 0;
  background: var(--n7-bg);
  overflow-x: clip;
  overflow-y: visible;
}

/* Frame 80 — media + 277 gap + content (absolute; fluid below 1440) */
.n7-efficient-core__layout {
  position: relative;
  min-height: var(--n7-efficient-core-stage-height);
}

.n7-efficient-core__media {
  position: absolute;
  left: var(--n7-efficient-core-media-layout-x);
  top: var(--n7-efficient-core-media-y);
  width: var(--n7-efficient-core-media-width);
  height: var(--n7-efficient-core-media-height);
  margin: 0;
  padding: 0;
  border: 0;
  overflow: hidden;
  pointer-events: none;
}

.n7-efficient-core__media img {
  position: absolute;
  left: 0;
  top: 0;
  width: var(--n7-efficient-core-media-native-width);
  height: var(--n7-efficient-core-media-native-height);
  max-width: none;
  max-height: none;
  display: block;
  margin: 0;
  padding: 0;
  border: 0;
  transform: scale(var(--n7-efficient-core-media-scale-x), var(--n7-efficient-core-media-scale-y));
  transform-origin: 0 0;
}

/* 277px from media right @ 1440; clamp left + width on narrower viewports */
.n7-efficient-core__content {
  --n7-ec-content-left: min(
    var(--n7-efficient-core-content-layout-x),
    calc(100% - var(--n7-efficient-core-content-width))
  );
  position: absolute;
  left: var(--n7-ec-content-left);
  top: var(--n7-efficient-core-content-y);
  width: min(
    var(--n7-efficient-core-content-width),
    calc(100% - var(--n7-ec-content-left))
  );
  min-height: var(--n7-efficient-core-content-min-height);
  box-sizing: border-box;
  overflow: visible;
}

.n7-efficient-core__title {
  margin: 0;
  font-family: var(--n7-font-archivo);
  font-weight: 500;
  font-size: var(--n7-efficient-core-title-size);
  line-height: var(--n7-efficient-core-title-line);
  letter-spacing: var(--n7-efficient-core-title-tracking);
  color: var(--n7-ice-E9F4F9);
}

.n7-efficient-core__checklist {
  margin-top: var(--n7-efficient-core-checklist-offset-top);
  width: 100%;
  min-height: var(--n7-efficient-core-checklist-height);
}

.n7-efficient-core__subtitle {
  margin: 0 0 var(--n7-efficient-core-subtitle-gap);
  font-family: var(--n7-font-archivo);
  font-weight: 600;
  font-size: var(--n7-efficient-core-subtitle-size);
  line-height: 1.3;
  color: var(--n7-ice-E9F4F9);
}

.n7-efficient-core__lists {
  position: relative;
  width: 100%;
  min-height: calc(
    var(--n7-efficient-core-checklist-height) - var(--n7-efficient-core-subtitle-size) -
      var(--n7-efficient-core-subtitle-gap)
  );
  display: grid;
  grid-template-columns: minmax(0, var(--n7-efficient-core-list-left-width))
    minmax(0, var(--n7-efficient-core-list-right-width));
  column-gap: var(--n7-efficient-core-list-col-gap);
  align-items: start;
}

.n7-efficient-core__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  row-gap: var(--n7-efficient-core-list-row-gap);
}

.n7-efficient-core__list--left {
  width: var(--n7-efficient-core-list-left-width);
  max-width: 100%;
}

.n7-efficient-core__list--right {
  width: var(--n7-efficient-core-list-right-width);
  max-width: 100%;
  margin-top: var(--n7-efficient-core-list-right-offset-y);
}

.n7-efficient-core__item {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  flex-shrink: 0;
  gap: 0;
  box-sizing: border-box;
}

.n7-efficient-core__list--left .n7-efficient-core__item {
  width: var(--n7-efficient-core-list-left-width);
  max-width: 100%;
  min-height: var(--n7-efficient-core-list-item-height);
}

.n7-efficient-core__list--right .n7-efficient-core__item {
  width: var(--n7-efficient-core-list-right-width);
  max-width: 100%;
  min-height: var(--n7-efficient-core-list-item-height);
}

/* Icon frame 29.98 × 31.41 → circle → box → tick */
.n7-efficient-core__check {
  flex: 0 0 var(--n7-efficient-core-check-width);
  width: var(--n7-efficient-core-check-width);
  height: var(--n7-efficient-core-check-height);
  margin: 0;
  position: relative;
  box-sizing: border-box;
  flex-shrink: 0;
}

.n7-efficient-core__check-circle {
  position: absolute;
  left: var(--n7-efficient-core-check-circle-x);
  top: var(--n7-efficient-core-check-circle-y);
  width: var(--n7-efficient-core-check-circle-size);
  height: var(--n7-efficient-core-check-circle-size);
  border-radius: 50%;
  background: var(--n7-hero-btn-gradient);
  pointer-events: none;
}

.n7-efficient-core__check-box {
  position: absolute;
  left: var(--n7-efficient-core-check-box-x);
  top: var(--n7-efficient-core-check-box-y);
  width: var(--n7-efficient-core-check-box-size);
  height: var(--n7-efficient-core-check-box-size);
  pointer-events: none;
}

.n7-efficient-core__check-tick {
  position: absolute;
  left: var(--n7-efficient-core-check-tick-x);
  top: var(--n7-efficient-core-check-tick-y);
  width: var(--n7-efficient-core-check-tick-width);
  height: var(--n7-efficient-core-check-tick-height);
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9.17 6.88' fill='none'%3E%3Cpath d='M0.8 3.6L2.9 5.7L8.37 0.8' stroke='%23FFFFFF' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")
    no-repeat center / contain;
  pointer-events: none;
}

.n7-efficient-core__text {
  flex: 0 1 auto;
  min-width: 0;
  margin: calc(
      (var(--n7-efficient-core-list-item-height) - var(--n7-efficient-core-list-text-height)) /
        2
    )
    0 0 var(--n7-efficient-core-check-gap);
  font-family: var(--n7-font-archivo);
  font-weight: 400;
  font-size: var(--n7-efficient-core-list-size);
  line-height: var(--n7-efficient-core-list-line);
  color: var(--n7-ice-E9F4F9);
  opacity: var(--n7-efficient-core-list-opacity);
}

.n7-efficient-core__list--left .n7-efficient-core__text {
  width: var(--n7-efficient-core-list-left-text-width);
  max-width: calc(
    100% - var(--n7-efficient-core-check-width) - var(--n7-efficient-core-check-gap)
  );
}

.n7-efficient-core__list--right .n7-efficient-core__text {
  width: var(--n7-efficient-core-list-right-text-width);
  max-width: calc(
    100% - var(--n7-efficient-core-check-width) - var(--n7-efficient-core-check-gap)
  );
}

/* ===== responsive/efficient-core.css ===== */
/*
 * Efficient Core — tablet & mobile (≥992px unchanged in efficient-core.css)
 * Stacked: copy + checklist → dashboard image.
 */

@media (max-width: 991px) {
  .n7-efficient-core {
    min-height: 0;
    padding: clamp(40px, 9vw, 56px) 0 clamp(48px, 10vw, 64px);
    overflow-x: clip;
  }

  .n7-efficient-core .container {
    padding-left: clamp(20px, 5vw, 32px);
    padding-right: clamp(20px, 5vw, 32px);
  }

  .n7-efficient-core__layout {
    position: relative;
    min-height: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: clamp(28px, 6vw, 40px);
  }

  /* Read copy first, then image (DOM has media first) */
  .n7-efficient-core__content {
    order: -1;
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    bottom: auto;
    width: 100%;
    max-width: 100%;
    min-height: 0;
  }

  .n7-efficient-core__title {
    margin: 0;
    font-size: clamp(22px, 5.5vw, var(--n7-efficient-core-title-size));
    line-height: 1.25;
    letter-spacing: -0.02em;
  }

  .n7-efficient-core__checklist {
    margin-top: clamp(20px, 5vw, var(--n7-efficient-core-title-gap));
    width: 100%;
    min-height: 0;
  }

  .n7-efficient-core__subtitle {
    margin-bottom: clamp(16px, 4vw, var(--n7-efficient-core-subtitle-gap));
    font-size: clamp(14px, 3.5vw, var(--n7-efficient-core-subtitle-size));
  }

  .n7-efficient-core__lists {
    min-height: 0;
    display: grid;
    grid-template-columns: 1fr;
    row-gap: 0;
    column-gap: 0;
  }

  .n7-efficient-core__list--left,
  .n7-efficient-core__list--right {
    width: 100%;
    max-width: 100%;
    margin-top: 0;
  }

  .n7-efficient-core__list--right {
    margin-top: clamp(8px, 2vw, 16px);
    padding-top: clamp(8px, 2vw, 16px);
    border-top: 1px solid rgba(233, 244, 249, 0.12);
  }

  .n7-efficient-core__list {
    row-gap: clamp(10px, 2.5vw, 14px);
  }

  .n7-efficient-core__list--left .n7-efficient-core__item,
  .n7-efficient-core__list--right .n7-efficient-core__item {
    width: 100%;
    max-width: 100%;
    min-height: 0;
    align-items: flex-start;
    gap: 10px;
  }

  .n7-efficient-core__check {
    flex: 0 0 var(--n7-efficient-core-check-width);
    margin-top: 2px;
  }

  .n7-efficient-core__text {
    flex: 1;
    width: auto;
    max-width: none;
    margin: 0;
    font-size: clamp(14px, 3.5vw, var(--n7-efficient-core-list-size));
    line-height: 1.4;
    opacity: var(--n7-efficient-core-list-opacity);
  }

  .n7-efficient-core__media {
    order: 0;
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    bottom: auto;
    width: 100%;
    max-width: min(var(--n7-efficient-core-media-width), 100%);
    height: auto;
    margin: 0 auto;
    overflow: visible;
    pointer-events: auto;
  }

  .n7-efficient-core__media img {
    position: relative;
    left: auto;
    top: auto;
    width: 100%;
    height: auto;
    max-width: 100%;
    transform: none;
    display: block;
    object-fit: contain;
  }
}

/* Tablet — two-column checklist when wide enough */
@media (min-width: 600px) and (max-width: 991px) {
  .n7-efficient-core__lists {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: clamp(20px, 4vw, var(--n7-efficient-core-list-col-gap));
    align-items: start;
  }

  .n7-efficient-core__list--right {
    margin-top: 0;
    padding-top: 0;
    border-top: none;
  }
}

@media (max-width: 767px) {
  .n7-efficient-core {
    padding-top: 36px;
    padding-bottom: 40px;
  }

  .n7-efficient-core__layout {
    gap: 24px;
  }

  .n7-efficient-core__title {
    font-size: clamp(20px, 5.8vw, 24px);
  }

  .n7-efficient-core__media {
    max-width: min(360px, 100%);
  }
}

@media (max-width: 479px) {
  .n7-efficient-core .container {
    padding-left: 16px;
    padding-right: 16px;
  }

  .n7-efficient-core__check {
    transform: scale(0.9);
    transform-origin: top left;
    margin-right: 4px;
  }

  .n7-efficient-core__text {
    font-size: 14px;
  }
}

/* ===== sections/paperless.css ===== */
/*
 * Paperless — exact px layout at 1440; below 1440 the card scales proportionally
 * (Figma 1440 base). In-digital N7 card keeps absolute layout + shrinks in place.
 * After-dashboard tablet/mobile: styles/responsive/paperless.css
 */
.n7-paperless {
  position: relative;
  box-sizing: border-box;
  padding: 0;
  min-height: 0;
  background: transparent;
  overflow: visible;
}

/* Bottom of digital frame only — lives in .n7-digital__stage, not a page section */
.n7-paperless--in-digital {
  padding: 0;
  min-height: 0;
  background: transparent;
}

/* After dashboard — separate section; digital starts after marquee */
section.n7-paperless--after-dashboard {
  padding: 0;
  min-height: min(
    var(--n7-paperless-canvas-height),
    calc(var(--n7-paperless-canvas-height) / var(--n7-page-width) * 100vw)
  );
  background: var(--n7-paperless-after-dashboard-bg);
  overflow-x: clip;
}

.n7-paperless__canvas {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  max-width: var(--n7-paperless-canvas-width);
  margin: 0 auto;
  padding: 0
    max(16px, calc(var(--n7-paperless-card-x) / var(--n7-page-width) * 100vw));
}

.n7-paperless__row {
  position: relative;
  box-sizing: border-box;
  container-type: inline-size;
  width: min(var(--n7-paperless-card-width), 100%);
  margin: 0 auto;
  aspect-ratio: calc(var(--n7-paperless-card-width) / var(--n7-paperless-card-height));
  height: auto;
  border-radius: min(
    var(--n7-paperless-card-radius),
    calc(var(--n7-paperless-card-radius) / var(--n7-page-width) * 100vw)
  );
  background: var(--n7-paperless-card-bg);
  overflow: hidden;
}


.n7-paperless__marks {
  position: absolute;
  z-index: 0;
  pointer-events: none;
  user-select: none;
}

/* CB7 — after dashboard (original flat marks on card) */
.n7-paperless--after-dashboard .n7-paperless__marks {
  top: calc(var(--n7-paperless-cb7-mark-y) / var(--n7-paperless-card-height) * 100%);
  left: calc(var(--n7-paperless-cb7-mark-x) / var(--n7-paperless-card-width) * 100%);
  width: calc(var(--n7-paperless-cb7-mark-width) / var(--n7-paperless-card-width) * 100%);
  height: calc(var(--n7-paperless-cb7-mark-height) / var(--n7-paperless-card-height) * 100%);
  opacity: var(--n7-paperless-mark-opacity);
  overflow: visible;
}

/* N7 — in-digital: outer = card clip; hide anything above card top */
.n7-paperless--in-digital .n7-paperless__marks {
  inset: 0;
  overflow: hidden;
  border-radius: inherit;
  opacity: var(--n7-paperless-mark-opacity);
}

.n7-paperless--in-digital .n7-paperless__marks-inner {
  position: absolute;
  top: calc(var(--n7-paperless-marks-inner-y) / var(--n7-paperless-card-height) * 100%);
  left: calc(var(--n7-paperless-marks-inner-x) / var(--n7-paperless-card-width) * 100%);
  width: calc(var(--n7-paperless-marks-inner-width) / var(--n7-paperless-card-width) * 100%);
  height: calc(var(--n7-paperless-marks-inner-height) / var(--n7-paperless-card-height) * 100%);
  container-type: inline-size;
}

.n7-paperless__marks-svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}

/* Dual gradient strokes (Figma Outside 1.59) */
.n7-paperless__marks-text {
  font-family: var(--n7-font-archivo);
  font-weight: 500;
  font-size: var(--n7-paperless-mark-size);
  line-height: var(--n7-paperless-mark-line);
  letter-spacing: var(--n7-paperless-mark-tracking);
  stroke-width: var(--n7-paperless-mark-stroke-width);
  dominant-baseline: alphabetic;
  fill: none;
  paint-order: stroke;
}

/* In-digital N7 — top-aligned in inner frame (Figma vertical align: top) */
.n7-paperless--in-digital .n7-paperless__marks-text--top {
  dominant-baseline: hanging;
}

/* Scale stroke N7 with inner frame (not fixed 572px) */
.n7-paperless--in-digital .n7-paperless__marks-text {
  font-size: calc(
    var(--n7-paperless-mark-size) / var(--n7-paperless-marks-inner-width) * 100cqi
  );
  stroke-width: calc(
    var(--n7-paperless-mark-stroke-width) / var(--n7-paperless-marks-inner-width) * 100cqi
  );
}

.n7-paperless__content {
  position: absolute;
  top: calc(var(--n7-paperless-content-y) / var(--n7-paperless-card-height) * 100%);
  left: calc(var(--n7-paperless-content-x) / var(--n7-paperless-card-width) * 100%);
  z-index: 1;
  width: calc(var(--n7-paperless-content-width) / var(--n7-paperless-card-width) * 100%);
  min-height: calc(var(--n7-paperless-content-height) / var(--n7-paperless-card-height) * 100%);
}

.n7-paperless__title {
  margin: 0 0 calc(var(--n7-paperless-title-gap) / var(--n7-paperless-card-height) * 100%);
  width: 100%;
  min-height: calc(var(--n7-paperless-title-height) / var(--n7-paperless-card-height) * 100%);
  font-family: var(--n7-font-archivo);
  font-weight: 400;
  font-size: calc(var(--n7-paperless-title-size) / var(--n7-paperless-card-width) * 100cqw);
  line-height: var(--n7-paperless-title-line);
  letter-spacing: var(--n7-paperless-title-tracking);
  color: var(--n7-ice-E9F4F9);
}

.n7-paperless__sub {
  margin: 0;
  width: calc(var(--n7-paperless-sub-width) / var(--n7-paperless-content-width) * 100%);
  max-width: 100%;
  min-height: calc(var(--n7-paperless-sub-height) / var(--n7-paperless-card-height) * 100%);
  font-family: var(--n7-font-archivo);
  font-weight: 400;
  font-size: calc(var(--n7-paperless-sub-size) / var(--n7-paperless-card-width) * 100cqw);
  line-height: var(--n7-paperless-sub-line);
  letter-spacing: var(--n7-paperless-sub-tracking);
  color: color-mix(in srgb, var(--n7-ice-E9F4F9) var(--n7-paperless-sub-opacity), transparent);
}

.n7-paperless__actions {
  position: absolute;
  top: calc(var(--n7-paperless-actions-y) / var(--n7-paperless-card-height) * 100%);
  left: calc(var(--n7-paperless-actions-x) / var(--n7-paperless-card-width) * 100%);
  z-index: 1;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: calc(var(--n7-paperless-btn-gap) / var(--n7-paperless-actions-width) * 100%);
  width: calc(var(--n7-paperless-actions-width) / var(--n7-paperless-card-width) * 100%);
  height: calc(var(--n7-paperless-actions-height) / var(--n7-paperless-card-height) * 100%);
}

.n7-paperless__btn-contact {
  flex: 0 0 auto;
  font-size: var(--n7-hero-btn-font-size);
  border-radius: var(--n7-hero-btn-radius);
}

.n7-paperless__btn-demo {
  flex: 0 0 auto;
  font-size: var(--n7-hero-btn-font-size);
  border-radius: var(--n7-hero-btn-radius);
}

/* Exact Figma — fixed 1440 canvas only */
@media (min-width: 1440px) {
  .n7-paperless__canvas {
    width: var(--n7-paperless-canvas-width);
    height: var(--n7-paperless-card-height);
    padding: 0;
  }

  .n7-paperless__row {
    position: absolute;
    top: 0;
    left: var(--n7-paperless-card-x);
    width: var(--n7-paperless-card-width);
    height: var(--n7-paperless-card-height);
    aspect-ratio: auto;
    margin: 0;
    border-radius: var(--n7-paperless-card-radius);
    overflow: hidden;
  }

  .n7-paperless--after-dashboard .n7-paperless__marks {
    top: var(--n7-paperless-cb7-mark-y);
    left: var(--n7-paperless-cb7-mark-x);
    width: var(--n7-paperless-cb7-mark-width);
    height: var(--n7-paperless-cb7-mark-height);
  }

  .n7-paperless--in-digital .n7-paperless__marks-inner {
    top: var(--n7-paperless-marks-inner-y);
    left: var(--n7-paperless-marks-inner-x);
    width: var(--n7-paperless-marks-inner-width);
    height: var(--n7-paperless-marks-inner-height);
  }

  .n7-paperless--in-digital .n7-paperless__marks-text {
    font-size: var(--n7-paperless-mark-size);
    stroke-width: var(--n7-paperless-mark-stroke-width);
  }

  .n7-paperless__content {
    top: var(--n7-paperless-content-y);
    left: var(--n7-paperless-content-x);
    width: var(--n7-paperless-content-width);
    min-height: var(--n7-paperless-content-height);
  }

  .n7-paperless__title {
    margin-bottom: var(--n7-paperless-title-gap);
    width: var(--n7-paperless-title-width);
    min-height: var(--n7-paperless-title-height);
    font-size: var(--n7-paperless-title-size);
  }

  .n7-paperless__sub {
    width: var(--n7-paperless-sub-width);
    min-height: var(--n7-paperless-sub-height);
    font-size: var(--n7-paperless-sub-size);
  }

  .n7-paperless__actions {
    top: var(--n7-paperless-actions-y);
    left: var(--n7-paperless-actions-x);
    gap: var(--n7-paperless-btn-gap);
    width: var(--n7-paperless-actions-width);
    height: var(--n7-paperless-actions-height);
  }

  .n7-paperless__btn-contact {
    flex: 0 0 var(--n7-contact-us-width);
    font-size: var(--n7-hero-btn-font-size);
    border-radius: var(--n7-hero-btn-radius);
  }

  .n7-paperless__btn-demo {
    flex: 0 0 var(--n7-request-demo-width);
    font-size: var(--n7-hero-btn-font-size);
    border-radius: var(--n7-hero-btn-radius);
  }
}

/* In-digital — scale card to available width (1440 ratio), never grow past Figma size */
@media (max-width: 1439px) {
  .n7-digital__stage > .n7-paperless--in-digital .n7-paperless__canvas {
    display: flex;
    justify-content: center;
    width: 100%;
    max-width: 100%;
    padding: 0;
  }

  .n7-digital__stage > .n7-paperless--in-digital .n7-paperless__row {
    position: relative;
    flex: 0 0 auto;
    width: calc(var(--n7-paperless-card-width) / var(--n7-page-width) * 100%);
    max-width: min(var(--n7-paperless-card-width), 100%);
    margin: 0;
    aspect-ratio: calc(var(--n7-paperless-card-width) / var(--n7-paperless-card-height));
    height: auto;
    border-radius: calc(var(--n7-paperless-card-radius) / var(--n7-paperless-card-width) * 100cqw);
  }

  /* Buttons stay Figma px at 1440; scale with card on laptop */
  .n7-paperless--in-digital .n7-paperless__btn-contact.n7-btn--outline,
  .n7-paperless--in-digital .n7-paperless__btn-demo.n7-btn--primary {
    min-width: 0;
    height: 100%;
    min-height: 0;
    font-size: calc(var(--n7-cta-btn-font-size) / var(--n7-paperless-card-width) * 100cqw);
    border-radius: calc(var(--n7-hero-btn-radius) / var(--n7-paperless-card-width) * 100cqw);
  }

  .n7-paperless--in-digital .n7-paperless__btn-contact.n7-btn--outline {
    flex: 208 1 0;
  }

  .n7-paperless--in-digital .n7-paperless__btn-demo.n7-btn--primary {
    flex: 210 1 0;
  }
}

/* After-dashboard — proportional buttons on laptop only (mobile uses responsive/paperless.css) */
@media (min-width: 992px) and (max-width: 1439px) {
  .n7-paperless--after-dashboard .n7-paperless__btn-contact.n7-btn--outline,
  .n7-paperless--after-dashboard .n7-paperless__btn-demo.n7-btn--primary {
    min-width: 0;
    height: 100%;
    min-height: 0;
    font-size: calc(var(--n7-cta-btn-font-size) / var(--n7-paperless-card-width) * 100cqw);
    border-radius: calc(var(--n7-hero-btn-radius) / var(--n7-paperless-card-width) * 100cqw);
  }

  .n7-paperless--after-dashboard .n7-paperless__btn-contact.n7-btn--outline {
    flex: 208 1 0;
  }

  .n7-paperless--after-dashboard .n7-paperless__btn-demo.n7-btn--primary {
    flex: 210 1 0;
  }
}

/* ===== responsive/paperless.css ===== */
/*
 * Paperless (after dashboard) — tablet & mobile only
 * ≥992px + min-width 1440 rules stay in paperless.css
 */

@media (max-width: 991px) {
  section.n7-paperless--after-dashboard {
    min-height: 0;
    height: auto;
    padding: clamp(32px, 7vw, 48px) clamp(16px, 4vw, 24px);
    overflow-x: clip;
  }

  section.n7-paperless--after-dashboard .n7-paperless__canvas {
    width: 100%;
    max-width: 100%;
    height: auto;
    padding: 0;
    margin: 0 auto;
  }

  section.n7-paperless--after-dashboard .n7-paperless__row {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    aspect-ratio: auto;
    min-height: 0;
    height: auto;
    padding: clamp(28px, 7vw, 40px) clamp(20px, 5vw, 32px);
    gap: clamp(24px, 5vw, 32px);
    border-radius: clamp(16px, 4vw, var(--n7-paperless-card-radius));
    overflow: hidden;
  }

  /* CB7 watermark — background only, keep aspect ratio (avoid stroke smear) */
  section.n7-paperless--after-dashboard .n7-paperless__marks {
    position: absolute;
    top: auto;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 58%;
    max-height: 58%;
    transform: none;
    opacity: var(--n7-paperless-mark-opacity);
    overflow: hidden;
    pointer-events: none;
  }

  section.n7-paperless--after-dashboard .n7-paperless__marks-svg {
    display: block;
    width: 100%;
    height: 100%;
  }

  section.n7-paperless--after-dashboard .n7-paperless__content {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    bottom: auto;
    z-index: 1;
    width: 100%;
    min-height: 0;
    margin: 0;
  }

  section.n7-paperless--after-dashboard .n7-paperless__title {
    margin: 0 0 clamp(12px, 3vw, var(--n7-paperless-title-gap));
    width: 100%;
    min-height: 0;
    font-size: clamp(22px, 5.5vw, 36px);
    line-height: 1.2;
    letter-spacing: -0.01em;
  }

  section.n7-paperless--after-dashboard .n7-paperless__sub {
    width: 100%;
    max-width: none;
    min-height: 0;
    margin: 0;
    font-size: clamp(14px, 3.5vw, var(--n7-paperless-sub-size));
    line-height: 1.35;
  }

  section.n7-paperless--after-dashboard .n7-paperless__actions {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    bottom: auto;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    flex-wrap: nowrap;
    gap: clamp(12px, 3vw, var(--n7-paperless-btn-gap));
    width: 100%;
    max-width: 100%;
    height: auto;
    min-height: 0;
  }

  section.n7-paperless--after-dashboard .n7-paperless__btn-contact.n7-btn--outline,
  section.n7-paperless--after-dashboard .n7-paperless__btn-demo.n7-btn--primary {
    flex: 0 0 auto;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin-inline: 0;
    font-size: var(--n7-hero-btn-font-size);
    border-radius: var(--n7-hero-btn-radius);
    box-sizing: border-box;
  }

  section.n7-paperless--after-dashboard .n7-paperless__btn-contact.n7-btn--outline {
    height: var(--n7-contact-us-height);
    min-height: var(--n7-contact-us-height);
  }

  section.n7-paperless--after-dashboard .n7-paperless__btn-demo.n7-btn--primary {
    height: var(--n7-request-demo-height);
    min-height: var(--n7-request-demo-height);
  }
}

@media (max-width: 767px) {
  section.n7-paperless--after-dashboard {
    padding-top: 28px;
    padding-bottom: 36px;
  }

  section.n7-paperless--after-dashboard .n7-paperless__row {
    padding: 24px 20px;
    gap: 20px;
  }

  section.n7-paperless--after-dashboard .n7-paperless__title {
    font-size: clamp(20px, 5.8vw, 26px);
  }
}

@media (max-width: 479px) {
  section.n7-paperless--after-dashboard {
    padding-left: 12px;
    padding-right: 12px;
  }

  section.n7-paperless--after-dashboard .n7-paperless__marks {
    height: 52%;
    max-height: 52%;
  }

  section.n7-paperless--after-dashboard .n7-paperless__title {
    font-size: clamp(18px, 5.4vw, 22px);
  }

  section.n7-paperless--after-dashboard .n7-paperless__sub {
    font-size: 14px;
  }
}

/* ===== sections/marquee.css ===== */
/* Marquee banner — Figma Property 1=Default, 1440×116 (full SVG asset) */
.n7-marquee {
  position: relative;
  width: 100%;
  background: var(--n7-marquee-bg);
  overflow: hidden;
  line-height: 0;
}

.n7-marquee__img {
  display: block;
  width: 100%;
  height: auto;
}

/* ===== sections/digital.css ===== */
/*
 * Digital banking out-of-the-box — Figma 1440×2647 @ y=116.
 * Light section. Built part-by-part; Part 1 below.
 * Left intro + .n7-digital__pairs share --n7-digital-left-y (100px); pair innards positioned inside each box.
 * Tablet/mobile (≤991px): styles/responsive/digital.css
 */
.n7-digital {
  position: relative;
  width: 100%;
  background: var(--n7-digital-bg);
  overflow-x: clip;
  overflow-y: visible;
}

.n7-digital__stage {
  position: relative;
  width: 100%;
  max-width: var(--n7-page-width);
  min-height: var(--n7-digital-stage-height);
  height: auto;
  margin: 0 auto;
  padding-bottom: 0;
}

/* N7 #1 — section watermark only (N7.svg). Paperless card N7 #2 is in paperless.css. */
.n7-digital__marks {
  position: absolute;
  left: var(--n7-digital-mark-x);
  top: var(--n7-digital-mark-y);
  width: var(--n7-digital-mark-width);
  height: auto;
  z-index: 0;
  pointer-events: none;
  user-select: none;
  display: block;
}

/* Decorative swirl vector — opacity & sky gradient stroke baked into the SVG */
.n7-digital__vector {
  position: absolute;
  left: var(--n7-digital-vector-x);
  top: var(--n7-digital-vector-y);
  width: var(--n7-digital-vector-width);
  height: auto;
  z-index: 0;
  pointer-events: none;
  user-select: none;
}

/* Decorative "7" watermark — 20% opacity baked into 7.svg */
.n7-digital__seven {
  position: absolute;
  left: var(--n7-digital-seven-x);
  top: var(--n7-digital-seven-y);
  width: var(--n7-digital-seven-width);
  height: auto;
  z-index: 0;
  pointer-events: none;
  user-select: none;
  display: block;
}

/* Part-1 intro + pairs + in-frame paperless sit above watermarks */
.n7-digital__intro,
.n7-digital__pairs,
.n7-digital__stage > .n7-paperless--in-digital {
  z-index: 1;
}

/* Paperless card — Figma Y 2104.43 from .n7-digital__stage top (not document flow) */
.n7-digital__stage > .n7-paperless--in-digital {
  position: absolute;
  top: var(--n7-paperless-card-y);
  left: 0;
  width: 100%;
  padding: 0;
  margin: 0;
  background: transparent;
  min-height: 0;
  overflow: visible;
}

/* Imaginary container — 3 pair rows; height ties to paperless @ 2104.43 + 110px below stack */
.n7-digital__pairs {
  position: absolute;
  left: var(--n7-digital-block-x);
  top: var(--n7-digital-block-y);
  display: flex;
  flex-direction: column;
  gap: var(--n7-digital-part-gap);
  height: auto;
  padding: 0;
  margin: 0;
}

/* Each pair box — min height from Figma stack (phone frame may be shorter inside) */
.n7-digital__pair {
  position: relative;
  flex: 0 0 auto;
  height: auto;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: var(--n7-digital-phone-gap);
  padding: 0;
  margin: 0;
}

.n7-digital__pair--1 {
  margin-left: var(--n7-digital-p1-pair-offset-x);
}

.n7-digital__pair--2 {
  margin-left: var(--n7-digital-p2-pair-offset-x);
}

.n7-digital__pair--3 {
  margin-left: var(--n7-digital-p3-pair-offset-x);
}

/* ---- Part 1: left intro block (81,100 · 438.99×308) ---- */
.n7-digital__intro {
  position: absolute;
  left: var(--n7-digital-left-x);
  top: var(--n7-digital-left-y);
  width: var(--n7-digital-left-width);
  min-height: var(--n7-digital-left-height);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.n7-digital__title {
  margin: 0;
  font-family: var(--n7-font-archivo);
  font-weight: 400;
  font-size: var(--n7-digital-title-size);
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: var(--n7-digital-title-color);
  opacity: var(--n7-digital-title-opacity);
}

.n7-digital__sub {
  margin: 16px 0 0;
  max-width: var(--n7-digital-sub-width);
  font-family: var(--n7-font-archivo);
  font-weight: 400;
  font-size: var(--n7-digital-sub-size);
  line-height: 1.3;
  color: #000d12;
  opacity: 0.7;
}

.n7-digital__cta {
  margin-top: 36px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
}

/* Size from .n7-btn--primary (--n7-request-demo-width / height) */
.n7-digital__request {
  flex-shrink: 0;
}

.n7-digital__learn {
  display: inline-flex;
  align-items: center;
  line-height: 0;
}

.n7-digital__learn img {
  display: block;
  height: auto;
}

.n7-digital__learn svg {
  width: 14px;
  height: 14px;
}

/* Phone frame — Figma 268.31×542.9; scale by height so full phone shows,
   overflow hidden only trims horizontal shadow padding from SVG export */
.n7-digital__phone-wrap {
  width: var(--n7-digital-phone-frame-width);
  height: var(--n7-digital-phone-frame-height);
  overflow: hidden;
  flex-shrink: 0;
  line-height: 0;
  padding: 0;
  margin: 0;
  transform-origin: 50% 85%;
  background: var(--n7-digital-bg); /* WebP matte — section shows through alpha */
}

.n7-digital__phone {
  display: block;
  height: 100%;
  width: auto;
  max-width: none;
  margin: 0 auto;
  padding: 0;
}

.n7-digital__aside {
  flex-shrink: 0;
  padding: 0;
  margin: 0;
}

.n7-digital__pair--1 .n7-digital__aside {
  position: absolute;
  left: var(--n7-digital-p1-aside-x);
  top: var(--n7-digital-p1-aside-y);
  width: var(--n7-digital-p1-aside-width);
}

.n7-digital__pair--2 .n7-digital__aside {
  position: absolute;
  left: 0;
  top: var(--n7-digital-p2-aside-y);
  width: var(--n7-digital-p2-copy-width);
}

.n7-digital__pair--2 .n7-digital__phone-wrap {
  margin-left: calc(var(--n7-digital-p2-copy-width) + var(--n7-digital-phone-gap));
}

.n7-digital__pair--3 .n7-digital__aside {
  position: absolute;
  left: var(--n7-digital-p3-aside-x);
  top: var(--n7-digital-p3-aside-y);
  width: var(--n7-digital-p3-copy-width);
}

.n7-digital__aside-title {
  margin: 0;
  font-family: var(--n7-font-archivo);
  font-weight: 600;
  font-size: var(--n7-digital-aside-title-size);
  line-height: 1.3;
  color: var(--n7-digital-title-color);
}

.n7-digital__aside-text {
  margin: var(--n7-digital-aside-heading-gap) 0 0;
  font-family: var(--n7-font-archivo);
  font-weight: 400;
  font-size: var(--n7-digital-aside-text-size);
  line-height: 1.3;
  color: var(--n7-digital-body-color);
  opacity: 0.7;
}

.n7-digital__checklist {
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.n7-digital__check-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-family: var(--n7-font-archivo);
  font-weight: 400;
  font-size: var(--n7-digital-aside-text-size);
  line-height: 1.3;
  color: var(--n7-digital-title-color);
}

.n7-digital__check-icon {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  margin-top: 1px;
}

/* Below 1440 — fluid layout (no Figma absolute stage height; avoids overlap with marquee/pairs) */
@media (max-width: 1439px) {
  .n7-digital__stage {
    min-height: auto;
    height: auto;
    padding-top: min(
      var(--n7-digital-left-y),
      calc(var(--n7-digital-left-y) / var(--n7-page-width) * 100vw)
    );
    padding-left: max(24px, calc(var(--n7-container-pad) / var(--n7-page-width) * 100vw));
    padding-right: max(24px, calc(var(--n7-container-pad) / var(--n7-page-width) * 100vw));
    padding-bottom: clamp(56px, 6vw, 96px);
  }

  /* Flow layouts below — drop Figma absolute offsets so content does not touch edges */
  .n7-digital__intro,
  .n7-digital__pairs {
    top: auto;
    left: auto;
  }

  /* Figma stack min-heights are for 1440px absolute canvas only */
  .n7-digital__pairs {
    min-height: 0;
    height: auto;
  }

  .n7-digital__pair {
    min-height: 0;
    height: auto;
  }

  .n7-digital__stage > .n7-paperless--in-digital {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    margin-top: 0;
  }

  .n7-digital__title {
    font-size: min(
      var(--n7-digital-title-size),
      calc(var(--n7-digital-title-size) / var(--n7-page-width) * 100vw)
    );
  }

  .n7-digital__marks {
    left: min(
      var(--n7-digital-mark-x),
      calc(var(--n7-digital-mark-x) / var(--n7-page-width) * 100vw)
    );
    top: min(
      var(--n7-digital-mark-y),
      calc(var(--n7-digital-mark-y) / var(--n7-page-width) * 100vw)
    );
    width: min(
      var(--n7-digital-mark-width),
      calc(var(--n7-digital-mark-width) / var(--n7-page-width) * 100vw),
      55vw
    );
  }

  .n7-digital__vector {
    left: 0;
    top: min(
      var(--n7-digital-vector-y),
      calc(var(--n7-digital-vector-y) / var(--n7-page-width) * 100vw)
    );
    width: min(
      var(--n7-digital-vector-width),
      calc(var(--n7-digital-vector-width) / var(--n7-page-width) * 100vw),
      42vw
    );
  }

  .n7-digital__seven {
    display: none;
  }

  .n7-digital__intro {
    width: min(
      var(--n7-digital-left-width),
      calc(100% - 32px),
      calc(var(--n7-digital-left-width) / var(--n7-page-width) * 100vw)
    );
  }

  .n7-digital__sub {
    max-width: 100%;
    font-size: min(
      var(--n7-digital-sub-size),
      calc(var(--n7-digital-sub-size) / var(--n7-page-width) * 100vw)
    );
  }

  .n7-digital__pairs {
    width: min(
      calc(var(--n7-digital-p1-aside-x) + var(--n7-digital-p1-aside-width)),
      calc(
        (var(--n7-digital-p1-aside-x) + var(--n7-digital-p1-aside-width)) /
          var(--n7-page-width) * 100vw
      ),
      calc(100% - 32px)
    );
    max-width: 100%;
    gap: min(
      var(--n7-digital-part-gap),
      calc(var(--n7-digital-part-gap) / var(--n7-page-width) * 100vw)
    );
  }

  .n7-digital__pair {
    width: 100%;
  }

  .n7-digital__pair--1,
  .n7-digital__pair--3 {
    margin-left: min(
      var(--n7-digital-p1-pair-offset-x),
      calc(var(--n7-digital-p1-pair-offset-x) / var(--n7-page-width) * 100vw)
    );
  }

  .n7-digital__pair--2 {
    margin-left: min(
      var(--n7-digital-p2-pair-offset-x),
      calc(var(--n7-digital-p2-pair-offset-x) / var(--n7-page-width) * 100vw)
    );
  }

  .n7-digital__phone-wrap {
    width: min(
      var(--n7-digital-phone-frame-width),
      calc(var(--n7-digital-phone-frame-width) / var(--n7-page-width) * 100vw),
      42%
    );
    height: min(
      var(--n7-digital-phone-frame-height),
      calc(var(--n7-digital-phone-frame-height) / var(--n7-page-width) * 100vw)
    );
  }

  /* Pair 1 & 3 — phone + aside (~650px @ 1440) */
  .n7-digital__pair--1 .n7-digital__aside,
  .n7-digital__pair--3 .n7-digital__aside {
    left: 53.58%;
    top: 16.5%;
    width: min(46.5%, calc(var(--n7-digital-p1-aside-width) / var(--n7-page-width) * 100vw));
  }

  .n7-digital__pair--2 .n7-digital__aside {
    left: 0;
    top: 20.36%;
    width: min(44%, calc(var(--n7-digital-p2-copy-width) / var(--n7-page-width) * 100vw));
  }

  .n7-digital__pair--2 .n7-digital__phone-wrap {
    margin-left: 56.2%;
  }

}

/* Wide laptop — intro | pairs side by side */
@media (min-width: 1200px) and (max-width: 1439px) {
  .n7-digital__stage {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(
        0,
        min(
          calc(var(--n7-digital-p1-aside-x) + var(--n7-digital-p1-aside-width)),
          calc(
            (var(--n7-digital-p1-aside-x) + var(--n7-digital-p1-aside-width)) /
              var(--n7-page-width) * 100vw
          )
        )
      );
    grid-template-areas:
      "intro pairs"
      "paperless paperless";
    column-gap: clamp(24px, 3vw, 48px);
    row-gap: min(
      var(--n7-digital-part-gap),
      calc(var(--n7-digital-part-gap) / var(--n7-page-width) * 100vw)
    );
  }

  .n7-digital__intro {
    position: relative;
    left: auto;
    top: auto;
    grid-area: intro;
    width: 100%;
    max-width: min(
      var(--n7-digital-left-width),
      calc(var(--n7-digital-left-width) / var(--n7-page-width) * 100vw)
    );
    align-self: start;
  }

  .n7-digital__pairs {
    position: relative;
    left: auto;
    top: auto;
    grid-area: pairs;
    width: 100%;
    min-height: 0;
    height: auto;
    justify-self: end;
    margin: 0;
    align-self: start;
  }

  .n7-digital__pair {
    min-height: 0;
    height: auto;
  }

  .n7-digital__stage > .n7-paperless--in-digital {
    grid-area: paperless;
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    margin: 0;
  }
}

/* Narrow laptop — stack intro, pairs, paperless */
@media (max-width: 1199px) and (min-width: 992px) {
  .n7-digital__stage {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: min(
      var(--n7-digital-part-gap),
      calc(var(--n7-digital-part-gap) / var(--n7-page-width) * 100vw)
    );
  }

  .n7-digital__intro,
  .n7-digital__pairs {
    position: relative;
    left: auto;
    top: auto;
    width: 100%;
    max-width: min(650px, 100%);
    margin: 0 auto;
  }

  .n7-digital__intro {
    max-width: min(
      var(--n7-digital-left-width),
      calc(var(--n7-digital-left-width) / var(--n7-page-width) * 100vw)
    );
    align-self: flex-start;
  }

  .n7-digital__pairs {
    min-height: 0;
  }

  .n7-digital__stage > .n7-paperless--in-digital {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    max-width: 100%;
    margin: 0;
    flex-shrink: 0;
  }
}

/* 1440px Figma canvas — absolute stage only at full design width */
@media (min-width: 1440px) {
  .n7-digital__stage {
    min-height: var(--n7-digital-stage-height);
    padding-top: 0;
    padding-bottom: 0;
  }

  .n7-digital__intro {
    position: absolute;
    left: var(--n7-digital-left-x);
    top: var(--n7-digital-left-y);
  }

  .n7-digital__pairs {
    position: absolute;
    left: var(--n7-digital-block-x);
    top: var(--n7-digital-block-y);
    min-height: var(--n7-digital-pairs-stack-height);
  }

  .n7-digital__pair {
    min-height: var(--n7-digital-pair-box-height);
  }

  .n7-digital__stage > .n7-paperless--in-digital {
    position: absolute;
    top: var(--n7-paperless-card-y);
    left: 0;
    margin-top: 0;
  }
}

/* ===== responsive/digital.css ===== */
/*
 * Digital banking — tablet & mobile only (≥992px unchanged in digital.css)
 * Full stacked flow: intro → 3 phone/features blocks → in-frame paperless card.
 */

@media (max-width: 991px) {
  .n7-digital {
    overflow-x: clip;
  }

  .n7-digital__stage {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: clamp(40px, 8vw, 56px);
    width: 100%;
    max-width: 100%;
    min-height: 0;
    height: auto;
    padding: clamp(40px, 9vw, 56px) clamp(20px, 5vw, 32px)
      clamp(48px, 10vw, 72px);
  }

  /* Decoratives — hidden on narrow viewports (avoid absolute offset bleed) */
  .n7-digital__marks,
  .n7-digital__vector,
  .n7-digital__seven {
    display: none;
  }

  /* ---- Intro ---- */
  .n7-digital__intro {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    bottom: auto;
    width: 100%;
    max-width: 100%;
    min-height: 0;
    margin: 0;
    align-items: flex-start;
  }

  .n7-digital__title {
    font-size: clamp(28px, 7vw, var(--n7-digital-title-size));
    line-height: 1.2;
    letter-spacing: -0.02em;
  }

  .n7-digital__sub {
    margin-top: clamp(12px, 3vw, 16px);
    max-width: 36em;
    font-size: clamp(14px, 3.5vw, var(--n7-digital-sub-size));
    line-height: 1.4;
  }

  .n7-digital__cta {
    margin-top: clamp(24px, 5vw, 36px);
    width: 100%;
    max-width: 100%;
    gap: clamp(12px, 3vw, 16px);
  }

  .n7-digital__request {
    margin-inline: auto;
    font-size: var(--n7-hero-btn-font-size);
  }

  .n7-digital__learn img {
    width: auto;
    max-width: min(210px, 70vw);
    height: auto;
  }

  /* ---- Feature pairs ---- */
  .n7-digital__pairs {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    bottom: auto;
    width: 100%;
    max-width: 100%;
    min-height: 0;
    margin: 0;
    gap: clamp(48px, 10vw, 64px);
  }

  .n7-digital__pair {
    position: relative;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    min-height: 0;
    height: auto;
    margin-left: 0;
    gap: clamp(24px, 5vw, 32px);
    padding-top: clamp(32px, 6vw, 40px);
    border-top: 1px solid rgba(0, 13, 18, 0.08);
  }

  .n7-digital__pair:first-child {
    padding-top: 0;
    border-top: none;
  }

  .n7-digital__pair--1,
  .n7-digital__pair--2,
  .n7-digital__pair--3 {
    margin-left: 0;
  }

  .n7-digital__phone-wrap {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    max-width: min(var(--n7-digital-phone-frame-width), 72vw, 300px);
    height: auto;
    min-height: 0;
    margin: 0 auto;
    overflow: visible;
    flex-shrink: 0;
  }

  .n7-digital__pair--2 .n7-digital__phone-wrap {
    margin-left: auto;
    margin-right: auto;
  }

  .n7-digital__phone {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
    margin: 0 auto;
  }

  .n7-digital__pair--1 .n7-digital__aside,
  .n7-digital__pair--2 .n7-digital__aside,
  .n7-digital__pair--3 .n7-digital__aside {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    bottom: auto;
    width: 100%;
    max-width: 100%;
    flex-shrink: 1;
  }

  .n7-digital__aside-title {
    font-size: clamp(15px, 3.8vw, var(--n7-digital-aside-title-size));
    line-height: 1.35;
  }

  .n7-digital__aside-text {
    margin-top: clamp(12px, 3vw, var(--n7-digital-aside-heading-gap));
    font-size: clamp(14px, 3.5vw, var(--n7-digital-aside-text-size));
    line-height: 1.4;
  }

  .n7-digital__checklist {
    margin-top: clamp(20px, 5vw, 28px);
    gap: clamp(12px, 3vw, 16px);
  }

  .n7-digital__check-item {
    align-items: flex-start;
    font-size: clamp(14px, 3.5vw, var(--n7-digital-aside-text-size));
    line-height: 1.4;
  }

  .n7-digital__check-icon {
    flex: 0 0 18px;
    margin-top: 2px;
  }

  /* ---- In-frame paperless (end of section, document flow) ---- */
  .n7-digital__stage > .n7-paperless--in-digital {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    bottom: auto;
    width: 100%;
    max-width: 100%;
    min-height: 0;
    margin: clamp(8px, 2vw, 16px) 0 0;
    padding: 0;
    overflow: visible;
  }

  .n7-digital__stage > .n7-paperless--in-digital .n7-paperless__canvas {
    width: 100%;
    max-width: 100%;
    height: auto;
    padding: 0;
    margin: 0 auto;
  }

  .n7-digital__stage > .n7-paperless--in-digital .n7-paperless__row {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    aspect-ratio: auto;
    min-height: 0;
    height: auto;
    padding: clamp(28px, 7vw, 40px) clamp(20px, 5vw, 32px);
    gap: clamp(24px, 5vw, 32px);
    border-radius: clamp(16px, 4vw, var(--n7-paperless-card-radius));
    overflow: hidden;
  }

  .n7-digital__stage > .n7-paperless--in-digital .n7-paperless__marks {
    position: absolute;
    top: auto;
    left: 50%;
    right: auto;
    bottom: -6%;
    width: 100%;
    max-width: 100%;
    height: auto;
    max-height: 65%;
    transform: translateX(-50%);
    opacity: var(--n7-paperless-mark-opacity);
    overflow: hidden;
    border-radius: inherit;
  }

  .n7-digital__stage > .n7-paperless--in-digital .n7-paperless__marks-inner {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    height: auto;
  }

  .n7-digital__stage > .n7-paperless--in-digital .n7-paperless__content,
  .n7-digital__stage > .n7-paperless--in-digital .n7-paperless__actions {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    bottom: auto;
    z-index: 1;
    width: 100%;
    min-height: 0;
    height: auto;
    margin: 0;
  }

  .n7-digital__stage > .n7-paperless--in-digital .n7-paperless__title {
    margin: 0 0 clamp(12px, 3vw, var(--n7-paperless-title-gap));
    width: 100%;
    min-height: 0;
    font-size: clamp(22px, 5.5vw, 36px);
    line-height: 1.2;
  }

  .n7-digital__stage > .n7-paperless--in-digital .n7-paperless__sub {
    width: 100%;
    min-height: 0;
    font-size: clamp(14px, 3.5vw, var(--n7-paperless-sub-size));
    line-height: 1.35;
  }

  .n7-digital__stage > .n7-paperless--in-digital .n7-paperless__actions {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    flex-wrap: nowrap;
    gap: clamp(12px, 3vw, var(--n7-paperless-btn-gap));
    width: 100%;
    max-width: 100%;
  }

  .n7-digital__stage > .n7-paperless--in-digital .n7-paperless__btn-contact.n7-btn--outline,
  .n7-digital__stage > .n7-paperless--in-digital .n7-paperless__btn-demo.n7-btn--primary {
    flex: 0 0 auto;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin-inline: 0;
    font-size: var(--n7-hero-btn-font-size);
    border-radius: var(--n7-hero-btn-radius);
    box-sizing: border-box;
  }

  .n7-digital__stage > .n7-paperless--in-digital .n7-paperless__btn-contact.n7-btn--outline {
    height: var(--n7-contact-us-height);
    min-height: var(--n7-contact-us-height);
  }

  .n7-digital__stage > .n7-paperless--in-digital .n7-paperless__btn-demo.n7-btn--primary {
    height: var(--n7-request-demo-height);
    min-height: var(--n7-request-demo-height);
  }
}

/* Tablet — side-by-side phone + copy when there is room */
@media (min-width: 600px) and (max-width: 991px) {
  .n7-digital__pair {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: clamp(20px, 4vw, 32px);
    padding-top: clamp(36px, 6vw, 44px);
  }

  .n7-digital__phone-wrap {
    flex: 0 0 min(38%, 220px);
    max-width: min(220px, 38%);
    margin: 0;
  }

  .n7-digital__pair--2 .n7-digital__phone-wrap {
    margin-left: 0;
    order: 2;
  }

  .n7-digital__pair--2 .n7-digital__aside {
    order: 1;
    flex: 1 1 52%;
    min-width: min(260px, 52%);
  }

  .n7-digital__pair--1 .n7-digital__aside,
  .n7-digital__pair--3 .n7-digital__aside {
    flex: 1 1 52%;
    min-width: min(260px, 52%);
  }

  .n7-digital__intro {
    max-width: min(520px, 100%);
  }

}

@media (max-width: 767px) {
  .n7-digital__stage {
    padding-top: 36px;
    padding-bottom: 56px;
    gap: 36px;
  }

  .n7-digital__title {
    font-size: clamp(24px, 6.5vw, 32px);
  }

  .n7-digital__pairs {
    gap: 40px;
  }

  .n7-digital__pair {
    flex-direction: column;
    padding-top: 28px;
  }

  .n7-digital__phone-wrap {
    max-width: min(260px, 78vw);
  }

  .n7-digital__request {
    margin-inline: auto;
  }
}

@media (max-width: 479px) {
  .n7-digital__stage {
    padding-left: 16px;
    padding-right: 16px;
  }

  .n7-digital__title {
    font-size: clamp(22px, 6.2vw, 26px);
  }

  .n7-digital__stage > .n7-paperless--in-digital .n7-paperless__marks {
    opacity: var(--n7-paperless-mark-opacity);
  }

  .n7-digital__stage > .n7-paperless--in-digital .n7-paperless__title {
    font-size: clamp(18px, 5.4vw, 22px);
  }
}

/* ===== sections/insights.css ===== */
/*
 * Fintech Insights — Figma 1440×853 @ page Y 6732, fill #000D12.
 * Tablet/mobile (≤991px): styles/responsive/insights.css
 */
.n7-insights {
  position: relative;
  background: var(--n7-insights-bg);
  overflow: hidden;
}

.n7-insights__stage {
  position: relative;
  width: 100%;
  max-width: var(--n7-page-width);
  min-height: var(--n7-insights-stack-height);
  margin: 0 auto;
}

/* Figma circle — 556.77, linear fill, 10% opacity, layer blur */
.n7-insights__glow-orbit {
  position: absolute;
  left: min(
    var(--n7-insights-circle-x),
    calc(var(--n7-insights-circle-x) / var(--n7-page-width) * 100vw)
  );
  top: min(
    var(--n7-insights-circle-y),
    calc(var(--n7-insights-circle-y) / var(--n7-page-width) * 100vw)
  );
  width: min(
    var(--n7-insights-circle-size),
    calc(var(--n7-insights-circle-size) / var(--n7-page-width) * 100vw)
  );
  height: min(
    var(--n7-insights-circle-size),
    calc(var(--n7-insights-circle-size) / var(--n7-page-width) * 100vw)
  );
  border-radius: 50%;
  background: var(--n7-insights-circle-gradient);
  opacity: var(--n7-insights-circle-opacity);
  filter: blur(
    min(
      var(--n7-insights-circle-layer-blur),
      calc(var(--n7-insights-circle-layer-blur) / var(--n7-page-width) * 100vw)
    )
  );
  -webkit-filter: blur(
    min(
      var(--n7-insights-circle-layer-blur),
      calc(var(--n7-insights-circle-layer-blur) / var(--n7-page-width) * 100vw)
    )
  );
  pointer-events: none;
  z-index: 0;
}

.n7-insights__layout {
  position: relative;
  z-index: 1;
  min-height: 0;
}

.n7-insights__intro {
  position: absolute;
  left: min(
    var(--n7-insights-intro-x),
    calc(var(--n7-insights-intro-x) / var(--n7-page-width) * 100vw)
  );
  top: min(
    var(--n7-insights-intro-y),
    calc(var(--n7-insights-intro-y) / var(--n7-page-width) * 100vw)
  );
  width: min(
    var(--n7-insights-intro-width),
    calc(100% - 48px),
    calc(var(--n7-insights-intro-width) / var(--n7-page-width) * 100vw)
  );
  max-width: 100%;
}

.n7-insights__title {
  margin: 0 0
    min(
      var(--n7-insights-title-gap),
      calc(var(--n7-insights-title-gap) / var(--n7-page-width) * 100vw)
    );
  font-family: var(--n7-font-archivo);
  font-weight: 500;
  font-size: min(
    var(--n7-insights-title-size),
    calc(var(--n7-insights-title-size) / var(--n7-page-width) * 100vw)
  );
  line-height: var(--n7-insights-title-line);
  letter-spacing: var(--n7-insights-title-tracking);
  color: var(--n7-ice-E9F4F9);
}

.n7-insights__cta {
  padding: var(--n7-insights-cta-pad-y) var(--n7-insights-cta-pad-x);
  border-radius: var(--n7-insights-cta-radius);
  font-family: var(--n7-font);
  font-size: var(--n7-insights-cta-size);
  line-height: 1;
  letter-spacing: 0.04em;
  color: var(--n7-ice-E9F4F9);
  border: 1px solid rgba(233, 244, 249, 0.85);
  background: transparent;
}

.n7-insights__cards {
  position: absolute;
  top: min(
    var(--n7-insights-cards-y),
    calc(var(--n7-insights-cards-y) / var(--n7-page-width) * 100vw)
  );
  left: min(
    var(--n7-insights-cards-x),
    calc(var(--n7-insights-cards-x) / var(--n7-page-width) * 100vw)
  );
  width: min(
    var(--n7-insights-cards-width),
    calc(100% - 32px),
    calc(var(--n7-insights-cards-width) / var(--n7-page-width) * 100vw)
  );
  max-width: 100%;
  display: flex;
  flex-direction: column;
  gap: min(
    var(--n7-insights-row-gap),
    calc(var(--n7-insights-row-gap) / var(--n7-page-width) * 100vw)
  );
}

.n7-insights__pair {
  position: relative;
  width: min(
    var(--n7-insights-pair-width),
    calc(var(--n7-insights-pair-width) / var(--n7-page-width) * 100vw)
  );
  height: min(
    var(--n7-insights-pair-height),
    calc(var(--n7-insights-pair-height) / var(--n7-page-width) * 100vw)
  );
}

/* Featured 670×318 — one sitare + copy (Figma positions) */
.n7-insights__card {
  position: relative;
  box-sizing: border-box;
  border-radius: var(--n7-insights-card-radius);
  background: var(--n7-insights-card-bg);
  overflow: hidden;
}

.n7-insights__card--featured {
  width: min(
    var(--n7-insights-card-width),
    calc(var(--n7-insights-card-width) / var(--n7-page-width) * 100vw)
  );
  height: min(
    var(--n7-insights-card-height),
    calc(var(--n7-insights-card-height) / var(--n7-page-width) * 100vw)
  );
  min-height: min(
    var(--n7-insights-card-height),
    calc(var(--n7-insights-card-height) / var(--n7-page-width) * 100vw)
  );
}

.n7-insights__card--compact {
  position: absolute;
  top: 0;
  width: min(
    var(--n7-insights-compact-card-width),
    calc(var(--n7-insights-compact-card-width) / var(--n7-page-width) * 100vw)
  );
  height: min(
    var(--n7-insights-compact-card-height),
    calc(var(--n7-insights-compact-card-height) / var(--n7-page-width) * 100vw)
  );
  left: 0;
}

.n7-insights__card--compact-2 {
  left: min(
    var(--n7-insights-compact-2-left),
    calc(var(--n7-insights-compact-2-left) / var(--n7-page-width) * 100vw)
  );
}

.n7-insights__card--compact .n7-insights__card-body {
  position: absolute;
  top: min(
    var(--n7-insights-card-body-y),
    calc(var(--n7-insights-card-body-y) / var(--n7-page-width) * 100vw)
  );
  left: min(
    var(--n7-insights-compact-body-x),
    calc(var(--n7-insights-compact-body-x) / var(--n7-page-width) * 100vw)
  );
  width: min(
    var(--n7-insights-compact-body-width),
    calc(var(--n7-insights-compact-body-width) / var(--n7-page-width) * 100vw)
  );
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  box-sizing: border-box;
}

.n7-insights__card--compact .n7-insights__card-btn.n7-btn--outline {
  position: absolute;
  left: min(
    var(--n7-insights-compact-btn-x),
    calc(var(--n7-insights-compact-btn-x) / var(--n7-page-width) * 100vw)
  );
  top: min(
    var(--n7-insights-compact-btn-y),
    calc(var(--n7-insights-compact-btn-y) / var(--n7-page-width) * 100vw)
  );
  margin-top: 0;
}

.n7-insights__card--featured .n7-insights__card-media {
  position: absolute;
  left: min(
    var(--n7-insights-sitare-x),
    calc(var(--n7-insights-sitare-x) / var(--n7-page-width) * 100vw)
  );
  top: min(
    var(--n7-insights-sitare-y),
    calc(var(--n7-insights-sitare-y) / var(--n7-page-width) * 100vw)
  );
  width: min(
    var(--n7-insights-sitare-width),
    calc(var(--n7-insights-sitare-width) / var(--n7-page-width) * 100vw)
  );
  line-height: 0;
}

.n7-insights__sitare {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: calc(var(--n7-insights-sitare-width) / var(--n7-insights-sitare-height));
  border-radius: 8px;
}

.n7-insights__card--featured .n7-insights__card-body {
  position: absolute;
  left: min(
    var(--n7-insights-card-body-x),
    calc(var(--n7-insights-card-body-x) / var(--n7-page-width) * 100vw)
  );
  top: min(
    var(--n7-insights-card-body-y),
    calc(var(--n7-insights-card-body-y) / var(--n7-page-width) * 100vw)
  );
  width: min(
    var(--n7-insights-card-body-width),
    calc(var(--n7-insights-card-body-width) / var(--n7-page-width) * 100vw)
  );
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  box-sizing: border-box;
}

.n7-insights__card-kicker {
  margin: 0 0 var(--n7-insights-card-text-gap);
  font-family: var(--n7-font);
  font-size: var(--n7-insights-card-kicker-size);
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #2490BB;
}

.n7-insights__card-title {
  margin: 0 0 var(--n7-insights-card-text-gap);
  font-family: var(--n7-font-archivo);
  font-weight: 500;
  font-size: var(--n7-insights-card-title-size);
  line-height: 1.25;
  color: var(--n7-ice-E9F4F9);
}

.n7-insights__card-meta {
  margin: 0;
  font-family: var(--n7-font-archivo);
  font-size: var(--n7-insights-card-meta-size);
  line-height: 1.3;
  color: var(--n7-insights-card-meta-color);
}

.n7-insights__card--featured .n7-insights__card-btn.n7-btn--outline {
  position: absolute;
  left: min(
    var(--n7-insights-card-btn-x),
    calc(var(--n7-insights-card-btn-x) / var(--n7-page-width) * 100vw)
  );
  top: min(
    var(--n7-insights-card-btn-y),
    calc(var(--n7-insights-card-btn-y) / var(--n7-page-width) * 100vw)
  );
  margin-top: 0;
}

.n7-insights__card-btn.n7-btn--outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--n7-insights-card-btn-gap);
  box-sizing: border-box;
  width: min(
    var(--n7-insights-card-btn-width),
    100%,
    calc(var(--n7-insights-card-btn-width) / var(--n7-page-width) * 100vw)
  );
  min-height: min(
    var(--n7-insights-card-btn-height),
    calc(var(--n7-insights-card-btn-height) / var(--n7-page-width) * 100vw)
  );
  height: min(
    var(--n7-insights-card-btn-height),
    calc(var(--n7-insights-card-btn-height) / var(--n7-page-width) * 100vw)
  );
  padding-block: min(
    var(--n7-insights-card-btn-pad-y),
    calc(var(--n7-insights-card-btn-pad-y) / var(--n7-page-width) * 100vw)
  );
  padding-inline: min(
    var(--n7-insights-card-btn-pad-x),
    calc(var(--n7-insights-card-btn-pad-x) / var(--n7-page-width) * 100vw)
  );
  border-radius: var(--n7-insights-card-btn-radius);
  font-family: var(--n7-font);
  font-size: 12px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--n7-insights-card-btn-color);
  background: transparent;
  border: 1px solid var(--n7-insights-card-btn-border);
  box-shadow: none;
  transform: none;
}

.n7-insights__card-btn.n7-btn--outline:hover {
  color: rgba(233, 244, 249, 0.65);
  border-color: rgba(233, 244, 249, 0.65);
  transform: none;
}

.n7-insights__footer {
  display: flex;
  justify-content: flex-end;
  margin-top: min(
    var(--n7-insights-all-link-y),
    calc(var(--n7-insights-all-link-y) / var(--n7-page-width) * 100vw)
  );
}

.n7-insights__all-link {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.35em;
  font-family: var(--n7-font);
  font-size: 12px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--n7-cyan-01B4FD);
}

.n7-insights__all-link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -4px;
  width: min(
    var(--n7-insights-all-link-line-width),
    calc(var(--n7-insights-all-link-line-width) / var(--n7-page-width) * 100vw)
  );
  height: 1px;
  background: currentColor;
}

.n7-insights__all-link:hover {
  opacity: 0.85;
}

/* Laptop / tablet — scale from 1440 base; stack when two columns do not fit */
@media (max-width: 1439px) {
  .n7-insights .container {
    padding-left: max(24px, calc(var(--n7-container-pad) / var(--n7-page-width) * 100vw));
    padding-right: max(24px, calc(var(--n7-container-pad) / var(--n7-page-width) * 100vw));
  }

  .n7-insights__stage {
    min-height: calc(var(--n7-insights-stack-height) / var(--n7-page-width) * 100vw);
  }

  .n7-insights__layout {
    min-height: 0;
    padding-bottom: 0;
  }

  .n7-insights__cards {
    max-width: min(
      var(--n7-insights-cards-width),
      calc(var(--n7-insights-cards-width) / var(--n7-page-width) * 100vw),
      100%
    );
  }

  .n7-insights__card--featured {
    width: 100%;
    max-width: min(
      var(--n7-insights-card-width),
      calc(var(--n7-insights-card-width) / var(--n7-page-width) * 100vw)
    );
    height: auto;
    aspect-ratio: calc(var(--n7-insights-card-width) / var(--n7-insights-card-height));
    min-height: min(
      var(--n7-insights-card-height),
      calc(var(--n7-insights-card-height) / var(--n7-page-width) * 100vw)
    );
  }

  .n7-insights__card-btn.n7-btn--outline {
    padding-inline: min(
      var(--n7-insights-card-btn-pad-x),
      calc(var(--n7-insights-card-btn-pad-x) / var(--n7-page-width) * 100vw),
      18%
    );
  }

  .n7-insights__card--featured .n7-insights__card-media {
    left: 3.582%;
    top: 8.019%;
    width: 44.03%;
  }

  .n7-insights__card--featured .n7-insights__card-body {
    left: 52.519%;
    top: 12.55%;
    width: 43.154%;
  }

  .n7-insights__card--featured .n7-insights__card-btn.n7-btn--outline {
    left: 52.519%;
    top: 76.73%;
    max-width: calc(287 / 670 * 100%);
  }

  .n7-insights__pair {
    width: 100%;
    max-width: 100%;
  }

  .n7-insights__card--compact {
    width: calc((100% - var(--n7-insights-pair-gap)) / 2);
    height: auto;
    min-height: min(
      var(--n7-insights-compact-card-height),
      calc(var(--n7-insights-compact-card-height) / var(--n7-page-width) * 100vw)
    );
  }

  .n7-insights__card--compact-2 {
    left: calc(50% + var(--n7-insights-pair-gap) / 2);
  }

  .n7-insights__card--compact .n7-insights__card-body {
    left: 8.736%;
    width: 82.53%;
  }

  .n7-insights__card--compact .n7-insights__card-btn.n7-btn--outline {
    left: 5.07%;
    top: 78.62%;
    max-width: calc(287 / 320.5 * 100%);
  }
}

@media (max-width: 1199px) and (min-width: 992px) {
  .n7-insights__layout {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 48px;
    padding-top: min(
      var(--n7-insights-intro-y),
      calc(var(--n7-insights-intro-y) / var(--n7-page-width) * 100vw)
    );
  }

  .n7-insights__intro,
  .n7-insights__cards {
    position: relative;
    left: auto;
    top: auto;
    width: 100%;
    max-width: min(670px, 100%);
    margin: 0 auto;
  }

  .n7-insights__intro {
    max-width: min(463px, 100%);
    align-self: flex-start;
  }

  .n7-insights__glow-orbit {
    left: min(
      var(--n7-insights-circle-x),
      calc(var(--n7-insights-circle-x) / var(--n7-page-width) * 100vw)
    );
  }
}

@media (min-width: 1200px) and (max-width: 1439px) {
  .n7-insights__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(
        0,
        min(670px, calc(var(--n7-insights-card-width) / var(--n7-page-width) * 100vw))
      );
    gap: clamp(24px, 3vw, 48px);
    align-items: start;
    padding-top: min(
      var(--n7-insights-intro-y),
      calc(var(--n7-insights-intro-y) / var(--n7-page-width) * 100vw)
    );
  }

  .n7-insights__intro,
  .n7-insights__cards {
    position: relative;
    left: auto;
    top: auto;
  }

  .n7-insights__intro {
    width: 100%;
    max-width: min(
      var(--n7-insights-intro-width),
      calc(var(--n7-insights-intro-width) / var(--n7-page-width) * 100vw)
    );
  }

  .n7-insights__cards {
    width: 100%;
    justify-self: end;
    margin: 0;
  }
}

@media (min-width: 1440px) {
  .n7-insights__stage {
    min-height: var(--n7-insights-stack-height);
  }

  .n7-insights__glow-orbit {
    left: var(--n7-insights-circle-x);
    top: var(--n7-insights-circle-y);
    width: var(--n7-insights-circle-size);
    height: var(--n7-insights-circle-size);
    filter: blur(var(--n7-insights-circle-layer-blur));
    -webkit-filter: blur(var(--n7-insights-circle-layer-blur));
  }

  .n7-insights__intro {
    left: var(--n7-insights-intro-x);
    top: var(--n7-insights-intro-y);
    width: var(--n7-insights-intro-width);
  }

  .n7-insights__title {
    font-size: var(--n7-insights-title-size);
    margin-bottom: var(--n7-insights-title-gap);
  }

  .n7-insights__cards {
    left: var(--n7-insights-cards-x);
    top: var(--n7-insights-cards-y);
    width: var(--n7-insights-cards-width);
    gap: var(--n7-insights-row-gap);
  }

  .n7-insights__pair {
    width: var(--n7-insights-pair-width);
    height: var(--n7-insights-pair-height);
  }

  .n7-insights__card--compact {
    width: var(--n7-insights-compact-card-width);
    height: var(--n7-insights-compact-card-height);
  }

  .n7-insights__card--compact-2 {
    left: var(--n7-insights-compact-2-left);
  }

  .n7-insights__card--compact .n7-insights__card-body {
    top: var(--n7-insights-card-body-y);
    left: var(--n7-insights-compact-body-x);
    width: var(--n7-insights-compact-body-width);
  }

  .n7-insights__card--compact .n7-insights__card-btn.n7-btn--outline {
    left: var(--n7-insights-compact-btn-x);
    top: var(--n7-insights-compact-btn-y);
  }

  .n7-insights__card--featured {
    width: var(--n7-insights-card-width);
    height: var(--n7-insights-card-height);
    min-height: var(--n7-insights-card-height);
  }

  .n7-insights__card--featured .n7-insights__card-media {
    left: var(--n7-insights-sitare-x);
    top: var(--n7-insights-sitare-y);
    width: var(--n7-insights-sitare-width);
  }

  .n7-insights__sitare {
    width: var(--n7-insights-sitare-width);
    height: var(--n7-insights-sitare-height);
    aspect-ratio: auto;
  }

  .n7-insights__card--featured .n7-insights__card-body {
    left: var(--n7-insights-card-body-x);
    top: var(--n7-insights-card-body-y);
    width: var(--n7-insights-card-body-width);
  }

  .n7-insights__card--featured .n7-insights__card-btn.n7-btn--outline {
    left: var(--n7-insights-card-btn-x);
    top: var(--n7-insights-card-btn-y);
  }

  .n7-insights__card-btn.n7-btn--outline {
    width: var(--n7-insights-card-btn-width);
    height: var(--n7-insights-card-btn-height);
    min-height: var(--n7-insights-card-btn-height);
    padding-block: var(--n7-insights-card-btn-pad-y);
    padding-inline: var(--n7-insights-card-btn-pad-x);
  }
}

/* ===== responsive/insights.css ===== */
/*
 * Fintech Insights — tablet & mobile only (≥992px unchanged in insights.css)
 * Stacked: intro → featured card → compact pair → footer link.
 */

@media (max-width: 991px) {
  .n7-insights {
    overflow-x: clip;
    padding: clamp(40px, 9vw, 56px) 0 clamp(48px, 10vw, 64px);
  }

  .n7-insights .container {
    padding-left: clamp(20px, 5vw, 32px);
    padding-right: clamp(20px, 5vw, 32px);
  }

  .n7-insights__stage {
    min-height: 0;
    height: auto;
    padding: 0;
  }

  .n7-insights__glow-orbit {
    left: 50%;
    top: clamp(40px, 12vw, 120px);
    right: auto;
    bottom: auto;
    width: min(380px, 88vw);
    height: min(380px, 88vw);
    transform: translateX(-50%);
    opacity: 0.12;
    z-index: 0;
  }

  .n7-insights__layout {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: clamp(32px, 7vw, 48px);
    min-height: 0;
    padding: 0;
  }

  .n7-insights__intro,
  .n7-insights__cards {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    bottom: auto;
    width: 100%;
    max-width: 100%;
    margin: 0;
  }

  .n7-insights__intro {
    text-align: left;
    padding-top: 0;
    margin-bottom: 0;
  }

  .n7-insights__title {
    margin-bottom: clamp(20px, 5vw, var(--n7-insights-title-gap));
    font-size: clamp(24px, 6vw, var(--n7-insights-title-size));
    line-height: 1.25;
  }

  .n7-insights__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: var(--n7-insights-cta-pad-y) clamp(28px, 7vw, var(--n7-insights-cta-pad-x));
    font-size: clamp(14px, 3.5vw, var(--n7-insights-cta-size));
  }

  .n7-insights__cards {
    display: flex;
    flex-direction: column;
    gap: clamp(20px, 4vw, var(--n7-insights-row-gap));
    margin-top: 0;
  }

  /* ---- Featured card ---- */
  .n7-insights__card--featured {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    max-width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: auto;
    padding: clamp(20px, 5vw, 28px);
    gap: clamp(16px, 4vw, 24px);
  }

  .n7-insights__card--featured .n7-insights__card-media,
  .n7-insights__card--featured .n7-insights__card-body,
  .n7-insights__card--featured .n7-insights__card-btn.n7-btn--outline {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    bottom: auto;
    width: 100%;
    max-width: 100%;
    margin: 0;
  }

  .n7-insights__card--featured .n7-insights__card-media {
    max-width: min(var(--n7-insights-sitare-width), 72vw);
    margin: 0 auto;
  }

  .n7-insights__sitare {
    width: 100%;
    height: auto;
    aspect-ratio: calc(var(--n7-insights-sitare-width) / var(--n7-insights-sitare-height));
  }

  .n7-insights__card-title {
    font-size: clamp(16px, 4vw, var(--n7-insights-card-title-size));
    line-height: 1.3;
  }

  .n7-insights__card-meta,
  .n7-insights__card-kicker {
    font-size: clamp(12px, 3vw, var(--n7-insights-card-meta-size));
  }

  .n7-insights__card--featured .n7-insights__card-btn.n7-btn--outline {
    align-self: flex-start;
    width: 100%;
    max-width: min(var(--n7-insights-card-btn-width), 100%);
    margin-top: clamp(4px, 1vw, 8px);
  }

  /* ---- Compact pair ---- */
  .n7-insights__pair {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: clamp(16px, 3vw, var(--n7-insights-row-gap));
    width: 100%;
    height: auto;
    min-height: 0;
  }

  .n7-insights__card--compact,
  .n7-insights__card--compact-2 {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    bottom: auto;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    max-width: 100%;
    height: auto;
    min-height: min(var(--n7-insights-compact-card-height), 280px);
    margin: 0;
    padding: clamp(20px, 5vw, 28px);
    box-sizing: border-box;
  }

  .n7-insights__card--compact .n7-insights__card-body,
  .n7-insights__card--compact-2 .n7-insights__card-body,
  .n7-insights__card--compact .n7-insights__card-btn.n7-btn--outline,
  .n7-insights__card--compact-2 .n7-insights__card-btn.n7-btn--outline {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    bottom: auto;
    width: 100%;
    max-width: 100%;
    margin: 0;
  }

  .n7-insights__card--compact .n7-insights__card-body,
  .n7-insights__card--compact-2 .n7-insights__card-body {
    flex: 1 1 auto;
    min-height: 0;
  }

  .n7-insights__card--compact .n7-insights__card-btn.n7-btn--outline,
  .n7-insights__card--compact-2 .n7-insights__card-btn.n7-btn--outline {
    margin-top: clamp(16px, 4vw, 24px);
    align-self: flex-start;
    width: 100%;
    max-width: min(var(--n7-insights-card-btn-width), 100%);
  }

  .n7-insights__card-btn.n7-btn--outline {
    width: 100%;
    max-width: 100%;
    height: auto;
    min-height: var(--n7-insights-card-btn-height);
    padding-block: var(--n7-insights-card-btn-pad-y);
    padding-inline: clamp(16px, 4vw, var(--n7-insights-card-btn-pad-x));
    font-size: clamp(11px, 2.8vw, 12px);
  }

  .n7-insights__footer {
    justify-content: flex-start;
    margin-top: clamp(8px, 2vw, var(--n7-insights-all-link-y));
  }

  .n7-insights__all-link {
    font-size: clamp(11px, 2.8vw, 12px);
  }
}

/* Tablet — two compact cards side by side; featured image + copy row */
@media (min-width: 600px) and (max-width: 991px) {
  .n7-insights__pair {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(16px, 3vw, var(--n7-insights-pair-gap));
  }

  .n7-insights__card--featured {
    display: grid;
    grid-template-columns: minmax(0, 42%) minmax(0, 1fr);
    grid-template-rows: auto auto;
    align-items: start;
    column-gap: clamp(16px, 3vw, 24px);
    row-gap: clamp(12px, 2.5vw, 20px);
  }

  .n7-insights__card--featured .n7-insights__card-media {
    grid-column: 1;
    grid-row: 1 / span 2;
    margin: 0;
    align-self: center;
    max-width: 100%;
  }

  .n7-insights__card--featured .n7-insights__card-body {
    grid-column: 2;
    grid-row: 1;
  }

  .n7-insights__card--featured .n7-insights__card-btn.n7-btn--outline {
    grid-column: 2;
    grid-row: 2;
    width: auto;
    max-width: min(var(--n7-insights-card-btn-width), 100%);
  }

  .n7-insights__card--compact .n7-insights__card-btn.n7-btn--outline,
  .n7-insights__card--compact-2 .n7-insights__card-btn.n7-btn--outline {
    width: 100%;
  }
}

@media (max-width: 767px) {
  .n7-insights {
    padding-top: 36px;
    padding-bottom: 48px;
  }

  .n7-insights__title {
    font-size: clamp(22px, 6.2vw, 28px);
  }

  .n7-insights__cta {
    width: 100%;
    max-width: min(280px, 100%);
  }

  .n7-insights__card--featured .n7-insights__card-btn.n7-btn--outline,
  .n7-insights__card--compact .n7-insights__card-btn.n7-btn--outline,
  .n7-insights__card--compact-2 .n7-insights__card-btn.n7-btn--outline {
    width: 100%;
    max-width: none;
    align-self: stretch;
    justify-content: center;
  }

  .n7-insights__card--compact,
  .n7-insights__card--compact-2 {
    min-height: 0;
  }
}

@media (max-width: 479px) {
  .n7-insights .container {
    padding-left: 16px;
    padding-right: 16px;
  }

  .n7-insights__glow-orbit {
    opacity: 0.08;
    width: min(320px, 95vw);
    height: min(320px, 95vw);
  }

  .n7-insights__title {
    font-size: clamp(20px, 5.8vw, 24px);
  }
}

/* ===== sections/case-studies.css ===== */
/*
 * Case studies carousel — Figma 1440×872; card 1015×438.
 * Tablet/mobile (≤991px): styles/responsive/case-studies.css
 */
.n7-cases {
  position: relative;
  background: var(--n7-cases-bg);
  overflow: hidden;
}

.n7-cases__stage {
  position: relative;
  width: 100%;
  max-width: var(--n7-cases-width);
  min-height: min(
    var(--n7-cases-height),
    calc(var(--n7-cases-height) / var(--n7-cases-width) * 100vw)
  );
  margin: 0 auto;
}

.n7-cases__title {
  position: absolute;
  left: min(
    var(--n7-cases-title-x),
    calc(var(--n7-cases-title-x) / var(--n7-page-width) * 100vw)
  );
  top: min(
    var(--n7-cases-title-y),
    calc(var(--n7-cases-title-y) / var(--n7-page-width) * 100vw)
  );
  width: min(
    var(--n7-cases-title-width),
    calc(100% - 48px),
    calc(var(--n7-cases-title-width) / var(--n7-page-width) * 100vw)
  );
  margin: 0;
  font-family: var(--n7-font-archivo);
  font-weight: 400;
  font-size: min(
    var(--n7-cases-title-size),
    calc(var(--n7-cases-title-size) / var(--n7-page-width) * 100vw)
  );
  line-height: var(--n7-cases-title-line);
  letter-spacing: var(--n7-cases-title-tracking);
  text-align: center;
  color: var(--n7-ice-E9F4F9);
}

.n7-cases__carousel {
  position: absolute;
  left: min(
    var(--n7-cases-carousel-x),
    calc(var(--n7-cases-carousel-x) / var(--n7-page-width) * 100vw)
  );
  top: min(
    var(--n7-cases-carousel-y),
    calc(var(--n7-cases-carousel-y) / var(--n7-page-width) * 100vw)
  );
  width: min(
    var(--n7-cases-carousel-width),
    calc(100% - 32px),
    calc(var(--n7-cases-carousel-width) / var(--n7-page-width) * 100vw)
  );
  max-width: 100%;
  overflow: hidden;
  outline: none;
}

.n7-cases__carousel:focus-visible {
  outline: 2px solid var(--n7-cyan-01B4FD);
  outline-offset: 4px;
}

.n7-cases__viewport {
  overflow: hidden;
  width: 100%;
  height: min(
    var(--n7-cases-carousel-height),
    calc(var(--n7-cases-carousel-height) / var(--n7-page-width) * 100vw)
  );
  isolation: isolate;
}

.n7-cases__track {
  display: flex;
  flex-wrap: nowrap;
  width: 100%;
  height: 100%;
  transition: transform var(--n7-cases-slide-duration) ease;
  will-change: transform;
}

.n7-cases__slide {
  flex: 0 0 100%;
  width: 100%;
  min-width: 0;
  height: 100%;
  overflow: hidden;
  box-sizing: border-box;
}

.n7-cases__slide--split .n7-cases__split {
  min-height: min(
    var(--n7-cases-carousel-height),
    calc(var(--n7-cases-carousel-height) / var(--n7-page-width) * 100vw)
  );
}

.n7-cases__split {
  display: flex;
  align-items: stretch;
  gap: min(
    var(--n7-cases-content-gap),
    calc(var(--n7-cases-content-gap) / var(--n7-page-width) * 100vw)
  );
  width: 100%;
  height: 100%;
}

.n7-cases__split-visual {
  position: relative;
  flex: 0 0 min(
    var(--n7-cases-split-visual-width),
    calc(var(--n7-cases-split-visual-width) / var(--n7-page-width) * 100vw)
  );
  width: min(
    var(--n7-cases-split-visual-width),
    calc(var(--n7-cases-split-visual-width) / var(--n7-page-width) * 100vw)
  );
  min-width: 0;
  height: 100%;
  min-height: inherit;
}

.n7-cases__visual-card {
  position: absolute;
  inset: 0;
  box-sizing: border-box;
  border-radius: var(--n7-cases-card-radius);
  background: var(--n7-cases-card-bg);
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: min(
    var(--n7-cases-sitare-x),
    calc(var(--n7-cases-sitare-x) / var(--n7-page-width) * 100vw)
  );
}

.n7-cases__visual-card--behind {
  left: min(
    var(--n7-cases-card-behind-offset-x),
    calc(var(--n7-cases-card-behind-offset-x) / var(--n7-page-width) * 100vw)
  );
  top: min(
    var(--n7-cases-card-behind-offset-y),
    calc(var(--n7-cases-card-behind-offset-y) / var(--n7-page-width) * 100vw)
  );
  right: auto;
  bottom: auto;
  width: 100%;
  height: 100%;
  transform: scale(var(--n7-cases-card-behind-scale));
  transform-origin: center center;
  opacity: var(--n7-cases-card-behind-opacity);
  z-index: 0;
  pointer-events: none;
}

.n7-cases__split-visual > .n7-cases__visual-card:not(.n7-cases__visual-card--behind) {
  z-index: 1;
}

.n7-cases__split-visual .n7-cases__sitare {
  width: 100%;
  height: auto;
  max-height: 100%;
}

.n7-cases__panel {
  flex: 1 1 min(
    var(--n7-cases-card-body-width),
    calc(var(--n7-cases-card-body-width) / var(--n7-page-width) * 100vw)
  );
  width: min(
    var(--n7-cases-card-body-width),
    calc(var(--n7-cases-card-body-width) / var(--n7-page-width) * 100vw)
  );
  min-width: 0;
  min-height: min(
    var(--n7-cases-card-body-min-height),
    calc(var(--n7-cases-card-body-min-height) / var(--n7-page-width) * 100vw)
  );
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  box-sizing: border-box;
  padding-top: min(
    var(--n7-cases-card-body-y),
    calc(var(--n7-cases-card-body-y) / var(--n7-page-width) * 100vw)
  );
}

.n7-cases__slide--split .n7-cases__card-title {
  font-size: min(
    var(--n7-cases-title-size),
    calc(var(--n7-cases-title-size) / var(--n7-page-width) * 100vw)
  );
  line-height: var(--n7-cases-title-line);
  letter-spacing: var(--n7-cases-title-tracking);
  font-weight: 400;
}

.n7-cases__card-copy {
  margin: 0 0 var(--n7-cases-brand-btn-gap);
  font-family: var(--n7-font);
  font-size: min(
    var(--n7-cases-card-copy-size),
    calc(var(--n7-cases-card-copy-size) / var(--n7-page-width) * 100vw)
  );
  font-weight: 400;
  line-height: 1.5;
  color: rgba(233, 244, 249, 0.55);
}

.n7-cases__panel .n7-cases__card-btn {
  margin-top: auto;
}

@media (prefers-reduced-motion: reduce) {
  .n7-cases__track {
    transition: none;
  }
}

.n7-cases__deck {
  position: relative;
  width: 100%;
  height: min(
    var(--n7-cases-carousel-height),
    calc(var(--n7-cases-carousel-height) / var(--n7-page-width) * 100vw)
  );
  overflow: visible;
}

/* Stacked sitare cards — back peeks from behind */
.n7-cases__card {
  position: absolute;
  top: 0;
  left: 0;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  border-radius: var(--n7-cases-card-radius);
  background: var(--n7-cases-card-bg);
  overflow: hidden;
}

.n7-cases__card--behind {
  left: min(
    var(--n7-cases-card-behind-offset-x),
    calc(var(--n7-cases-card-behind-offset-x) / var(--n7-page-width) * 100vw)
  );
  top: min(
    var(--n7-cases-card-behind-offset-y),
    calc(var(--n7-cases-card-behind-offset-y) / var(--n7-page-width) * 100vw)
  );
  transform: scale(var(--n7-cases-card-behind-scale));
  transform-origin: center center;
  opacity: var(--n7-cases-card-behind-opacity);
  z-index: 0;
  pointer-events: none;
}

.n7-cases__card--active {
  z-index: 1;
}

.n7-cases__slide--combined .n7-cases__card-media {
  position: absolute;
  left: min(
    var(--n7-cases-combined-sitare-x),
    calc(var(--n7-cases-combined-sitare-x) / var(--n7-page-width) * 100vw)
  );
  top: min(
    var(--n7-cases-combined-sitare-y),
    calc(var(--n7-cases-combined-sitare-y) / var(--n7-page-width) * 100vw)
  );
  width: min(
    var(--n7-cases-sitare-slot-width),
    calc(var(--n7-cases-sitare-slot-width) / var(--n7-page-width) * 100vw)
  );
  max-height: calc(100% - 2 * var(--n7-cases-combined-sitare-y));
  line-height: 0;
}

.n7-cases__sitare {
  display: block;
  width: 100%;
  height: auto;
  max-height: 100%;
  object-fit: contain;
  aspect-ratio: calc(var(--n7-cases-sitare-width) / var(--n7-cases-sitare-height));
  border-radius: 8px;
}

.n7-cases__card-body {
  position: absolute;
  left: min(
    var(--n7-cases-card-body-x),
    calc(var(--n7-cases-card-body-x) / var(--n7-page-width) * 100vw)
  );
  top: min(
    var(--n7-cases-card-body-y),
    calc(var(--n7-cases-card-body-y) / var(--n7-page-width) * 100vw)
  );
  width: min(
    var(--n7-cases-card-body-width),
    calc(var(--n7-cases-card-body-width) / var(--n7-page-width) * 100vw)
  );
  min-height: min(
    var(--n7-cases-card-body-min-height),
    calc(var(--n7-cases-card-body-min-height) / var(--n7-page-width) * 100vw)
  );
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  box-sizing: border-box;
}

.n7-cases__card-kicker {
  margin: 0 0 var(--n7-cases-card-text-gap);
  font-family: var(--n7-font);
  font-size: var(--n7-cases-card-kicker-size);
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #2490bb;
}

.n7-cases__card-title {
  margin: 0 0 var(--n7-cases-card-text-gap);
  font-family: var(--n7-font-archivo);
  font-weight: 500;
  font-size: min(
    var(--n7-cases-card-title-size),
    calc(var(--n7-cases-card-title-size) / var(--n7-page-width) * 100vw)
  );
  line-height: 1.25;
  color: var(--n7-ice-E9F4F9);
}

.n7-cases__brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 var(--n7-cases-brand-btn-gap);
}

.n7-cases__brand-logo {
  display: block;
  width: 28px;
  height: 28px;
  border-radius: 50%;
}

.n7-cases__brand-name {
  font-family: var(--n7-font-archivo);
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  color: var(--n7-ice-E9F4F9);
}

.n7-cases__card-btn.n7-btn--outline {
  margin: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: min(
    var(--n7-cases-card-btn-width),
    100%,
    calc(var(--n7-cases-card-btn-width) / var(--n7-page-width) * 100vw)
  );
  height: min(
    var(--n7-cases-card-btn-height),
    calc(var(--n7-cases-card-btn-height) / var(--n7-page-width) * 100vw)
  );
  padding: var(--n7-cases-card-btn-pad-y) var(--n7-cases-card-btn-pad-x);
  border-radius: 10px;
  font-family: var(--n7-font);
  font-size: 12px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--n7-cases-card-btn-color);
  background: transparent;
  border: 1px solid var(--n7-cases-card-btn-border);
  text-decoration: none;
}

.n7-cases__footer {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin-top: min(
    var(--n7-cases-nav-y),
    calc(var(--n7-cases-nav-y) / var(--n7-page-width) * 100vw)
  );
  gap: var(--n7-cases-nav-gap);
}

.n7-cases__nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  flex: 0 0 auto;
  margin-left: min(
    var(--n7-cases-nav-x),
    calc(var(--n7-cases-nav-x) / var(--n7-cases-carousel-width) * 100%)
  );
}

.n7-cases__arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 1px solid rgba(233, 244, 249, 0.35);
  border-radius: 50%;
  background: transparent;
  color: var(--n7-ice-E9F4F9);
  cursor: pointer;
}

.n7-cases__arrow svg {
  width: 14px;
  height: 14px;
}

.n7-cases__dots {
  display: flex;
  align-items: center;
  gap: 8px;
}

.n7-cases__dot {
  width: 8px;
  height: 8px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: rgba(233, 244, 249, 0.25);
  cursor: pointer;
}

.n7-cases__dot--active {
  width: 28px;
  border-radius: 999px;
  background: var(--n7-cyan-01B4FD);
}

.n7-cases__view-all {
  margin-left: auto;
  position: relative;
  display: inline-flex;
  align-items: center;
  font-family: var(--n7-font);
  font-size: 12px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--n7-cyan-01B4FD);
  white-space: nowrap;
}

.n7-cases__view-all::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -4px;
  width: min(
    var(--n7-cases-view-all-line-width),
    calc(var(--n7-cases-view-all-line-width) / var(--n7-page-width) * 100vw)
  );
  height: 1px;
  background: currentColor;
}

@media (min-width: 1440px) {
  .n7-cases__stage {
    width: var(--n7-cases-width);
    min-height: var(--n7-cases-height);
    height: var(--n7-cases-height);
  }

  .n7-cases__title {
    left: var(--n7-cases-title-x);
    top: var(--n7-cases-title-y);
    width: var(--n7-cases-title-width);
    font-size: var(--n7-cases-title-size);
  }

  .n7-cases__carousel {
    left: var(--n7-cases-carousel-x);
    top: var(--n7-cases-carousel-y);
    width: var(--n7-cases-carousel-width);
  }

  .n7-cases__viewport,
  .n7-cases__deck {
    height: var(--n7-cases-carousel-height);
  }

  .n7-cases__split {
    gap: var(--n7-cases-content-gap);
  }

  .n7-cases__split-visual {
    flex-basis: var(--n7-cases-split-visual-width);
    width: var(--n7-cases-split-visual-width);
  }

  .n7-cases__visual-card {
    padding: var(--n7-cases-sitare-x);
  }

  .n7-cases__visual-card--behind {
    left: var(--n7-cases-card-behind-offset-x);
    top: var(--n7-cases-card-behind-offset-y);
  }

  .n7-cases__panel {
    flex-basis: var(--n7-cases-card-body-width);
    width: var(--n7-cases-card-body-width);
    min-height: var(--n7-cases-card-body-min-height);
    padding-top: var(--n7-cases-card-body-y);
  }

  .n7-cases__slide--split .n7-cases__card-title {
    font-size: var(--n7-cases-title-size);
  }

  .n7-cases__card-copy {
    font-size: var(--n7-cases-card-copy-size);
  }

  .n7-cases__card--behind {
    left: var(--n7-cases-card-behind-offset-x);
    top: var(--n7-cases-card-behind-offset-y);
  }

  .n7-cases__slide--combined .n7-cases__card-media {
    left: var(--n7-cases-combined-sitare-x);
    top: var(--n7-cases-combined-sitare-y);
    width: var(--n7-cases-sitare-slot-width);
  }

  .n7-cases__card-body {
    left: var(--n7-cases-card-body-x);
    top: var(--n7-cases-card-body-y);
    width: var(--n7-cases-card-body-width);
    min-height: var(--n7-cases-card-body-min-height);
  }

  .n7-cases__sitare {
    width: var(--n7-cases-sitare-width);
    height: var(--n7-cases-sitare-height);
    aspect-ratio: auto;
  }

  .n7-cases__card-btn.n7-btn--outline {
    width: var(--n7-cases-card-btn-width);
    height: var(--n7-cases-card-btn-height);
  }

  .n7-cases__nav {
    margin-left: var(--n7-cases-nav-x);
  }
}

@media (max-width: 1439px) {
  .n7-cases__stage {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-height: calc(var(--n7-cases-height) / var(--n7-cases-width) * 100vw);
    height: auto;
  }

  .n7-cases__carousel {
    position: relative;
    left: auto;
    top: auto;
    width: min(var(--n7-cases-carousel-width), calc(100% - 32px));
    margin: min(
        var(--n7-cases-title-carousel-gap),
        calc(var(--n7-cases-title-carousel-gap) / var(--n7-page-width) * 100vw)
      )
      auto 0;
  }

  .n7-cases__title {
    position: relative;
    left: auto;
    top: auto;
    width: 100%;
    max-width: var(--n7-cases-title-width);
    margin: 0 auto;
    padding-top: min(
      var(--n7-cases-title-y),
      calc(var(--n7-cases-title-y) / var(--n7-page-width) * 100vw)
    );
  }

  .n7-cases__card-btn.n7-btn--outline {
    padding-inline: min(var(--n7-cases-card-btn-pad-x), 18%);
  }
}

/* ===== responsive/case-studies.css ===== */
/*
 * Case studies carousel — tablet & mobile only (≥992px unchanged in case-studies.css)
 * Resets desktop fixed viewport/slide heights; equal slide height via flex stretch.
 */

@media (max-width: 991px) {
  .n7-cases {
    overflow-x: clip;
    padding: clamp(40px, 9vw, 56px) 0 clamp(48px, 10vw, 64px);
  }

  .n7-cases__stage {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    min-height: 0;
    height: auto;
    padding: 0 clamp(20px, 5vw, 32px);
  }

  .n7-cases__title {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    margin: 0 0 clamp(28px, 6vw, 40px);
    padding-top: 0;
    font-size: clamp(28px, 7vw, var(--n7-cases-title-size));
    line-height: 1.2;
    text-align: center;
  }

  .n7-cases__carousel {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    max-width: 100%;
    margin: 0;
  }

  .n7-cases__viewport {
    width: 100%;
    height: auto;
    min-height: 0;
    max-height: none;
    overflow: hidden;
  }

  .n7-cases__track {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    height: auto;
  }

  .n7-cases__slide {
    display: flex;
    flex-direction: column;
    flex: 0 0 100%;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    height: auto;
    overflow: visible;
    align-self: stretch;
  }

  .n7-cases__slide > .n7-cases__deck,
  .n7-cases__slide > .n7-cases__split {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    width: 100%;
    height: auto;
    min-height: 0;
    box-sizing: border-box;
  }

  /* ---- Combined slide ---- */
  .n7-cases__deck {
    position: relative;
    width: 100%;
    min-height: 0;
    overflow: visible;
  }

  .n7-cases__card {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    height: auto;
    overflow: visible;
  }

  .n7-cases__card--behind {
    display: none;
  }

  .n7-cases__card--active {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: clamp(14px, 3.5vw, 20px);
    flex: 1 1 auto;
    height: auto;
    min-height: 0;
    padding: clamp(18px, 4.5vw, 24px);
    box-sizing: border-box;
    overflow: visible;
    background: var(--n7-cases-card-bg);
    border-radius: var(--n7-cases-card-radius);
  }

  .n7-cases__card--active .n7-cases__card-media,
  .n7-cases__card--active .n7-cases__card-body {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    max-width: 100%;
    min-height: 0;
    margin: 0;
  }

  .n7-cases__card--active .n7-cases__card-media {
    flex: 0 0 auto;
    max-width: min(220px, 70vw);
    margin: 0 auto;
    line-height: 0;
  }

  .n7-cases__card--active .n7-cases__sitare {
    display: block;
    width: 100%;
    height: auto;
    max-height: clamp(120px, 32vw, 180px);
    object-fit: contain;
    aspect-ratio: calc(var(--n7-cases-sitare-width) / var(--n7-cases-sitare-height));
  }

  .n7-cases__card-body {
    position: relative;
    top: auto;
    left: auto;
    display: block;
    flex: 0 0 auto;
    width: 100%;
    min-height: auto;
  }

  .n7-cases__card-kicker {
    font-size: clamp(11px, 2.8vw, var(--n7-cases-card-kicker-size));
  }

  .n7-cases__card-title {
    font-size: clamp(16px, 4vw, 20px);
    line-height: 1.3;
    margin-bottom: clamp(8px, 2vw, 12px);
  }

  .n7-cases__card-meta {
    font-size: clamp(12px, 3vw, var(--n7-cases-card-meta-size));
  }

  .n7-cases__brand {
    margin-bottom: clamp(10px, 2.5vw, 14px);
  }

  .n7-cases__card--active .n7-cases__card-btn.n7-btn--outline {
    position: relative;
    top: auto;
    left: auto;
    display: inline-flex;
    width: auto;
    min-width: min(var(--n7-cases-card-btn-width), 100%);
    max-width: 100%;
    height: auto;
    min-height: 40px;
    margin-top: auto;
    padding: 10px clamp(18px, 4.5vw, 28px);
    font-size: 11px;
  }

  /* ---- Split slides ---- */
  .n7-cases__split {
    height: auto;
    min-height: 0;
  }

  .n7-cases__slide--split .n7-cases__split {
    flex-direction: column;
    align-items: stretch;
    gap: clamp(16px, 3.5vw, 22px);
  }

  .n7-cases__split-visual {
    position: relative;
    flex: 0 0 auto;
    width: 100%;
    max-width: min(220px, 70vw);
    height: auto;
    min-height: 0;
    max-height: clamp(120px, 32vw, 180px);
    margin: 0 auto;
    aspect-ratio: calc(var(--n7-cases-sitare-width) / var(--n7-cases-sitare-height));
  }

  .n7-cases__visual-card--behind {
    display: none;
  }

  .n7-cases__split-visual > .n7-cases__visual-card:not(.n7-cases__visual-card--behind) {
    position: relative;
    width: 100%;
    height: auto;
    min-height: 0;
    padding: clamp(14px, 3.5vw, 18px);
    box-sizing: border-box;
    background: var(--n7-cases-card-bg);
    border-radius: var(--n7-cases-card-radius);
  }

  .n7-cases__split-visual .n7-cases__sitare {
    max-height: clamp(100px, 28vw, 150px);
    width: 100%;
    height: auto;
    object-fit: contain;
  }

  .n7-cases__panel {
    position: relative;
    top: auto;
    left: auto;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    min-height: 0;
    padding: clamp(18px, 4.5vw, 24px);
    box-sizing: border-box;
    background: var(--n7-cases-card-bg);
    border-radius: var(--n7-cases-card-radius);
  }

  .n7-cases__slide--split .n7-cases__card-title {
    font-size: clamp(16px, 4vw, 20px);
    line-height: 1.3;
    margin-bottom: clamp(8px, 2vw, 10px);
  }

  .n7-cases__card-copy {
    margin: 0 0 clamp(12px, 3vw, 16px);
    font-size: clamp(13px, 3.2vw, var(--n7-cases-card-copy-size));
    line-height: 1.4;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
  }

  .n7-cases__panel .n7-cases__card-btn.n7-btn--outline {
    position: relative;
    top: auto;
    left: auto;
    display: inline-flex;
    width: auto;
    min-width: min(var(--n7-cases-card-btn-width), 100%);
    max-width: 100%;
    min-height: 40px;
    margin-top: auto;
    padding: 10px clamp(18px, 4.5vw, 28px);
    font-size: 11px;
  }

  .n7-cases__sitare {
    width: 100%;
    height: auto;
    aspect-ratio: calc(var(--n7-cases-sitare-width) / var(--n7-cases-sitare-height));
  }

  .n7-cases__footer {
    flex-direction: column;
    align-items: stretch;
    gap: clamp(20px, 4vw, 28px);
    margin-top: clamp(24px, 5vw, 36px);
  }

  .n7-cases__view-all {
    order: -1;
    align-self: flex-end;
    margin-left: 0;
    font-size: clamp(11px, 2.8vw, 12px);
  }

  .n7-cases__nav {
    margin-left: 0;
    align-self: center;
    justify-content: center;
    width: 100%;
  }

  .n7-cases__arrow {
    width: 44px;
    height: 44px;
  }
}

@media (min-width: 600px) and (max-width: 991px) {
  .n7-cases__slide--split .n7-cases__split {
    flex-direction: row;
    align-items: stretch;
    gap: clamp(14px, 3vw, var(--n7-cases-content-gap));
  }

  .n7-cases__split-visual {
    flex: 0 0 min(38%, 200px);
    width: min(38%, 200px);
    max-width: 200px;
    max-height: none;
    margin: 0;
  }

  .n7-cases__panel {
    flex: 1 1 auto;
    min-width: 0;
  }

  .n7-cases__card--active {
    display: grid;
    grid-template-columns: minmax(0, 38%) minmax(0, 1fr);
    column-gap: clamp(14px, 3vw, 20px);
    row-gap: clamp(10px, 2vw, 14px);
    align-items: start;
  }

  .n7-cases__card--active .n7-cases__card-media {
    grid-column: 1;
    grid-row: 1 / span 2;
    margin: 0;
    align-self: center;
    max-width: 100%;
  }

  .n7-cases__card--active .n7-cases__card-body {
    grid-column: 2;
    grid-row: 1;
  }

  .n7-cases__card--active .n7-cases__card-btn {
    grid-column: 2;
    grid-row: 2;
  }

  .n7-cases__footer {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
  }

  .n7-cases__view-all {
    order: 2;
    align-self: center;
  }

  .n7-cases__nav {
    order: 1;
    width: auto;
    flex: 1 1 auto;
    justify-content: flex-start;
  }
}

@media (max-width: 767px) {
  .n7-cases {
    padding-top: 36px;
    padding-bottom: 48px;
  }

  .n7-cases__title {
    font-size: clamp(24px, 6.5vw, 32px);
  }

  .n7-cases__card--active .n7-cases__card-btn.n7-btn--outline,
  .n7-cases__panel .n7-cases__card-btn.n7-btn--outline {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 479px) {
  .n7-cases__stage {
    padding-left: 16px;
    padding-right: 16px;
  }

  .n7-cases__title {
    font-size: clamp(22px, 6.2vw, 26px);
  }
}

/* ===== sections/paperless-cta.css ===== */
/*
 * Paperless CTA — Figma 1440×316.
 * Copy left + buttons right (same row); tablet/mobile: styles/responsive/paperless-cta.css
 */
.n7-paperless-cta {
  position: relative;
  background: var(--n7-paperless-cta-bg);
  overflow: hidden;
}

.n7-paperless-cta__stage {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
  /* Figma: 214px from content box (607.83) end → Contact us (902) */
  column-gap: min(
    var(--n7-paperless-cta-content-actions-gap),
    calc(var(--n7-paperless-cta-content-actions-gap) / var(--n7-page-width) * 100vw)
  );
  width: 100%;
  max-width: var(--n7-page-width);
  margin: 0 auto;
  box-sizing: border-box;
  padding: clamp(32px, calc(var(--n7-paperless-cta-content-y) / var(--n7-page-width) * 100vw), var(--n7-paperless-cta-content-y))
    clamp(20px, calc(var(--n7-paperless-cta-content-x) / var(--n7-page-width) * 100vw), var(--n7-paperless-cta-content-x));
  min-height: clamp(
    200px,
    calc(var(--n7-paperless-cta-height) / var(--n7-page-width) * 100vw),
    var(--n7-paperless-cta-height)
  );
  height: auto;
}

.n7-paperless-cta__content {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  flex: 0 0 auto;
  width: min(
    var(--n7-paperless-cta-content-width),
    calc(var(--n7-paperless-cta-content-width) / var(--n7-page-width) * 100vw)
  );
  min-width: 0;
  z-index: 1;
}

.n7-paperless-cta__title {
  flex: 0 0 auto;
  box-sizing: border-box;
  width: 100%;
  height: auto;
  margin: 0 0 clamp(
    20px,
    calc(var(--n7-paperless-cta-title-sub-gap) / var(--n7-page-width) * 100vw),
    var(--n7-paperless-cta-title-sub-gap)
  );
  font-family: var(--n7-font-archivo);
  font-weight: 500;
  font-size: clamp(
    24px,
    calc(var(--n7-paperless-cta-title-size) / var(--n7-page-width) * 100vw),
    var(--n7-paperless-cta-title-size)
  );
  line-height: var(--n7-paperless-title-line);
  letter-spacing: var(--n7-paperless-title-tracking);
  color: var(--n7-ice-E9F4F9);
}

.n7-paperless-cta__sub {
  flex: 0 0 auto;
  box-sizing: border-box;
  width: min(100%, var(--n7-paperless-cta-sub-width));
  height: auto;
  margin: 0;
  font-family: var(--n7-font-archivo);
  font-weight: 400;
  font-size: clamp(
    14px,
    calc(var(--n7-paperless-sub-size) / var(--n7-page-width) * 100vw),
    var(--n7-paperless-sub-size)
  );
  line-height: var(--n7-paperless-sub-line);
  letter-spacing: var(--n7-paperless-sub-tracking);
  color: color-mix(in srgb, var(--n7-ice-E9F4F9) var(--n7-paperless-sub-opacity), transparent);
}

.n7-paperless-cta__actions {
  z-index: 1;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  flex: 0 0 auto;
  flex-shrink: 0;
  width: auto;
  max-width: var(--n7-paperless-cta-actions-width);
  height: clamp(
    44px,
    calc(var(--n7-paperless-cta-actions-height) / var(--n7-page-width) * 100vw),
    var(--n7-paperless-cta-actions-height)
  );
  gap: clamp(
    12px,
    calc(var(--n7-paperless-btn-gap) / var(--n7-page-width) * 100vw),
    var(--n7-paperless-btn-gap)
  );
}

.n7-paperless-cta__btn-contact.n7-btn--outline {
  flex: 0 0 auto;
  color: var(--n7-ice-E9F4F9);
  border-color: var(--n7-hero-btn-outline-border);
  transform: none;
}

.n7-paperless-cta__btn-contact.n7-btn--outline:hover {
  opacity: 0.9;
  transform: translateY(-1px);
  color: var(--n7-ice-E9F4F9);
  background: transparent;
  border-color: var(--n7-hero-btn-outline-border);
}

.n7-paperless-cta__btn-demo.n7-btn--primary {
  flex: 0 0 auto;
  transform: none;
}

.n7-paperless-cta__btn-demo.n7-btn--primary:hover {
  opacity: 0.9;
  transform: translateY(-1px);
  color: #ffffff;
  background: var(--n7-hero-btn-gradient);
}

/* Laptop — card/buttons scale; fixed 208+210px buttons overflow the row */
@media (min-width: 992px) and (max-width: 1439px) {
  .n7-paperless-cta__stage {
    container-type: inline-size;
    flex-wrap: nowrap;
    justify-content: space-between;
    column-gap: clamp(
      16px,
      calc(var(--n7-paperless-cta-content-actions-gap) / var(--n7-page-width) * 100cqw),
      var(--n7-paperless-cta-content-actions-gap)
    );
    padding-left: clamp(32px, calc(var(--n7-paperless-cta-content-x) / var(--n7-page-width) * 100cqw), var(--n7-paperless-cta-content-x));
    padding-right: clamp(32px, calc(var(--n7-paperless-cta-content-x) / var(--n7-page-width) * 100cqw), var(--n7-paperless-cta-content-x));
  }

  .n7-paperless-cta__content {
    flex: 1 1 auto;
    min-width: 0;
    width: min(
      var(--n7-paperless-cta-content-width),
      calc(var(--n7-paperless-cta-content-width) / var(--n7-page-width) * 100cqw)
    );
  }

  .n7-paperless-cta__actions {
    flex: 0 0 auto;
    width: min(
      var(--n7-paperless-cta-actions-width),
      calc(var(--n7-paperless-cta-actions-width) / var(--n7-page-width) * 100cqw)
    );
    max-width: 100%;
    height: min(
      var(--n7-paperless-cta-actions-height),
      calc(var(--n7-paperless-cta-actions-height) / var(--n7-page-width) * 100cqw)
    );
    gap: calc(var(--n7-paperless-btn-gap) / var(--n7-paperless-cta-actions-width) * 100%);
  }

  .n7-paperless-cta__btn-contact.n7-btn--outline,
  .n7-paperless-cta__btn-demo.n7-btn--primary {
    min-width: 0;
    height: 100%;
    min-height: 0;
    font-size: calc(var(--n7-cta-btn-font-size) / var(--n7-page-width) * 100cqw);
    border-radius: calc(var(--n7-hero-btn-radius) / var(--n7-page-width) * 100cqw);
  }

  .n7-paperless-cta__btn-contact.n7-btn--outline {
    flex: 208 1 0;
  }

  .n7-paperless-cta__btn-demo.n7-btn--primary {
    flex: 210 1 0;
  }
}

/* Figma 1440 — exact absolute layout */
@media (min-width: 1440px) {
  .n7-paperless-cta,
  .n7-paperless-cta__stage {
    min-height: var(--n7-paperless-cta-height);
    height: var(--n7-paperless-cta-height);
  }

  .n7-paperless-cta__stage {
    display: block;
    padding: 0;
    column-gap: 0;
  }

  .n7-paperless-cta__content {
    position: absolute;
    left: var(--n7-paperless-cta-content-x);
    top: var(--n7-paperless-cta-content-y);
    width: var(--n7-paperless-cta-content-width);
    height: var(--n7-paperless-cta-content-height);
    flex: none;
    max-width: none;
  }

  .n7-paperless-cta__title {
    width: var(--n7-paperless-cta-title-width);
    height: var(--n7-paperless-cta-title-height);
    margin-bottom: var(--n7-paperless-cta-title-sub-gap);
    font-size: var(--n7-paperless-cta-title-size);
  }

  .n7-paperless-cta__sub {
    width: var(--n7-paperless-cta-sub-width);
    height: var(--n7-paperless-cta-sub-height);
    font-size: var(--n7-paperless-sub-size);
  }

  .n7-paperless-cta__actions {
    position: absolute;
    top: var(--n7-paperless-cta-actions-y);
    left: var(--n7-paperless-cta-actions-x);
    width: var(--n7-paperless-cta-actions-width);
    height: var(--n7-paperless-cta-actions-height);
    max-width: none;
    gap: var(--n7-paperless-btn-gap);
  }

  .n7-paperless-cta__btn-contact.n7-btn--outline {
    font-size: var(--n7-hero-btn-font-size);
  }

  .n7-paperless-cta__btn-demo.n7-btn--primary {
    font-size: var(--n7-hero-btn-font-size);
  }
}

/* ===== responsive/paperless-cta.css ===== */
/*
 * Paperless CTA — tablet & mobile only (≥992px + 1440px block in paperless-cta.css)
 * Stacked: copy → Contact us + Request demo.
 */

@media (max-width: 991px) {
  .n7-paperless-cta {
    overflow-x: clip;
  }

  .n7-paperless-cta__stage {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    width: 100%;
    max-width: 100%;
    min-height: 0;
    height: auto;
    padding: clamp(36px, 8vw, 48px) clamp(20px, 5vw, 32px);
    gap: clamp(24px, 5vw, 32px);
    column-gap: 0;
  }

  .n7-paperless-cta__content {
    position: relative;
    top: auto;
    left: auto;
    flex: 0 0 auto;
    width: 100%;
    max-width: 100%;
    height: auto;
    min-height: 0;
  }

  .n7-paperless-cta__title {
    margin-bottom: clamp(12px, 3vw, var(--n7-paperless-cta-title-sub-gap));
    font-size: clamp(22px, 5.5vw, var(--n7-paperless-cta-title-size));
    line-height: 1.25;
  }

  .n7-paperless-cta__sub {
    width: 100%;
    max-width: none;
    font-size: clamp(14px, 3.5vw, var(--n7-paperless-sub-size));
    line-height: 1.35;
  }

  .n7-paperless-cta__actions {
    position: relative;
    top: auto;
    left: auto;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: clamp(12px, 3vw, var(--n7-paperless-btn-gap));
    width: 100%;
    max-width: 100%;
    height: auto;
    min-height: 0;
  }

  .n7-paperless-cta__btn-contact.n7-btn--outline,
  .n7-paperless-cta__btn-demo.n7-btn--primary {
    flex: 0 0 auto;
    font-size: var(--n7-hero-btn-font-size);
  }
}

@media (max-width: 767px) {
  .n7-paperless-cta__stage {
    padding-top: 32px;
    padding-bottom: 40px;
  }

  .n7-paperless-cta__title {
    font-size: clamp(20px, 5.8vw, 26px);
  }

  .n7-paperless-cta__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .n7-paperless-cta__btn-contact.n7-btn--outline,
  .n7-paperless-cta__btn-demo.n7-btn--primary {
    margin-inline: auto;
  }
}

@media (max-width: 479px) {
  .n7-paperless-cta__stage {
    padding-left: 16px;
    padding-right: 16px;
  }

  .n7-paperless-cta__title {
    font-size: clamp(18px, 5.4vw, 22px);
  }

  .n7-paperless-cta__sub {
    font-size: 14px;
  }
}

/* ===== sections/site-footer.css ===== */
/*
 * Site footer — Figma 1440×787 (page continuation after paperless CTA).
 * Logo: Mask group.svg 440×233 @ 53,130.17 · grid 816.32×509 @ 543.68,130 · col gap 107px · row gap 126px.
 * Tablet/mobile (≤991px): styles/responsive/site-footer.css
 */
.n7-site-footer {
  position: relative;
  margin: 0;
  padding: 0;
  background: var(--n7-footer-bg);
  overflow: hidden;
}

/* Figma ellipse — 1440×556.77 @ 0,547.54 · linear fill 5% · layer blur */
.n7-site-footer__glow-orbit {
  position: absolute;
  left: var(--n7-footer-glow-x);
  top: min(
    var(--n7-footer-glow-y),
    calc(var(--n7-footer-glow-y) / var(--n7-page-width) * 100vw)
  );
  width: 100%;
  max-width: var(--n7-footer-glow-width);
  height: min(
    var(--n7-footer-glow-height),
    calc(var(--n7-footer-glow-height) / var(--n7-page-width) * 100vw)
  );
  border-radius: 50%;
  background: var(--n7-footer-glow-gradient);
  opacity: var(--n7-footer-glow-opacity);
  filter: blur(
    min(
      var(--n7-footer-glow-layer-blur),
      calc(var(--n7-footer-glow-layer-blur) / var(--n7-page-width) * 100vw)
    )
  );
  -webkit-filter: blur(
    min(
      var(--n7-footer-glow-layer-blur),
      calc(var(--n7-footer-glow-layer-blur) / var(--n7-page-width) * 100vw)
    )
  );
  pointer-events: none;
  z-index: 0;
}

.n7-site-footer__stage {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns:
    min(
      var(--n7-footer-logo-width),
      calc(var(--n7-footer-logo-width) / var(--n7-page-width) * 100vw)
    )
    minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-items: start;
  column-gap: min(
    var(--n7-footer-logo-grid-gap),
    calc(var(--n7-footer-logo-grid-gap) / var(--n7-page-width) * 100vw)
  );
  row-gap: clamp(32px, 4vw, 56px);
  width: 100%;
  max-width: var(--n7-footer-width);
  min-height: min(
    var(--n7-footer-height),
    calc(var(--n7-footer-height) / var(--n7-page-width) * 100vw)
  );
  margin: 0 auto;
  box-sizing: border-box;
  padding: clamp(48px, calc(var(--n7-footer-logo-y) / var(--n7-page-width) * 100vw), var(--n7-footer-logo-y))
    clamp(20px, calc(var(--n7-footer-logo-x) / var(--n7-page-width) * 100vw), var(--n7-footer-logo-x))
    clamp(32px, calc((var(--n7-footer-height) - var(--n7-footer-copy-y) - var(--n7-footer-copy-height)) / var(--n7-page-width) * 100vw), 40px);
}

.n7-site-footer__brand {
  grid-column: 1;
  grid-row: 1;
  display: block;
  width: 100%;
  line-height: 0;
  text-decoration: none;
}

.n7-site-footer__logo {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: calc(var(--n7-footer-logo-width) / var(--n7-footer-logo-height));
}

.n7-site-footer__grid {
  grid-column: 2;
  grid-row: 1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: min(
    var(--n7-footer-col-gap),
    calc(var(--n7-footer-col-gap) / var(--n7-footer-grid-width) * 100%)
  );
  row-gap: min(
    var(--n7-footer-row-gap),
    calc(var(--n7-footer-row-gap) / var(--n7-page-width) * 100vw)
  );
  width: 100%;
  max-width: var(--n7-footer-grid-width);
  justify-self: end;
  box-sizing: border-box;
}

.n7-site-footer__col {
  min-width: 0;
}

.n7-site-footer__heading {
  margin: 0 0 var(--n7-footer-heading-gap);
  font-family: var(--n7-font-archivo);
  font-weight: 500;
  font-size: clamp(
    16px,
    calc(var(--n7-footer-heading-size) / var(--n7-page-width) * 100vw),
    var(--n7-footer-heading-size)
  );
  line-height: var(--n7-footer-heading-line);
  color: var(--n7-ice-E9F4F9);
}

.n7-site-footer__address {
  margin: 0;
  font-family: var(--n7-font-archivo);
  font-weight: 400;
  font-size: clamp(
    13px,
    calc(var(--n7-footer-body-size) / var(--n7-page-width) * 100vw),
    var(--n7-footer-body-size)
  );
  line-height: var(--n7-footer-body-line);
  color: color-mix(in srgb, var(--n7-ice-E9F4F9) var(--n7-footer-body-opacity), transparent);
}

.n7-site-footer__col--nav .n7-site-footer__heading {
  margin-bottom: var(--n7-footer-heading-gap);
}

.n7-site-footer__col--nav {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.n7-site-footer__links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--n7-footer-links-list-gap);
}

.n7-site-footer__link {
  display: inline-flex;
  align-items: flex-start;
  gap: calc(var(--n7-footer-link-gap) / var(--n7-page-width) * 100vw);
  max-width: 100%;
  font-family: var(--n7-font-archivo);
  font-weight: 400;
  font-size: max(14px, calc(var(--n7-footer-link-size) / var(--n7-page-width) * 100vw));
  line-height: var(--n7-footer-link-line);
  text-decoration: none;
}

/* Text-only box 136.45×21 — all nav list items (scales below 1440) */
.n7-site-footer__col--nav .n7-site-footer__link-label {
  display: block;
  flex: 0 0 auto;
  box-sizing: border-box;
  width: calc(var(--n7-footer-link-label-width) / var(--n7-page-width) * 100vw);
  max-width: var(--n7-footer-link-label-width);
  height: calc(var(--n7-footer-link-label-height) / var(--n7-page-width) * 100vw);
  min-height: calc(var(--n7-footer-link-label-height) / var(--n7-page-width) * 100vw);
  line-height: calc(var(--n7-footer-link-label-height) / var(--n7-page-width) * 100vw);
  color: color-mix(in srgb, var(--n7-ice-E9F4F9) var(--n7-footer-link-opacity), transparent);
}

/* Solutions items 4–6: text box 136.45×42 */
.n7-site-footer__col--solutions .n7-site-footer__link-item--wrap .n7-site-footer__link-label {
  height: calc(var(--n7-footer-link-label-height-wrap) / var(--n7-page-width) * 100vw);
  min-height: calc(var(--n7-footer-link-label-height-wrap) / var(--n7-page-width) * 100vw);
  line-height: calc(var(--n7-footer-link-label-height) / var(--n7-page-width) * 100vw);
}

/* Arrow vertically centered to its text box */
.n7-site-footer__col--nav .n7-site-footer__link-arrow {
  flex-shrink: 0;
  display: block;
  width: calc(var(--n7-footer-arrow-width) / var(--n7-page-width) * 100vw);
  height: calc(var(--n7-footer-arrow-height) / var(--n7-page-width) * 100vw);
  margin-top: calc(
    (var(--n7-footer-link-label-height) - var(--n7-footer-arrow-height)) / 2 / var(--n7-page-width) *
      100vw
  );
}

.n7-site-footer__col--solutions .n7-site-footer__link-item--wrap .n7-site-footer__link-arrow {
  margin-top: calc(
    (var(--n7-footer-link-label-height-wrap) - var(--n7-footer-arrow-height)) / 2 /
      var(--n7-page-width) * 100vw
  );
}

.n7-site-footer__copy {
  grid-column: 1 / -1;
  grid-row: 2;
  box-sizing: border-box;
  margin: 0;
  margin-left: max(
    20px,
    calc(var(--n7-footer-copy-x) / var(--n7-page-width) * 100%)
  );
  margin-right: auto;
  padding: 0;
  width: min(
    calc(100% - max(20px, calc(var(--n7-footer-copy-x) / var(--n7-page-width) * 100%))),
    calc(var(--n7-footer-copy-width) / var(--n7-page-width) * 100%)
  );
  max-width: var(--n7-footer-copy-width);
  min-height: calc(var(--n7-footer-copy-height) / var(--n7-page-width) * 100vw);
  font-family: var(--n7-font-archivo);
  font-weight: 400;
  font-size: max(12px, calc(var(--n7-footer-copy-size) / var(--n7-page-width) * 100vw));
  line-height: var(--n7-footer-copy-line);
  text-align: center;
  color: color-mix(in srgb, var(--n7-ice-E9F4F9) var(--n7-footer-copy-opacity), transparent);
}

/* Laptop / tablet landscape — scale layout, keep proportions */
@media (max-width: 1439px) {
  .n7-site-footer__stage {
    min-height: auto;
  }

  .n7-site-footer__grid {
    width: 100%;
    max-width: min(100%, calc(var(--n7-footer-grid-width) / var(--n7-page-width) * 100vw));
    justify-self: stretch;
  }

  .n7-site-footer__links {
    gap: calc(var(--n7-footer-links-list-gap) / var(--n7-page-width) * 100vw);
  }

  .n7-site-footer__col--nav {
    width: auto;
    max-width: calc(var(--n7-footer-link-row-width) / var(--n7-page-width) * 100vw);
  }
}

@media (max-width: 1199px) and (min-width: 900px) {
  .n7-site-footer__stage {
    grid-template-columns: 1fr;
    row-gap: clamp(28px, 4vw, 48px);
  }

  .n7-site-footer__brand {
    grid-column: 1;
    justify-self: center;
    width: min(var(--n7-footer-logo-width), calc(var(--n7-footer-logo-width) / var(--n7-page-width) * 100vw));
  }

  .n7-site-footer__grid {
    grid-column: 1;
    grid-row: 2;
    justify-self: stretch;
  }
}

/* Figma 1440 — exact pixel layout (do not change) */
@media (min-width: 1440px) {
  .n7-site-footer__glow-orbit {
    top: var(--n7-footer-glow-y);
    height: var(--n7-footer-glow-height);
    filter: blur(var(--n7-footer-glow-layer-blur));
    -webkit-filter: blur(var(--n7-footer-glow-layer-blur));
  }

  .n7-site-footer__stage {
    display: block;
    height: var(--n7-footer-height);
    min-height: var(--n7-footer-height);
    padding: 0;
  }

  .n7-site-footer__brand {
    position: absolute;
    left: var(--n7-footer-logo-x);
    top: var(--n7-footer-logo-y);
    width: var(--n7-footer-logo-width);
  }

  .n7-site-footer__grid {
    position: absolute;
    left: var(--n7-footer-grid-x);
    top: var(--n7-footer-grid-y);
    width: var(--n7-footer-grid-width);
    max-width: var(--n7-footer-grid-width);
    grid-template-columns: repeat(3, var(--n7-footer-col-width));
    column-gap: var(--n7-footer-col-gap);
    row-gap: var(--n7-footer-row-gap);
    justify-self: auto;
  }

  .n7-site-footer__heading {
    font-size: var(--n7-footer-heading-size);
  }

  .n7-site-footer__address {
    font-size: var(--n7-footer-body-size);
  }

  .n7-site-footer__link {
    font-size: var(--n7-footer-link-size);
    line-height: var(--n7-footer-link-line);
    gap: var(--n7-footer-link-gap);
    max-width: var(--n7-footer-link-row-width);
  }

  .n7-site-footer__col--nav {
    width: var(--n7-footer-link-row-width);
    max-width: var(--n7-footer-link-row-width);
  }

  .n7-site-footer__col--nav .n7-site-footer__link-label {
    width: var(--n7-footer-link-label-width);
    max-width: var(--n7-footer-link-label-width);
    height: var(--n7-footer-link-label-height);
    min-height: var(--n7-footer-link-label-height);
    line-height: var(--n7-footer-link-label-height);
  }

  .n7-site-footer__col--solutions .n7-site-footer__link-item--wrap .n7-site-footer__link-label {
    height: var(--n7-footer-link-label-height-wrap);
    min-height: var(--n7-footer-link-label-height-wrap);
    line-height: var(--n7-footer-link-label-height);
  }

  .n7-site-footer__col--nav .n7-site-footer__link-arrow {
    width: var(--n7-footer-arrow-width);
    height: var(--n7-footer-arrow-height);
    margin-top: calc((var(--n7-footer-link-label-height) - var(--n7-footer-arrow-height)) / 2);
  }

  .n7-site-footer__col--solutions .n7-site-footer__link-item--wrap .n7-site-footer__link-arrow {
    margin-top: calc((var(--n7-footer-link-label-height-wrap) - var(--n7-footer-arrow-height)) / 2);
  }

  .n7-site-footer__copy {
    position: absolute;
    left: var(--n7-footer-copy-x);
    top: var(--n7-footer-copy-y);
    width: var(--n7-footer-copy-width);
    max-width: var(--n7-footer-copy-width);
    min-height: var(--n7-footer-copy-height);
    margin: 0;
    font-size: var(--n7-footer-copy-size);
    line-height: var(--n7-footer-copy-line);
    text-align: center;
  }
}

/* ===== responsive/site-footer.css ===== */
/*
 * Site footer — tablet & mobile only (≥992px + 1440px block in site-footer.css)
 * Stacked: logo → link columns → copyright.
 */

@media (max-width: 991px) {
  .n7-site-footer {
    overflow-x: clip;
  }

  .n7-site-footer__glow-orbit {
    left: 50%;
    top: auto;
    bottom: 0;
    width: min(100%, 120vw);
    max-width: none;
    height: min(320px, 70vw);
    transform: translateX(-50%);
    opacity: 0.05;
  }

  .n7-site-footer__stage {
    position: relative;
    top: auto;
    left: auto;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    align-items: stretch;
    row-gap: clamp(28px, 6vw, 40px);
    column-gap: 0;
    width: 100%;
    max-width: 100%;
    min-height: 0;
    height: auto;
    padding: clamp(40px, 9vw, 56px) clamp(20px, 5vw, 32px) clamp(32px, 7vw, 48px);
  }

  .n7-site-footer__brand {
    position: relative;
    top: auto;
    left: auto;
    grid-column: 1;
    grid-row: 1;
    justify-self: center;
    width: 100%;
    max-width: min(var(--n7-footer-logo-width), 72vw, 320px);
    margin: 0 auto;
  }

  .n7-site-footer__grid {
    position: relative;
    top: auto;
    left: auto;
    grid-column: 1;
    grid-row: 2;
    display: grid;
    grid-template-columns: 1fr;
    row-gap: clamp(28px, 5vw, 36px);
    column-gap: 0;
    width: 100%;
    max-width: 100%;
    justify-self: stretch;
  }

  .n7-site-footer__col {
    min-width: 0;
    width: 100%;
  }

  .n7-site-footer__col--nav,
  .n7-site-footer__col--solutions {
    width: 100%;
    max-width: 100%;
  }

  .n7-site-footer__heading {
    margin-bottom: clamp(10px, 2.5vw, var(--n7-footer-heading-gap));
    font-size: clamp(15px, 3.8vw, var(--n7-footer-heading-size));
  }

  .n7-site-footer__address {
    font-size: clamp(13px, 3.2vw, var(--n7-footer-body-size));
    line-height: 1.45;
  }

  .n7-site-footer__links {
    gap: clamp(8px, 2vw, var(--n7-footer-links-list-gap));
  }

  .n7-site-footer__link {
    align-items: center;
    gap: 10px;
    max-width: 100%;
    font-size: clamp(14px, 3.5vw, var(--n7-footer-link-size));
    line-height: 1.35;
  }

  /* Drop Figma fixed label boxes — they clip/wrap badly on phones */
  .n7-site-footer__col--nav .n7-site-footer__link-label,
  .n7-site-footer__col--solutions .n7-site-footer__link-item--wrap .n7-site-footer__link-label {
    width: auto;
    max-width: none;
    height: auto;
    min-height: 0;
    line-height: 1.35;
    flex: 1 1 auto;
    min-width: 0;
  }

  .n7-site-footer__col--nav .n7-site-footer__link-arrow,
  .n7-site-footer__col--solutions .n7-site-footer__link-item--wrap .n7-site-footer__link-arrow {
    flex-shrink: 0;
    width: var(--n7-footer-arrow-width);
    height: var(--n7-footer-arrow-height);
    margin-top: 0;
  }

  .n7-site-footer__copy {
    position: relative;
    top: auto;
    left: auto;
    grid-column: 1;
    grid-row: 3;
    width: 100%;
    max-width: 100%;
    min-height: 0;
    margin: clamp(8px, 2vw, 16px) 0 0;
    padding: 0;
    font-size: clamp(11px, 2.8vw, var(--n7-footer-copy-size));
    line-height: 1.45;
    text-align: center;
  }
}

/* Tablet — two columns for office addresses */
@media (min-width: 600px) and (max-width: 991px) {
  .n7-site-footer__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: clamp(24px, 5vw, 40px);
    row-gap: clamp(28px, 5vw, 36px);
  }

  /* Solutions block spans full width below office addresses */
  .n7-site-footer__col--solutions {
    grid-column: 1 / -1;
  }
}

@media (max-width: 767px) {
  .n7-site-footer__stage {
    padding-top: 36px;
    padding-bottom: 40px;
  }

  .n7-site-footer__brand {
    max-width: min(280px, 78vw);
  }

  .n7-site-footer__grid {
    grid-template-columns: 1fr;
  }

  .n7-site-footer__col--solutions {
    grid-column: auto;
  }
}

@media (max-width: 479px) {
  .n7-site-footer__stage {
    padding-left: 16px;
    padding-right: 16px;
  }

  .n7-site-footer__copy {
    font-size: 11px;
    text-align: left;
  }
}
