/* Fulmor v46 detail refinement
 * A final, deliberately restrained layer for typography, spacing, responsive
 * line breaks, media framing, and component consistency. Loaded last.
 */

:is(
  .home-page.home-v20,
  .order-conversion-page.product-order-page,
  .fulmor-reference-page,
  .fulmor-subpage-v2
) {
  --fulmor-v46-radius: 14px;
  --fulmor-v46-shadow: 0 18px 48px rgb(22 27 25 / 7%);
  --fulmor-v46-shadow-soft: 0 10px 30px rgb(22 27 25 / 5%);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

:is(
  .home-page.home-v20,
  .order-conversion-page.product-order-page,
  .fulmor-reference-page,
  .fulmor-subpage-v2
) :is(h1, h2, h3) {
  text-wrap: balance;
}

:is(
  .home-page.home-v20,
  .order-conversion-page.product-order-page,
  .fulmor-reference-page,
  .fulmor-subpage-v2
) :is(p, li, dd) {
  text-wrap: pretty;
}

:is(
  .home-page.home-v20,
  .order-conversion-page.product-order-page,
  .fulmor-reference-page,
  .fulmor-subpage-v2
) :is(a, button, summary, input, select, textarea) {
  transition-duration: 180ms;
  transition-timing-function: ease;
}

/* Shared navigation: preserve the clean shell while adding a little depth. */
.home-page.home-v20 .site-header,
.order-conversion-page.product-order-page .shop-header,
.fulmor-reference-page .frp-header,
.fulmor-subpage-v2 .fulmor-subnav-shell {
  border-bottom-color: rgb(17 19 21 / 10%);
  box-shadow: 0 8px 26px rgb(17 19 21 / 3%);
  -webkit-backdrop-filter: blur(18px) saturate(1.08);
  backdrop-filter: blur(18px) saturate(1.08);
}

/* Homepage: improve fine-print legibility and keep the eight-section rhythm. */
.home-page.home-v20 :is(.benefits-footer p, .faq-intro > p) {
  color: #60676d;
  font-size: 13px;
  line-height: 1.65;
}

.home-page.home-v20 .architecture-stat > small {
  color: #c7cbd0;
  font-size: 12px;
  line-height: 1.62;
}

.home-page.home-v20 .architecture-stage .callout small {
  font-size: 14px !important;
  line-height: 1.64 !important;
}

.home-page.home-v20 :is(.benefits-grid article, .architecture-stage, .faq-visual) {
  box-shadow: var(--fulmor-v46-shadow-soft);
}

.home-page.home-v20 .benefits-grid article {
  border-color: #d9ddd9;
  transition-property: border-color, box-shadow, transform;
}

.home-page.home-v20 .use-steps article > span {
  align-items: center;
  align-self: start;
  background: var(--v20-accent);
  border-radius: 50%;
  color: #fff;
  display: inline-flex;
  font-size: 10px;
  height: 32px;
  justify-content: center;
  letter-spacing: .06em;
  padding: 0;
  width: 32px;
}

.home-page.home-v20 .scenario-banner-panel .scenario-controls button {
  box-shadow: 0 8px 24px rgb(17 19 21 / 8%);
  transition-property: background-color, border-color, color, transform;
}

.home-page.home-v20 .faq-items summary {
  transition-property: color;
}

.home-page.home-v20 .faq-items details[open] summary {
  color: var(--v20-accent-text);
}

/* Product, reference, and information pages share the same media treatment. */
.order-conversion-page.product-order-page .checkout-stage,
.fulmor-reference-page .frp-hero-product,
.fulmor-subpage-v2 .fulmor-subhero__visual {
  border-color: rgb(17 19 21 / 10%);
  border-radius: 16px;
  box-shadow: var(--fulmor-v46-shadow-soft);
  overflow: hidden;
}

.order-conversion-page.product-order-page :is(.checkout-actions-card, .order-detail-drawer) {
  border-radius: 12px;
  box-shadow: var(--fulmor-v46-shadow-soft);
}

.order-conversion-page.product-order-page .checkout-flow-grid article {
  overflow: hidden;
}

.order-conversion-page.product-order-page :is(.button, .order-header-cta),
.fulmor-reference-page :is(.frp-order-link, .frp-submit, .frp-article-card__link),
.fulmor-subpage-v2 :is(.fulmor-subbutton, .fulmor-subform button) {
  transition-property: background-color, border-color, color, transform;
}

/* Community and research: stable card baselines and a single reading axis. */
.fulmor-reference-page[data-page="community"] .frp-article-grid article {
  min-height: 220px;
  padding: clamp(22px, 2.2vw, 28px);
  border: 1px solid var(--v21-line);
  border-radius: 12px;
  box-shadow: var(--fulmor-v46-shadow-soft);
  transition-property: border-color, box-shadow, transform;
}

.fulmor-reference-page[data-page="community"] .frp-article-grid h2 {
  min-height: 2.5em;
}

.fulmor-reference-page .frp-research-library,
.fulmor-reference-page .frp-research-key-points,
.fulmor-reference-page .frp-research-boundary {
  border-radius: 12px;
}

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

.fulmor-reference-page .frp-research-article__body > * + * {
  margin-top: clamp(26px, 3vw, 34px);
}

.fulmor-reference-page .frp-research-article__body > :is(h2, h3) {
  margin-top: clamp(38px, 4.5vw, 48px);
}

.fulmor-reference-page .frp-form-card {
  gap: clamp(28px, 4vw, 64px);
  border-radius: 16px;
  box-shadow: var(--fulmor-v46-shadow);
}

.fulmor-reference-page :is(.frp-business-form, .frp-topic-form) :is(input, select, textarea),
.fulmor-subpage-v2 .fulmor-subform :is(input, textarea) {
  border-radius: 8px;
}

.fulmor-reference-page .frp-faq-wrap details {
  border-radius: 10px;
}

.fulmor-reference-page .frp-faq-wrap details > div {
  max-width: 68ch;
}

@media (hover: hover) {
  .home-page.home-v20 .benefits-grid article:hover,
  .fulmor-reference-page[data-page="community"] .frp-article-grid article:hover {
    border-color: rgb(17 19 21 / 18%);
    box-shadow: var(--fulmor-v46-shadow);
    transform: translateY(-2px);
  }

  .home-page.home-v20 .scenario-banner-panel .scenario-controls button:hover,
  .order-conversion-page.product-order-page .button:hover,
  .fulmor-reference-page .frp-submit:hover,
  .fulmor-subpage-v2 .fulmor-subbutton:hover {
    transform: translateY(-1px);
  }
}

@media (min-width: 960px) {
  .home-page.home-v20 :is(.hydrogen-benefits, .how-to-use, .architecture, .product-faq) {
    padding-block: clamp(88px, 7vw, 120px) !important;
  }

  .home-page.home-v20 .pain-points {
    padding-block: clamp(88px, 7vw, 116px) !important;
  }

  .home-page.home-v20 .hero-cert-review {
    right: var(--v20-pad);
  }

  .home-page.home-v20 .certification-copy small {
    color: #555d63;
    font-size: 9px;
    letter-spacing: .035em;
  }

  .home-page.home-v20 .pain-grid article {
    min-height: 174px;
  }

  .home-page.home-v20 .pain-grid h3 {
    margin-top: 40px;
  }

  .home-page.home-v20:not(.locale-ja) .scenario-banner-panel .scenario-heading h2 {
    max-width: 11ch;
    font-size: clamp(48px, 5vw, 76px);
  }
}

@media (max-width: 820px) {
  .fulmor-reference-page .frp-hero-product,
  .fulmor-subpage-v2 .fulmor-subhero__visual {
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 3 / 2;
  }

  .fulmor-reference-page .frp-form-card {
    gap: 32px;
  }

  .fulmor-reference-page .frp-faq-wrap summary {
    min-height: 64px;
  }
}

.home-page.home-v20.locale-ja .hero-title-prefix,
.home-page.home-v20.locale-ja .hero-title-suffix {
  white-space: nowrap;
}

@media (max-width: 599px) {
  .home-page.home-v20 :is(.hydrogen-benefits, .how-to-use, .architecture) {
    padding-block: 64px !important;
  }

  .home-page.home-v20.locale-ja .hero-title-prefix,
  .home-page.home-v20.locale-ja .hero-title-suffix {
    display: block;
  }

  .home-page.home-v20:not(.locale-ja) .hero h1 {
    max-width: 12ch !important;
    font-size: clamp(44px, 12.2vw, 48px) !important;
  }

  .home-page.home-v20 .certification-copy small {
    color: #555d63;
    font-size: 8.25px;
    letter-spacing: 0;
    line-height: 1.3;
  }

  .home-page.home-v20 .benefit-index {
    height: 52px;
    width: 52px;
  }

  .home-page.home-v20 .benefits-grid article {
    padding: 26px 22px;
  }

  .home-page.home-v20 .benefits-grid h3 {
    margin-top: 20px;
  }

  .home-page.home-v20 .benefits-grid p {
    margin-top: 14px;
  }

  .home-page.home-v20 .use-steps article {
    grid-template-columns: 34px minmax(0, 1fr);
  }

  .home-page.home-v20 .use-steps article > span {
    height: 30px;
    width: 30px;
  }

  .home-page.home-v20.locale-ja .architecture-copy h2 {
    max-width: 14ch;
    font-size: clamp(38px, 10.5vw, 42px) !important;
  }

  .home-page.home-v20 :is(.benefits-footer p, .faq-intro > p, .architecture-stat > small) {
    font-size: 13px;
    line-height: 1.65;
  }

  .fulmor-reference-page[data-page="community"] .frp-article-grid article {
    min-height: 0;
    padding: 22px 20px;
  }

  .fulmor-reference-page[data-page="community"] .frp-article-grid h2 {
    min-height: 0;
  }

  .fulmor-reference-page .frp-research-article__header {
    padding-bottom: 34px;
  }

  .fulmor-reference-page .frp-research-article__body {
    margin-top: 34px;
  }

  .order-conversion-page.product-order-page .checkout-stage,
  .fulmor-reference-page .frp-hero-product,
  .fulmor-subpage-v2 .fulmor-subhero__visual {
    border-radius: 12px;
  }
}

@media (max-width: 390px) {
  .home-page.home-v20 .certification-copy small {
    font-size: 8px;
  }

  .home-page.home-v20.locale-ja .hero h1 {
    font-size: clamp(45px, 11.8vw, 47px) !important;
  }

}

@media (prefers-reduced-motion: reduce) {
  :is(
    .home-page.home-v20,
    .order-conversion-page.product-order-page,
    .fulmor-reference-page,
    .fulmor-subpage-v2
  ) *,
  :is(
    .home-page.home-v20,
    .order-conversion-page.product-order-page,
    .fulmor-reference-page,
    .fulmor-subpage-v2
  ) *::before,
  :is(
    .home-page.home-v20,
    .order-conversion-page.product-order-page,
    .fulmor-reference-page,
    .fulmor-subpage-v2
  ) *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}
