/* Fulmor v47 subpage alignment refinement
 * Resolves full-bleed section seams, accidental rounded-card notches,
 * inconsistent reading axes, and responsive orphan-card gaps.
 * Loaded after every earlier Fulmor refinement layer.
 */

/* Information pages: full-width colour fields with one 1240px reading axis. */
.fulmor-subpage-v2 .fulmor-subhero {
  width: 100%;
  max-width: none;
  margin-inline: 0;
  padding-inline: max(24px, calc((100vw - 1240px) / 2));
}

.fulmor-subpage-v2 .fulmor-subsection {
  width: 100%;
  max-width: none;
  margin-inline: 0;
  padding-block: clamp(56px, 6vw, 80px);
  padding-inline: max(24px, calc((100vw - 1240px) / 2));
}

/* The metric background spans the viewport; the cells remain aligned to content. */
.fulmor-subpage-v2 .fulmor-submetrics {
  display: block;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  border: 0;
  border-block: 1px solid var(--sub-line, #dfe3e5);
  background: var(--sub-surface, #fff);
}

.fulmor-subpage-v2 .fulmor-submetrics__inner {
  width: min(1240px, calc(100% - 48px));
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-inline: auto;
  border-inline: 1px solid var(--sub-line, #dfe3e5);
}

.fulmor-subpage-v2 .fulmor-submetrics__inner > article {
  min-width: 0;
  min-height: 88px;
  padding: 16px 18px;
  border: 0 !important;
  border-right: 1px solid var(--sub-line, #dfe3e5) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.fulmor-subpage-v2 .fulmor-submetrics__inner > article:last-child {
  border-right: 0 !important;
}

/* Cards are intentionally separated; small gaps can no longer expose rounded notches. */
.fulmor-subpage-v2 .fulmor-subcards,
.fulmor-reference-page .frp-partner-grid,
.fulmor-reference-page .frp-support-contact__grid,
.fulmor-reference-page[data-page="community"] .frp-article-grid,
.order-conversion-page.product-order-page .checkout-flow-grid {
  gap: 12px;
  border: 0;
  background: transparent;
}

.fulmor-subpage-v2 .fulmor-subcards > article,
.fulmor-reference-page .frp-partner-grid > article,
.fulmor-reference-page .frp-support-contact__grid > article,
.fulmor-reference-page[data-page="community"] .frp-article-grid > article,
.order-conversion-page.product-order-page .checkout-flow-grid > article {
  border: 1px solid var(--sub-line, var(--frp-line, var(--order-line, #dfe3e5))) !important;
  border-radius: 14px !important;
  background: #fff !important;
  overflow: hidden;
}

.fulmor-subpage-v2 .fulmor-subcards > article {
  box-shadow: 0 8px 24px rgb(17 19 21 / 4%) !important;
}

.fulmor-reference-page .frp-partner-grid,
.fulmor-reference-page .frp-support-contact__grid {
  background-color: transparent !important;
}

.fulmor-reference-page[data-page="community"] .frp-article-grid {
  background-color: transparent !important;
}

.order-conversion-page.product-order-page .checkout-flow-grid > article {
  box-shadow: 0 8px 24px rgb(17 19 21 / 4%);
}

/* Product story benefits are a continuous ruled list, not separate cards. */
.order-conversion-page.product-order-page .checkout-benefits > article {
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Product pages use the same content axis as their navigation and footer. */
.order-conversion-page.product-order-page .shell {
  width: min(1240px, calc(100% - 48px)) !important;
  margin-inline: auto;
}

/* Complete research articles share one quiet, readable 720px rail. */
.fulmor-reference-page .frp-research-article__shell {
  width: min(820px, calc(100% - 48px));
  max-width: 820px;
  margin-inline: auto;
  padding-inline: 0;
}

.fulmor-reference-page .frp-research-article__back,
.fulmor-reference-page .frp-research-article__header,
.fulmor-reference-page .frp-research-article__body,
.fulmor-reference-page .frp-research-article__footer {
  width: 100%;
  max-width: 720px;
  margin-inline: auto;
}

.fulmor-reference-page .frp-research-article__back {
  display: flex;
  margin-bottom: 36px;
}

.fulmor-reference-page .frp-research-article__header h1 {
  max-width: 16ch;
  font-size: clamp(46px, 3.9vw, 58px);
  line-height: 1.04;
}

@media (hover: hover) {
  .fulmor-subpage-v2 .fulmor-subcards > article:hover {
    transform: none;
  }
}

@media (min-width: 960px) {
  .fulmor-subpage-v2 .fulmor-subhero {
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
    gap: clamp(40px, 4.5vw, 64px);
  }

  .fulmor-subpage-v2:not([lang="ja"]) .fulmor-subhero h1 {
    max-width: 14ch;
    font-size: clamp(3rem, 5.1vw, 4.6rem) !important;
  }

  .fulmor-reference-page:not([data-language="jp"]) .frp-hero h1 {
    font-size: clamp(3.5rem, 4.2vw, 4.25rem) !important;
  }
}

@media (max-width: 959px) {
  .fulmor-subpage-v2 .fulmor-subhero,
  .fulmor-subpage-v2 .fulmor-subsection {
    width: 100%;
    margin-inline: 0;
    padding-inline: 16px;
  }

  .fulmor-subpage-v2 .fulmor-submetrics__inner,
  .order-conversion-page.product-order-page .shell {
    width: calc(100% - 32px) !important;
  }

  .fulmor-subpage-v2 .fulmor-submetrics__inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .fulmor-subpage-v2 .fulmor-submetrics__inner > article:nth-child(odd) {
    border-right: 1px solid var(--sub-line, #dfe3e5) !important;
  }

  .fulmor-subpage-v2 .fulmor-submetrics__inner > article:nth-child(even) {
    border-right: 0 !important;
  }

  .fulmor-subpage-v2 .fulmor-submetrics__inner > article:nth-child(-n + 2) {
    border-bottom: 1px solid var(--sub-line, #dfe3e5) !important;
  }

  .fulmor-subpage-v2 .fulmor-subcards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .fulmor-subpage-v2 .fulmor-subcards > article:last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }
}

@media (max-width: 1050px) {
  .order-conversion-page.product-order-page .order-language-link {
    order: 1;
  }

  .order-conversion-page.product-order-page .order-header-cta {
    order: 2;
  }

  .order-conversion-page.product-order-page .order-mobile-menu-toggle {
    order: 3;
  }
}

@media (max-width: 599px) {
  .fulmor-subpage-v2 .fulmor-subsection {
    padding-block: 56px;
  }

  .fulmor-subpage-v2 .fulmor-subcards {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .fulmor-subpage-v2 .fulmor-subcards > article,
  .fulmor-subpage-v2[data-page="about"] .fulmor-subcards > article {
    min-height: 0 !important;
    padding: 22px 20px !important;
    border: 1px solid var(--sub-line, #dfe3e5) !important;
    border-radius: 12px !important;
  }

  .fulmor-subpage-v2[data-page="about"] .fulmor-subcards > article > span {
    display: inline-flex !important;
  }

  .fulmor-subpage-v2[data-page="about"] .fulmor-subcards h3 {
    margin: 20px 0 10px !important;
    padding-top: 0 !important;
    font-size: 18px;
  }

  .fulmor-subpage-v2[data-page="about"] .fulmor-subcards p {
    margin-top: 10px !important;
    line-height: 1.55;
  }

  .fulmor-reference-page .frp-partner-grid,
  .fulmor-reference-page .frp-support-contact__grid,
  .fulmor-reference-page[data-page="community"] .frp-article-grid,
  .order-conversion-page.product-order-page .checkout-flow-grid {
    gap: 10px;
  }

  .fulmor-reference-page .frp-partner-grid > article,
  .fulmor-reference-page .frp-support-contact__grid > article,
  .fulmor-reference-page[data-page="community"] .frp-article-grid > article,
  .order-conversion-page.product-order-page .checkout-flow-grid > article {
    border-radius: 12px !important;
  }

  .fulmor-reference-page .frp-research-article__shell {
    width: calc(100% - 32px);
    padding-inline: 0;
  }

  .fulmor-reference-page .frp-research-article__header h1,
  .fulmor-reference-page[lang="ja"][data-language="jp"] .frp-research-article__header h1 {
    max-width: none;
    font-size: 32px !important;
    line-height: 1.1;
  }
}

@media (prefers-reduced-motion: reduce) {
  .fulmor-subpage-v2 .fulmor-subcards > article,
  .fulmor-reference-page .frp-partner-grid > article,
  .fulmor-reference-page .frp-support-contact__grid > article,
  .fulmor-reference-page[data-page="community"] .frp-article-grid > article,
  .order-conversion-page.product-order-page .checkout-flow-grid > article {
    transition: none !important;
  }
}
