/* Home trust section: integrated from the approved upper half of demo v11. */
.s-home-office-trust {
  --office-trust-ink: #17335f;
  --office-trust-coral: #dc5d55;
  --office-trust-gold: #bd8c37;
  --office-trust-muted: #4f5b69;
  --office-trust-motion-ease: cubic-bezier(.22, .72, .24, 1);
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
  padding: clamp(78px, 7vw, 104px) 0 clamp(62px, 6.4vw, 96px);
  color: var(--office-trust-ink);
  background: #fffcf7;
  border-top: 1px solid rgba(189, 140, 55, 0.16);
}

.s-home-office-trust *,
.s-home-office-trust *::before,
.s-home-office-trust *::after {
  box-sizing: inherit;
}

.s-home-office-trust__inner {
  width: min(calc(100% - 36px), 1160px);
  margin: 0 auto;
}

.s-home-office-trust__header {
  text-align: center;
}

.s-home-office-trust__eyebrow {
  display: grid;
  grid-template-columns: 68px auto auto 68px;
  gap: 14px;
  align-items: center;
  justify-content: center;
  margin: 0;
  color: var(--office-trust-gold);
  font-family: var(--ff-serif, "Noto Serif JP", serif);
  letter-spacing: 0.13em;
}

.s-home-office-trust__eyebrow > span {
  width: 68px;
  height: 1px;
  background: currentColor;
  opacity: 0.72;
}

.s-home-office-trust__eyebrow b {
  font-size: 0.78rem;
  font-weight: 700;
  white-space: nowrap;
}

.s-home-office-trust__eyebrow small {
  padding-left: 14px;
  color: rgba(23, 51, 95, 0.62);
  border-left: 1px solid rgba(189, 140, 55, 0.34);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  white-space: nowrap;
}

.s-home-office-trust__title {
  margin: 24px 0 0;
  color: var(--office-trust-ink);
  font-family: var(--ff-serif, "Noto Serif JP", serif);
  font-size: clamp(2rem, 3vw, 3.08rem);
  font-weight: 700;
  line-height: 1.42;
  letter-spacing: 0.02em;
}

.s-home-office-trust__title span {
  display: block;
}

.s-home-office-trust__title em {
  color: var(--office-trust-coral);
  font-style: normal;
}

.s-home-office-trust__lead {
  display: grid;
  gap: 2px;
  margin: 18px auto 0;
  color: var(--office-trust-muted);
  font-size: clamp(0.91rem, 1.02vw, 1rem);
  font-weight: 500;
  line-height: 1.9;
}

.s-home-office-trust__metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: min(100%, 1040px);
  margin: clamp(42px, 4.6vw, 64px) auto 0;
}

.s-home-office-trust__metric {
  display: grid;
  justify-items: center;
  min-width: 0;
  padding: 0 clamp(22px, 3.8vw, 60px);
  text-align: center;
}

.s-home-office-trust__metric + .s-home-office-trust__metric {
  border-left: 1px solid rgba(189, 140, 55, 0.42);
}

.s-home-office-trust__metric-icon {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  color: var(--office-trust-gold);
}

.s-home-office-trust__metric-icon svg {
  width: 30px;
  height: 30px;
}

.s-home-office-trust__metric-main {
  display: flex;
  gap: 10px;
  align-items: baseline;
  justify-content: center;
  margin: 13px 0 0;
  font-family: var(--ff-serif, "Noto Serif JP", serif);
  white-space: nowrap;
}

.s-home-office-trust__metric-number {
  position: relative;
  display: inline-grid;
  min-width: 2ch;
  color: var(--office-trust-coral);
  font-size: clamp(3.55rem, 6.2vw, 5.3rem);
  font-weight: 700;
  font-feature-settings: "tnum" 1;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.045em;
  line-height: 0.96;
}

.s-home-office-trust__metric-number::before {
  grid-area: 1 / 1;
  content: attr(data-final);
  visibility: hidden;
}

.s-home-office-trust__metric-number-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.s-home-office-trust__metric-number-window {
  display: block;
  grid-area: 1 / 1;
  height: 0.96em;
  overflow: hidden;
}

.s-home-office-trust__metric-number-track {
  display: block;
  line-height: 0.96;
  transform: translate3d(0, 0, 0);
  will-change: transform;
}

.s-home-office-trust__metric-number-row {
  display: block;
  height: 1em;
  line-height: 0.96;
  text-align: center;
}

.s-home-office-trust__metric-number.is-settled .s-home-office-trust__metric-number-window {
  animation: office-trust-number-settle 180ms ease-out;
}

.s-home-office-trust__metric-main b {
  font-size: clamp(1.2rem, 1.8vw, 1.65rem);
  font-weight: 700;
}

.s-home-office-trust__metric-caption {
  width: min(100%, 220px);
  margin: 12px 0 0;
  padding-top: 11px;
  color: var(--office-trust-ink);
  border-top: 1px solid rgba(189, 140, 55, 0.58);
  font-family: var(--ff-serif, "Noto Serif JP", serif);
  font-size: clamp(0.86rem, 1vw, 1rem);
  font-weight: 700;
  line-height: 1.45;
}

.s-home-office-trust.is-motion-enabled [data-home-trust-reveal] {
  opacity: 0;
  transform: translateY(18px);
  transition:
    opacity 700ms var(--office-trust-motion-ease),
    transform 700ms var(--office-trust-motion-ease);
  transition-delay: calc(var(--home-reveal-i, 0) * 90ms);
}

.s-home-office-trust.is-motion-enabled [data-home-trust-reveal].is-inview {
  opacity: 1;
  transform: none;
}

.s-home-office-trust.is-motion-enabled .s-home-office-trust__eyebrow > span {
  transform: scaleX(0);
  transition: transform 600ms var(--office-trust-motion-ease) 300ms;
}

.s-home-office-trust.is-motion-enabled .s-home-office-trust__eyebrow > span:first-child {
  transform-origin: right center;
}

.s-home-office-trust.is-motion-enabled .s-home-office-trust__eyebrow > span:last-child {
  transform-origin: left center;
}

.s-home-office-trust.is-motion-enabled .s-home-office-trust__header.is-inview .s-home-office-trust__eyebrow > span {
  transform: scaleX(1);
}

@media (max-width: 700px) {
  .s-home-office-trust {
    padding: 64px 0 58px;
  }

  .s-home-office-trust__inner {
    width: min(calc(100% - 28px), 520px);
  }

  .s-home-office-trust__eyebrow {
    grid-template-columns: 34px auto 34px;
    gap: 10px;
  }

  .s-home-office-trust__eyebrow small {
    display: none;
  }

  .s-home-office-trust__eyebrow > span {
    width: 34px;
  }

  .s-home-office-trust__title {
    margin-top: 18px;
    font-size: clamp(1.45rem, 7.4vw, 2.12rem);
    line-height: 1.5;
  }

  .s-home-office-trust__title span {
    display: block;
  }

  .s-home-office-trust__lead {
    gap: 6px;
    max-width: 25rem;
    margin-top: 14px;
    font-size: 0.84rem;
    line-height: 1.78;
    text-align: left;
  }

  .s-home-office-trust__metrics {
    margin-top: 34px;
  }

  .s-home-office-trust__metric {
    padding: 0 8px;
  }

  .s-home-office-trust__metric-icon {
    width: 26px;
    height: 26px;
  }

  .s-home-office-trust__metric-icon svg {
    width: 23px;
    height: 23px;
  }

  .s-home-office-trust__metric-main {
    display: grid;
    gap: 2px;
    margin-top: 8px;
  }

  .s-home-office-trust__metric-number {
    font-size: clamp(1.85rem, 9vw, 2.5rem);
    letter-spacing: -0.065em;
  }

  .s-home-office-trust__metric-main b {
    font-size: 0.73rem;
  }

  .s-home-office-trust__metric-caption {
    margin-top: 7px;
    padding-top: 7px;
    font-size: 0.67rem;
    line-height: 1.35;
  }
}

@keyframes office-trust-number-settle {
  0% {
    transform: translateY(-0.03em);
  }

  100% {
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .s-home-office-trust.is-motion-enabled [data-home-trust-reveal],
  .s-home-office-trust.is-motion-enabled .s-home-office-trust__eyebrow > span {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .s-home-office-trust__metric-number-track {
    transition: none !important;
    transform: none !important;
    will-change: auto;
  }

  .s-home-office-trust__metric-number.is-settled .s-home-office-trust__metric-number-window {
    animation: none;
  }
}
