.calc-section { padding: var(--space-9) 0; }
    .calc-card {
      max-width: 1100px;
      margin: 0 auto;
      background: var(--color-surface-elevated);
      border: var(--border-thin);
      border-radius: var(--radius-md);
      overflow: hidden;
      box-shadow: var(--shadow-sm);
    }
    .calc-grid {
      display: grid;
      grid-template-columns: 1fr;
      gap: 0;
    }
    @media (min-width: 900px) { .calc-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); } }

    /* Inputs */
    .calc-inputs {
      padding: var(--space-7) var(--space-6);
      border-bottom: var(--border-thin);
    }
    @media (min-width: 900px) { .calc-inputs { padding: var(--space-7) var(--space-7); border-bottom: 0; border-right: var(--border-thin); } }
    @media (min-width: 768px) { .calc-inputs { padding: var(--space-7) var(--space-7); } }

    .calc-section__head {
      font-family: var(--font-sans);
      font-size: var(--text-xs);
      letter-spacing: var(--tracking-wide);
      text-transform: uppercase;
      color: var(--color-text-muted);
      font-weight: var(--weight-semibold);
      margin-bottom: var(--space-5);
    }

    .calc-field { margin-bottom: var(--space-6); }
    .calc-field__head {
      display: flex;
      justify-content: space-between;
      align-items: baseline;
      margin-bottom: var(--space-3);
      gap: var(--space-3);
    }
    .calc-field__label {
      font-family: var(--font-sans);
      font-size: var(--text-sm);
      font-weight: var(--weight-semibold);
      color: var(--color-ink);
    }
    .calc-field__hint { font-size: var(--text-xs); color: var(--color-text-muted); }
    .calc-field__value {
      font-family: var(--font-mono);
      font-variant-numeric: tabular-nums;
      font-size: var(--text-lg);
      font-weight: var(--weight-semibold);
      color: var(--color-ink);
    }
    .calc-field__value-input {
      width: 140px;
      padding: 6px 10px;
      border: 1px solid var(--color-hairline-strong);
      border-radius: var(--radius-sm);
      background: var(--color-surface);
      font-family: var(--font-mono);
      font-variant-numeric: tabular-nums;
      font-size: var(--text-base);
      font-weight: var(--weight-semibold);
      color: var(--color-ink);
      text-align: right;
    }
    .calc-field__value-input:focus { outline: none; border-color: var(--color-brand-orange); box-shadow: 0 0 0 3px color-mix(in oklab, var(--color-brand-orange) 18%, transparent); }
    .calc-field__value-input::-webkit-outer-spin-button,
    .calc-field__value-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

    input[type="range"].calc-slider {
      -webkit-appearance: none;
      appearance: none;
      width: 100%;
      height: 4px;
      background: var(--color-hairline);
      border-radius: var(--radius-pill);
      outline: none;
    }
    input[type="range"].calc-slider::-webkit-slider-thumb {
      -webkit-appearance: none;
      appearance: none;
      width: 20px;
      height: 20px;
      border-radius: 50%;
      background: var(--color-brand-orange);
      cursor: pointer;
      border: 2px solid var(--color-surface-elevated);
      box-shadow: 0 0 0 1px var(--color-brand-orange-deep);
      transition: transform 120ms ease-out;
    }
    input[type="range"].calc-slider::-webkit-slider-thumb:hover,
    input[type="range"].calc-slider:focus::-webkit-slider-thumb { transform: scale(1.15); }
    input[type="range"].calc-slider::-moz-range-thumb {
      width: 18px;
      height: 18px;
      border-radius: 50%;
      background: var(--color-brand-orange);
      cursor: pointer;
      border: 2px solid var(--color-surface-elevated);
      box-shadow: 0 0 0 1px var(--color-brand-orange-deep);
    }

    select.calc-select {
      width: 100%;
      padding: 12px 14px;
      border: 1px solid var(--color-hairline-strong);
      border-radius: var(--radius-sm);
      background: var(--color-surface);
      font-family: var(--font-sans);
      font-size: var(--text-base);
      color: var(--color-ink);
    }
    select.calc-select:focus { outline: none; border-color: var(--color-brand-orange); box-shadow: 0 0 0 3px color-mix(in oklab, var(--color-brand-orange) 18%, transparent); }

    .calc-toggle {
      display: flex;
      gap: var(--space-2);
      background: var(--color-surface);
      padding: 4px;
      border-radius: var(--radius-pill);
      border: 1px solid var(--color-hairline-strong);
    }
    .calc-toggle__opt {
      flex: 1;
      padding: 8px 14px;
      cursor: pointer;
      text-align: center;
      font-family: var(--font-sans);
      font-size: var(--text-sm);
      font-weight: var(--weight-medium);
      color: var(--color-text-muted);
      border-radius: var(--radius-pill);
      position: relative;
      transition: background 120ms, color 120ms;
    }
    .calc-toggle__opt input { position: absolute; opacity: 0; pointer-events: none; }
    .calc-toggle__opt:has(input:checked) { background: var(--color-ink); color: var(--color-surface); }

    /* Outputs */
    .calc-outputs {
      padding: var(--space-7) var(--space-6);
      background: var(--color-surface-sunken);
    }
    @media (min-width: 768px) { .calc-outputs { padding: var(--space-7); } }

    .calc-headline {
      font-family: var(--font-mono);
      font-variant-numeric: tabular-nums;
      font-size: clamp(2.4rem, 4.5vw, 3.4rem);
      font-weight: var(--weight-semibold);
      color: var(--color-brand-orange-deep);
      letter-spacing: -0.03em;
      line-height: 1;
      margin: var(--space-2) 0 var(--space-4);
    }
    .calc-headline__label {
      font-family: var(--font-sans);
      font-size: var(--text-xs);
      letter-spacing: var(--tracking-wide);
      text-transform: uppercase;
      color: var(--color-text-muted);
      font-weight: var(--weight-semibold);
    }
    .calc-headline__sub {
      font-size: var(--text-base);
      color: var(--color-text);
      max-width: 44ch;
      line-height: 1.55;
    }

    .calc-breakdown {
      display: grid;
      grid-template-columns: 1fr;
      gap: var(--space-2);
      margin-top: var(--space-7);
      padding-top: var(--space-5);
      border-top: var(--border-thin);
    }
    .calc-breakdown__row {
      display: grid;
      grid-template-columns: 1fr auto;
      gap: var(--space-4);
      padding: var(--space-3) 0;
      align-items: baseline;
    }
    .calc-breakdown__row + .calc-breakdown__row { border-top: 1px solid var(--color-hairline); }
    .calc-breakdown__label { font-size: var(--text-sm); color: var(--color-text-muted); }
    .calc-breakdown__value {
      font-family: var(--font-mono);
      font-variant-numeric: tabular-nums;
      font-size: var(--text-base);
      font-weight: var(--weight-medium);
      color: var(--color-ink);
    }
    .calc-breakdown__row[data-total="true"] { padding-top: var(--space-4); margin-top: var(--space-2); border-top: 1px solid var(--color-hairline-strong); }
    .calc-breakdown__row[data-total="true"] .calc-breakdown__label { font-weight: var(--weight-semibold); color: var(--color-ink); }
    .calc-breakdown__row[data-total="true"] .calc-breakdown__value { font-size: var(--text-lg); font-weight: var(--weight-semibold); color: var(--color-brand-orange-deep); }

    /* Bar chart */
    .calc-chart {
      margin-top: var(--space-7);
      padding-top: var(--space-5);
      border-top: var(--border-thin);
    }
    .calc-chart__head {
      display: flex;
      justify-content: space-between;
      align-items: baseline;
      gap: var(--space-3);
      margin-bottom: var(--space-5);
      flex-wrap: wrap;
    }
    .calc-chart h3 {
      font-family: var(--font-serif);
      font-size: var(--text-xl);
      color: var(--color-ink);
      letter-spacing: -0.01em;
      font-weight: var(--weight-semibold);
    }
    .calc-chart__horizon { font-family: var(--font-mono); font-size: var(--text-xs); color: var(--color-text-muted); }

    .bar-row {
      display: grid;
      grid-template-columns: 130px 1fr auto;
      gap: var(--space-3);
      align-items: center;
      margin-bottom: var(--space-3);
    }
    @media (max-width: 600px) {
      .bar-row { grid-template-columns: 1fr; gap: var(--space-2); }
      .bar-row .bar-value { text-align: right; }
    }
    .bar-label { font-size: var(--text-sm); color: var(--color-text); }
    .bar-track { background: var(--color-hairline); border-radius: var(--radius-pill); height: 16px; overflow: hidden; }
    .bar {
      height: 100%;
      border-radius: var(--radius-pill);
      transition: width 600ms cubic-bezier(.2,.7,.2,1);
      background: var(--color-text-subtle);
    }
    .bar--with { background: var(--color-brand-orange); }
    .bar-value {
      font-family: var(--font-mono);
      font-variant-numeric: tabular-nums;
      font-size: var(--text-sm);
      font-weight: var(--weight-semibold);
      color: var(--color-ink);
      text-align: right;
      min-width: 110px;
    }

    .calc-delta {
      margin-top: var(--space-5);
      padding: var(--space-5);
      background: var(--color-surface-elevated);
      border: 1px solid var(--color-hairline);
      border-radius: var(--radius-md);
      display: flex;
      justify-content: space-between;
      align-items: baseline;
      flex-wrap: wrap;
      gap: var(--space-3);
    }
    .calc-delta__label {
      font-family: var(--font-sans);
      font-size: var(--text-sm);
      font-weight: var(--weight-semibold);
      color: var(--color-ink);
    }
    .calc-delta__value {
      font-family: var(--font-mono);
      font-variant-numeric: tabular-nums;
      font-size: var(--text-2xl);
      font-weight: var(--weight-semibold);
      color: var(--color-success);
      letter-spacing: -0.02em;
    }

    .calc-disclaimer {
      margin-top: var(--space-7);
      padding: var(--space-5);
      background: color-mix(in oklab, var(--color-warning) 8%, var(--color-surface));
      border-left: 3px solid var(--color-warning);
      border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
      font-size: var(--text-sm);
      color: var(--color-text);
      line-height: 1.55;
    }
    .calc-disclaimer strong { color: var(--color-ink); }

    .calc-cta {
      margin-top: var(--space-6);
      display: flex;
      gap: var(--space-4);
      flex-wrap: wrap;
    }

    /* Methodology accordion */
    .calc-method {
      max-width: 1100px;
      margin: var(--space-9) auto 0;
      padding: 0 var(--space-5);
    }
    @media (min-width: 768px) { .calc-method { padding: 0 var(--space-7); } }
    .calc-method__head { margin-bottom: var(--space-5); }
    .calc-method__head h2 { font-size: clamp(1.6rem, 2.6vw, 2rem); color: var(--color-ink); letter-spacing: var(--tracking-tight); }
  

    /* Reuse the FAQ accordion styles from the pillar */
    .calc-method .faq-item { border-bottom: var(--border-thin); }
    .calc-method .faq-item summary { list-style: none; cursor: pointer; padding: var(--space-5) 0; display: flex; gap: var(--space-4); align-items: flex-start; transition: color var(--duration-fast) var(--ease-out); }
    .calc-method .faq-item summary::-webkit-details-marker { display: none; }
    .calc-method .faq-item summary::marker { content: ""; }
    .calc-method .faq-item summary:hover { color: var(--color-brand-orange-deep); }
    .calc-method .faq-item summary::after { content: "+"; margin-left: auto; font-family: var(--font-mono); font-size: 22px; font-weight: var(--weight-medium); color: var(--color-brand-orange); transition: transform var(--duration-base) var(--ease-out); width: 24px; text-align: center; flex-shrink: 0; }
    .calc-method .faq-item[open] summary::after { content: "−"; }
    .calc-method .faq-item__q { font-family: var(--font-serif); font-size: var(--text-lg); font-weight: var(--weight-semibold); color: var(--color-ink); letter-spacing: -0.01em; line-height: 1.3; flex: 1; }
    .calc-method .faq-item__a { padding: 0 0 var(--space-5); font-size: var(--text-base); color: var(--color-text); line-height: var(--leading-body); max-width: 60ch; }
    .calc-method .faq-item__a p { margin: 0; }