.calculator-details { background: var(--pale); }
.calculator-details .section { padding: 74px 0; scroll-margin-top: 90px; }
.calculator-details .pale { background: transparent; }
.calculator-details .detail-wrap { max-width: 1216px; margin: 0 auto; padding: 0 28px; }
.calculator-details .detail-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 70px; align-items: start; }
.calculator-details .detail-faq-grid { grid-template-columns: minmax(0, 0.7fr) minmax(0, 1.3fr); }
.calculator-details .detail-flow { display: block; columns: 2; column-gap: 70px; }
.calculator-details .detail-flow .detail-intro,
.calculator-details .detail-flow .measure-grid,
.calculator-details .detail-flow .detail-methods { display: contents; }
.calculator-details .detail-flow .section-header,
.calculator-details .detail-flow .detail-checklist,
.calculator-details .detail-flow .measure,
.calculator-details .detail-flow .detail-method-intro,
.calculator-details .detail-flow .detail-method { break-inside: avoid; }
.calculator-details .detail-flow .detail-checklist { margin-bottom: 28px; }
.calculator-details .detail-flow .detail-method { padding: 0 0 18px; }
.calculator-details .detail-flow .detail-method h3 { margin-top: 0; }
.calculator-details .section-header { max-width: none; margin: 0 0 24px; text-align: left; }
.calculator-details .section-header h2, .calculator-details .prose h2 { margin: 0 0 20px; font-size: clamp(35px, 3.2vw, 47px); font-weight: 500; line-height: 1.05; letter-spacing: -0.8px; }
.calculator-details .section-header p, .calculator-details .prose p { color: var(--muted); font-size: 14px; line-height: 1.75; }
.calculator-details .section-tag { font-size: 10px; font-weight: 700; letter-spacing: 2.1px; }
.calculator-details .prose { max-width: none; margin: 0; }
.calculator-details .prose h3 { margin-top: 24px; font-family: 'DM Sans', 'DM Sans Fallback', sans-serif; font-size: 16px; }
.calculator-details .prose h3:first-child { margin-top: 0; }
.calculator-details .prose li { color: var(--muted); font-size: 14px; }
.calculator-details .detail-checklist, .calculator-details .detail-action { padding: 28px; border: 1px solid var(--border); border-radius: 16px; background: #fff; }
.calculator-details .detail-checklist { margin-top: 28px; }
.calculator-details .detail-checklist h3, .calculator-details .detail-action h3 { margin: 0 0 15px; font-family: 'DM Sans', 'DM Sans Fallback', sans-serif; font-size: 18px; }
.calculator-details .detail-checklist ul { margin: 0 0 16px; padding-left: 19px; color: var(--muted); font-size: 13px; line-height: 1.85; }
.calculator-details .detail-checklist p { color: var(--muted); font-size: 12px; line-height: 1.7; }
.calculator-details .detail-links { display: flex; flex-wrap: wrap; gap: 14px 20px; margin-top: 22px; font-size: 13px; }
.calculator-details .detail-links a { color: var(--green); text-decoration: underline; text-underline-offset: 4px; }
.calculator-details .measure-grid { grid-template-columns: minmax(0, 1fr); gap: 0; margin: 0; }
.calculator-details .measure { gap: 16px; padding: 24px 0; border: 0; border-top: 1px solid var(--border); border-radius: 0; background: transparent; }
.calculator-details .measure:first-child { padding-top: 0; border-top: 0; }
.calculator-details .measure-icon { flex: 0 0 44px; width: 44px; height: 44px; border-radius: 50%; }
.calculator-details .measure-icon img { width: 28px; height: 28px; }
.calculator-details .measure h3 { margin: 0 0 10px; color: var(--dark); font-size: 16px; }
.calculator-details .measure p { color: var(--muted); font-size: 13px; line-height: 1.7; }
.calculator-details .result-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 0; }
.calculator-details .result-stat { padding: 23px; border-color: var(--border); border-radius: 16px; }
.calculator-details .result-stat .lbl { color: var(--muted); font-size: 12px; }
.calculator-details .faq-list { max-width: none; width: 100%; margin: 0; }
.calculator-details .faq-item { margin: 0; padding: 0; border: 0; border-bottom: 1px solid var(--border); border-radius: 0; background: transparent; box-shadow: none; }
.calculator-details .faq-item:first-child { border-top: 1px solid var(--border); }
.calculator-details .faq-item:hover { transform: none; box-shadow: none; }
.calculator-details .faq-item summary { min-height: 58px; padding: 18px 0; }
.calculator-details .faq-item summary h3 { color: var(--text); font-family: 'DM Sans', 'DM Sans Fallback', sans-serif; font-size: 14px; font-weight: 600; line-height: 1.5; }
.calculator-details .faq-item summary::after { content: '+'; font-size: 20px; font-weight: 400; }
.calculator-details .faq-item[open] summary::after { content: '\2212'; transform: none; }
.calculator-details .faq-item .faq-answer { margin: 0; padding: 0 20px 22px 0; border: 0; color: var(--muted); font-size: 13px; line-height: 1.75; }
.calculator-details :is(a, summary):focus-visible { outline: 2px solid var(--green); outline-offset: 4px; }

@media (min-width: 821px) {
  .calculator-details .detail-method:nth-child(3) { break-before: column; }
}

@media (max-width: 1000px) {
  .calculator-details .detail-grid { gap: 35px; }
  .calculator-details .detail-flow { column-gap: 35px; }
}

@media (max-width: 820px) {
  .calculator-details .section { padding: 48px 0; }
  .calculator-details .detail-wrap { padding: 0 22px; }
  .calculator-details .detail-grid { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .calculator-details .detail-flow { columns: 1; }
}

@media (max-width: 380px) {
  .calculator-details .result-stats { grid-template-columns: minmax(0, 1fr); }
}
