/*
 * Latin copy needs a tighter type scale than Japanese to preserve the
 * original RoboPro composition. Applies to every current and future Latin
 * locale; the Japanese source design stays untouched.
 */
html:not([lang="ja"]) body {
  font-size: 17px;
}

html:not([lang="ja"]) .toppage .top-main-copy-text {
  max-width: 290px;
  white-space: normal;
  letter-spacing: .055em;
  font-size: 26px;
  font-weight: 400;
  line-height: 1.32;
}

html:not([lang="ja"]) .toppage .top-main-copy-wrapper {
  width: 300px;
  flex: 0 0 300px;
}

html:not([lang="ja"]) .toppage .top-main-brand-logo {
  width: 48px;
  height: 48px;
}

html:not([lang="ja"]) .toppage .top-main-brand-name {
  font-size: 30px;
}

html:not([lang="ja"]) .toppage .account-opening-cta-button-wrapper {
  max-width: 280px;
  margin-left: 0;
}

html:not([lang="ja"]) .toppage .button.cta-filled {
  min-height: 48px;
  padding: 10px 14px;
  font-size: 17px;
  letter-spacing: .025em;
  line-height: 1.2;
}

html:not([lang="ja"]) .toppage .button-tag {
  padding: 3px 4px;
  font-size: 9px;
}

html:not([lang="ja"]) .content-heading {
  font-size: 30px;
  line-height: 1.4;
}

html:not([lang="ja"]) .content-heading.heading-top {
  font-size: 33px;
  font-weight: 500;
  line-height: 1.32;
  letter-spacing: .01em;
}

html:not([lang="ja"]) .text-body,
html:not([lang="ja"]) .content-text-group {
  font-size: 17px;
  line-height: 1.65;
}

html:not([lang="ja"]) .content-text-group p {
  font-size: inherit;
  line-height: inherit;
}

html:not([lang="ja"]) .toppage .performance-number-title-block {
  font-size: 18px;
  line-height: 1.3;
}

html:not([lang="ja"]) .toppage .performance-number-text-block {
  font-size: 26px;
}

html:not([lang="ja"]) .toppage .performance-number-text,
html:not([lang="ja"]) .toppage .performance-number-text.plus {
  font-size: 46px;
}

html:not([lang="ja"]) .toppage .top-feature-list-text {
  font-size: 17px;
  line-height: 1.45;
}

html:not([lang="ja"]) .toppage .fee-flow-self-text,
html:not([lang="ja"]) .toppage .fee-flow-list-item,
html:not([lang="ja"]) .toppage .reliability-cell-text {
  font-size: 16px;
  line-height: 1.35;
}

html:not([lang="ja"]) .toppage .faq-dropdown-title {
  font-size: 17px;
  line-height: 1.4;
}

html:not([lang="ja"]) .toppage .calc-widget__title {
  font-size: clamp(28px, 2.5vw, 36px);
  line-height: 1.2;
}

html:not([lang="ja"]) .toppage .calc-widget__subtitle {
  margin-bottom: 2rem;
  font-size: 17px;
}

html:not([lang="ja"]) .toppage .calc-widget__wrapper {
  max-width: 62rem;
  gap: 48px;
  margin-bottom: 2rem;
}

html:not([lang="ja"]) .toppage .calc-widget__controls {
  gap: 32px;
}

html:not([lang="ja"]) .toppage .calc-widget__label,
html:not([lang="ja"]) .toppage .calc-widget__minmax {
  font-size: 15px;
}

html:not([lang="ja"]) .toppage .calc-widget__value {
  margin: 8px 0 12px;
  font-size: 26px;
}

html:not([lang="ja"]) .toppage .calc-widget__result {
  padding: 1.4rem;
}

html:not([lang="ja"]) .toppage .calc-widget__result-head {
  gap: .6rem;
  margin-bottom: 1.8rem;
}

html:not([lang="ja"]) .toppage .calc-widget__result-title,
html:not([lang="ja"]) .toppage .calc-widget__stat-label {
  font-size: 17px;
}

html:not([lang="ja"]) .toppage .calc-widget__total {
  font-size: 36px;
}

html:not([lang="ja"]) .toppage .calc-widget__stat-value {
  font-size: 28px;
}

html:not([lang="ja"]) .toppage .calc-widget__cta {
  padding: .45rem .9rem;
  font-size: 15px;
}

@media screen and (min-width: 1280px) {
  html:not([lang="ja"]) .toppage .top-main-copy-wrapper {
    width: 300px;
    flex-basis: 300px;
  }

  html:not([lang="ja"]) .content-heading.heading-top {
    font-size: 33px;
  }

  html:not([lang="ja"]) .button {
    padding: 7px 22px;
    font-size: 16px;
  }

  html:not([lang="ja"]) .toppage .button.cta-filled {
    padding: 10px 14px;
    font-size: 17px;
  }

  html:not([lang="ja"]) .text-body {
    font-size: 17px;
  }
}

@media screen and (max-width: 767px) {
  html:not([lang="ja"]) .toppage .top-main-copy-text {
    font-size: 24px;
  }

  html:not([lang="ja"]) .content-heading.heading-top {
    font-size: 33px;
  }

  html:not([lang="ja"]) .content-heading {
    font-size: 24px;
    line-height: 1.35;
  }

  html:not([lang="ja"]) .content-heading.pagetop {
    font-size: 26px;
  }

  html:not([lang="ja"]) .text-body,
  html:not([lang="ja"]) .content-text-group {
    font-size: 15px;
    line-height: 1.6;
  }

  html:not([lang="ja"]) .toppage .performance-number-title-block {
    font-size: 14px;
  }

  html:not([lang="ja"]) .toppage .performance-number-text-block {
    font-size: 18px;
  }

  html:not([lang="ja"]) .toppage .performance-number-text,
  html:not([lang="ja"]) .toppage .performance-number-text.plus {
    font-size: 32px;
  }

  html:not([lang="ja"]) .toppage .top-feature-list-text {
    font-size: 15px;
  }

  html:not([lang="ja"]) .toppage .calc-widget__title {
    font-size: clamp(22px, 6vw, 28px);
  }

  html:not([lang="ja"]) .toppage .calc-widget__total {
    font-size: 28px;
  }

  html:not([lang="ja"]) .toppage .calc-widget__value {
    font-size: 22px;
  }
}

/* Croatian reliability page: three equal content columns, independent of the
   four-cell Webflow grid used by the original Japanese page. */
.page-heading-block .heading-en {
  display: none;
}

.page-heading-block {
  margin-top: 0;
}

.content-wrapper.pagetop {
  padding-top: 40px;
}

@media screen and (max-width: 767px) {
  .content-wrapper.pagetop.feature-page-intro {
    padding-top: 16px;
  }
}

html:not([lang="ja"]) #w-node-_07d3e3c4-156e-9992-1338-83e4a0616c35-94804a8e .content-heading.pagetop {
  font-size: 36px;
}

@media screen and (max-width: 479px) {
  html:not([lang="ja"]) #w-node-_07d3e3c4-156e-9992-1338-83e4a0616c35-94804a8e .content-heading.pagetop {
    font-size: 26px;
    white-space: normal;
  }
}

.reliability-hr-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-template-rows: auto !important;
  clear: both;
  width: 100%;
  gap: 40px !important;
  margin-top: 0;
  padding-top: 56px;
}
.reliability-hr-grid > .w-layout-cell {
  display: block !important;
  grid-column: auto !important;
  grid-row: auto !important;
  position: static !important;
  width: auto !important;
  min-width: 0;
}
.reliability-hr-grid .content-text-group { display: block; }
.reliability-hr-grid .content-text-group p { margin: 0 0 16px; }
/* The card titles switch to their compact tablet layout at 991px. Keep the
   cards in one column from that breakpoint onward so their text has room. */
@media screen and (max-width: 991px) {
  .reliability-hr-grid { grid-template-columns: 1fr !important; gap: 32px !important; }
}

@media screen and (max-width: 479px) {
  html:not([lang="ja"]) .content-heading.heading-top {
    font-size: 33px;
  }

  html:not([lang="ja"]) .content-heading {
    font-size: 21px;
  }

  html:not([lang="ja"]) .content-heading.pagetop {
    font-size: 22px;
  }

  html:not([lang="ja"]) .text-body,
  html:not([lang="ja"]) .content-text-group {
    font-size: 14px;
  }

  html:not([lang="ja"]) .toppage .top-main-copy-text {
    font-size: 22px;
  }

  html:not([lang="ja"]) .heading-2 {
    font-size: 19px;
  }

  html:not([lang="ja"]) .heading-3 {
    font-size: 16px;
  }

  html:not([lang="ja"]) .fee-flow-self-text {
    font-size: 11px;
  }

  html:not([lang="ja"]) .fee-flow-list-item {
    font-size: 12px;
  }

  html:not([lang="ja"]) .page-heading {
    font-size: 20px;
  }
}

/*
 * Fee page: the "Manual operation" column sits in the same grid row as the
 * H1 heading and is vertically centered across that row. Latin headline
 * text is longer than the Japanese original, so the row is taller and the
 * centered column drifts up into it. Nudge it down to clear the heading —
 * layout/columns unchanged, just spacing.
 */
html:not([lang="ja"]) #w-node-_7eb4f8ef-4f0a-4b81-125d-105740a54600-1bb71e0f {
  margin-top: 72px;
}

@media screen and (max-width: 767px) {
  html:not([lang="ja"]) #w-node-_7eb4f8ef-4f0a-4b81-125d-105740a54600-1bb71e0f {
    margin-top: 24px;
  }

  html:not([lang="ja"]) .fee-flow-block-group,
  html:not([lang="ja"]) .fee-flow-block-group.detail {
    height: auto;
  }

  html:not([lang="ja"]) .fee-flow-arrow {
    height: auto;
    min-height: 220px;
  }
}
