/* Disable CSS smooth-scroll while JS snaps a hash target into place. */
html.hash-landing,
html.hash-landing body {
  scroll-behavior: auto !important;
}

/* Infinite IT shared page upgrade — 2026-08-19 */
.page-max-v110 {
  --page-ink: #10213f;
  --page-muted: #566681;
  --page-blue: #1769e8;
  --page-cyan: #1fc7d4;
  --page-coral: #ff725e;
  --page-violet: #7657e8;
  --page-accent: var(--page-blue);
  --page-accent-2: var(--page-cyan);
  --page-line: rgba(31, 83, 150, 0.14);
  --page-surface: rgba(255, 255, 255, 0.88);
  --page-shadow: 0 28px 76px rgba(29, 72, 132, 0.16);
}

.page-max-v110.page-theme-green {
  --page-accent: #119d75;
  --page-accent-2: #26b9cc;
}

.page-max-v110.page-theme-orange {
  --page-accent: #ed654f;
  --page-accent-2: #7358e8;
}

.page-max-v110.page-theme-cyan {
  --page-accent: #1769e8;
  --page-accent-2: #1fc7d4;
}

.page-max-v110 :where(a, button, input, select, summary):focus-visible {
  outline: 3px solid color-mix(in srgb, var(--page-accent) 38%, transparent);
  outline-offset: 4px;
}

.page-max-v110 :where(section, article[id], footer) {
  scroll-margin-top: 96px;
}

.page-max-v110 .page-top-section {
  position: relative;
  isolation: isolate;
  overflow: clip;
  min-height: 0;
  display: grid;
  align-items: center;
  padding-top: clamp(7rem, 11vw, 10rem);
  padding-bottom: clamp(4.5rem, 7vw, 7rem);
  background:
    radial-gradient(circle at 82% 22%, color-mix(in srgb, var(--page-accent) 21%, transparent), transparent 32%),
    radial-gradient(circle at 92% 82%, color-mix(in srgb, var(--page-accent-2) 14%, transparent), transparent 28%),
    linear-gradient(135deg, #fbfdff 0%, #eff7ff 50%, #e5f2ff 100%);
}

.page-max-v110 .page-top-section::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: 0.32;
  background-image:
    linear-gradient(rgba(23, 105, 232, 0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(23, 105, 232, 0.08) 1px, transparent 1px);
  background-size: 60px 60px;
  mask-image: linear-gradient(90deg, transparent 0%, #000 42%, #000 100%);
}

.page-max-v110 .page-top-section.has-page-cover {
  background: #edf6ff;
}

.page-max-v110 .has-page-cover .page-max-cover-art {
  position: absolute;
  inset: auto;
  z-index: 0;
  width: auto;
  height: var(--cover-text-height, 100%);
  object-fit: cover;
  object-position: center;
}

.page-max-v110 .page-top-section.has-page-cover::before {
  z-index: 1;
  opacity: 0.2;
}

.page-max-v110 .page-top-section.has-page-cover::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(90deg, rgba(248, 252, 255, 0.99) 0%, rgba(242, 249, 255, 0.96) 34%, rgba(238, 247, 255, 0.44) 58%, rgba(232, 244, 255, 0.06) 100%);
  pointer-events: none;
}

.page-max-v110 .has-page-cover > .section-inner {
  position: relative;
  z-index: 2;
}

.page-max-v110 .page-max-hero-grid {
  width: 100%;
  display: block;
}

.page-max-v110 .page-max-hero-grid > :where(.sec-hdr, .sec-hdr-left, .pricing-hero-copy) {
  max-width: 720px;
  margin: 0;
  text-align: left;
  align-items: flex-start;
}

.page-max-v110 .page-top-section .sec-title {
  max-width: 13ch;
  text-wrap: balance;
}

.page-max-v110 .page-top-section .sec-sub {
  max-width: 65ch;
  color: var(--page-muted);
  line-height: 1.75;
}

.page-max-v110 :where(.svc-card, .port-card, .pricing-card, .about-val-card) {
  transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}

@media (hover: hover) and (pointer: fine) {
  .page-max-v110 :where(.svc-card, .port-card, .pricing-card):hover {
    transform: translateY(-6px);
    box-shadow: 0 24px 54px rgba(30, 70, 125, 0.14);
  }
}

.page-max-v110 .footer-contact-list address {
  line-height: 1.6;
}

.redirect-page.page-max-v110 {
  min-height: 100svh;
  display: grid;
  place-items: center;
  padding: 1.25rem;
  background:
    radial-gradient(circle at 80% 20%, rgba(23, 105, 232, 0.20), transparent 32%),
    linear-gradient(145deg, #fbfdff, #e8f3ff);
}

.redirect-page.page-max-v110 .redirect-card {
  width: min(100%, 520px);
  padding: clamp(2rem, 6vw, 3.5rem);
  border: 1px solid rgba(255, 255, 255, 0.92);
  border-radius: 32px;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: var(--page-shadow);
  text-align: center;
  backdrop-filter: blur(16px);
}

@media (max-width: 900px) {
  .page-max-v110 .page-top-section .sec-title {
    max-width: 16ch;
  }
}

@media (max-width: 620px) {
  .page-max-v110 .page-top-section {
    min-height: auto;
    padding-top: 6.5rem;
    padding-bottom: 4rem;
  }

  .page-max-v110 .has-page-cover .page-max-cover-art {
    object-position: 64% center;
    opacity: 0.44;
  }

  .page-max-v110 .page-top-section.has-page-cover::after {
    background: linear-gradient(90deg, rgba(248, 252, 255, 0.99), rgba(239, 248, 255, 0.76));
  }
}

/* In-page About hashes (#how, #faq, #partners) need real section heights.
   content-visibility:auto plus contain-intrinsic-size makes those
   targets land short or overshoot, especially on phones. */
.page-max-v110 main > section,
.page-max-v110 main > .section,
.page-max-v110 .partners,
.page-max-v110 .faq-section {
  content-visibility: visible;
  contain-intrinsic-size: auto;
}

.page-max-v110 :where(section[id], article[id]) {
  scroll-margin-top: calc(72px + var(--app-safe-top, 0px));
}

/* Buyer-intent FAQ: keep long answers readable on phones and tablets. */
.page-max-v110 .faq-section {
  scroll-margin-top: calc(72px + var(--app-safe-top, 0px));
}

.page-max-v110 .faq-q {
  align-items: flex-start;
  overflow-wrap: break-word;
}

.page-max-v110 .faq-q .faq-icon {
  margin-top: 0.15em;
}

.page-max-v110 .faq-item.open .faq-a {
  max-height: 80rem !important;
}

.page-max-v110 .faq-a-inner {
  overflow-wrap: break-word;
}

.page-max-v110 .faq-a-inner a {
  display: inline;
  padding: 0.1em 0;
}

@media (max-width: 1100px) {
  .page-max-v110 .faq-header {
    min-height: 0;
    padding-right: 0;
  }

  .page-max-v110 .faq-mascot {
    display: none;
  }

  .page-max-v110 .faq-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 768px) {
  .page-max-v110 :where(section[id], article[id]),
  .page-max-v110 .faq-section {
    scroll-margin-top: calc(64px + var(--app-safe-top, 0px)) !important;
  }

  .page-max-v110 .faq-section {
    padding-left: max(0px, var(--app-safe-left, 0px));
    padding-right: max(0px, var(--app-safe-right, 0px));
  }

  .page-max-v110 .faq-q {
    min-height: 48px;
    padding: 14px 14px !important;
    font-size: 0.98rem !important;
    line-height: 1.4 !important;
  }

  .page-max-v110 .faq-a-inner {
    padding: 0 14px 16px !important;
    font-size: 0.94rem !important;
    line-height: 1.7 !important;
  }
}

@media (hover: none) and (pointer: coarse) {
  .page-max-v110 .faq-item:hover {
    transform: none !important;
    box-shadow: 0 4px 18px rgba(15, 23, 42, 0.04) !important;
  }

  .page-max-v110 .faq-q {
    min-height: 48px;
    touch-action: manipulation;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-max-v110 *,
  .page-max-v110 *::before,
  .page-max-v110 *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
