.yutoru-calculator {
  --yc-ink: #101820;
  --yc-muted: #586168;
  --yc-line: #d9dddf;
  --yc-paper: #fff;
  --yc-wash: #f5f4f0;
  --yc-accent: #b9470a;
  color: var(--yc-ink);
  margin-block: clamp(2rem, 6vw, 5rem);
}

.yutoru-calculator *, .yutoru-calculator *::before, .yutoru-calculator *::after { box-sizing: border-box; }
.yutoru-calculator__intro { max-width: 46rem; margin-bottom: clamp(2rem, 5vw, 4rem); }
.yutoru-calculator__eyebrow { color: var(--yc-accent); font-size: .75rem; font-weight: 650; letter-spacing: .14em; }
.yutoru-calculator__intro h2 { font-size: clamp(2rem, 6vw, 4.5rem); font-weight: 650; letter-spacing: -.045em; line-height: 1.03; margin: .5rem 0 1.25rem; }
.yutoru-calculator__intro > p:not(.yutoru-calculator__eyebrow) { color: var(--yc-muted); line-height: 1.85; }
.yutoru-calculator__privacy { border-left: 2px solid var(--yc-accent); font-size: .86rem; padding-left: .8rem; }
.yutoru-calculator__form { background: var(--yc-wash); padding: clamp(1.25rem, 4vw, 3.5rem); }
.yutoru-calculator__fields { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.yutoru-calculator__fields label { display: grid; font-size: .9rem; font-weight: 650; gap: .45rem; }
.yutoru-calculator__fields input { background: var(--yc-paper); border: 1px solid var(--yc-line); border-radius: 0; color: inherit; font: inherit; min-height: 3.25rem; padding: .65rem .8rem; }
.yutoru-calculator__fields input:focus-visible, .yutoru-calculator__submit:focus-visible { outline: 3px solid #1b6fc2; outline-offset: 3px; }
.yutoru-calculator__submit { background: var(--yc-accent); border: 0; color: #fff; cursor: pointer; font: inherit; font-weight: 700; margin-top: 1.5rem; min-height: 3.75rem; padding: .9rem 2rem; }
.yutoru-calculator__submit:hover { filter: brightness(.94); }
.yutoru-calculator__result { border-top: 4px solid var(--yc-accent); margin-top: 2rem; padding-top: 1.5rem; }
.yutoru-calculator__result h2 { font-size: clamp(1.7rem, 4vw, 2.8rem); margin-bottom: 1rem; }
.yutoru-calculator__result dl { display: grid; gap: 1px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; background: var(--yc-line); }
.yutoru-calculator__result dl div { background: var(--yc-paper); padding: 1rem; }
.yutoru-calculator__result dt { color: var(--yc-muted); font-size: .8rem; }
.yutoru-calculator__result dd { font-size: clamp(1.25rem, 3vw, 2rem); font-weight: 650; margin: .2rem 0 0; }
.yutoru-calculator__result p { color: var(--yc-muted); font-size: .9rem; }

@media (max-width: 600px) {
  .yutoru-calculator__form { margin-inline: calc(50% - 50vw); padding-inline: max(1rem, calc((100vw - var(--wp--style--global--content-size, 100vw)) / 2)); }
  .yutoru-calculator__fields, .yutoru-calculator__result dl { grid-template-columns: 1fr; }
}
