.calc-hero { background: var(--cream); padding-block: 88px; }
.calc-hero-grid { display: grid; grid-template-columns: 1.45fr 1fr; gap: 80px; align-items: center; }
.calc-hero h1 { font-size: clamp(3.2rem, 5.8vw, 5.5rem); }
.calc-lede { max-width: 570px; font-size: 1.08rem; }
.tool-index { padding: 32px; border-left: 1px solid var(--line); }
.tool-index a { display: block; padding: 20px 0; border-bottom: 1px solid var(--line); font-weight: 700; }
.tool-index a:hover { color: var(--sage-deep); }
.tool-index a span { margin-right: 12px; color: var(--sage-deep); font-size: .75rem; }
.tool-index > p:last-child { margin: 24px 0 0; font-size: .8rem; }
.calc-tools { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; padding-top: 64px; }
.calc-card { padding: 40px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); scroll-margin-top: 110px; }
.calc-card h2 { font-size: clamp(2rem, 3vw, 3rem); }
.cost-card { background: var(--sage-soft); }
.field { display: grid; gap: 8px; margin-bottom: 20px; }
.field label { font-size: .8rem; font-weight: 800; }
.field input, .field select { width: 100%; min-width: 0; min-height: 52px; padding: 12px; border: 1px solid #82908b; border-radius: 10px; background: var(--paper); color: var(--ink); font: inherit; }
.field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.calc-card button { cursor: pointer; margin-top: 4px; }
.calc-note { margin: 24px 0 0; font-size: .78rem; line-height: 1.8; }
.calc-note a, .calc-result a { text-decoration: underline; text-underline-offset: 3px; }
.calc-result { margin-top: 24px; padding: 24px; border-radius: 14px; background: var(--cream); border-left: 4px solid var(--sage-deep); }
.cost-card .calc-result { background: var(--paper); }
.calc-result[hidden] { display: none; }
.calc-result strong { display: block; font-family: var(--font-display); font-size: 2.7rem; line-height: 1.2; margin-bottom: 12px; }
.calc-result p:last-child { margin-bottom: 0; }
.dosing-card { grid-column: 1 / -1; background: var(--cream); overflow: hidden; }
.dosing-card h2 { margin-bottom: 20px; font-size: clamp(2.6rem, 4.5vw, 4.4rem); }
.dosing-card h2 em { color: var(--sage-deep); font-weight: 500; }
.dosing-intro { max-width: 470px; margin-bottom: 0; font-size: 1rem; }
.dosing-card form { width: 100%; max-width: 360px; }
.dosing-card .field { margin-bottom: 16px; }
.dosing-card button { width: 100%; }
.dosing-card .visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.calc-result ol { padding-left: 20px; }
.calc-result li { padding-bottom: 10px; }
.calc-explainer { display: grid; grid-template-columns: 1fr 1.3fr; gap: 64px; }
.calc-explainer h2 em { color: var(--sage-deep); }
.calc-explainer h3 { margin-top: 26px; }
.calc-explainer h3:first-child { margin-top: 0; }
.calc-cta { padding-block: 80px; background: var(--sage); text-align: center; }
.calc-cta h2 { font-size: clamp(2.3rem, 4vw, 4rem); }
@media (max-width: 900px) { .calc-hero-grid { gap: 24px; } .calc-card { padding: 28px; } .dosing-card { gap: 30px; } }
@media (max-width: 650px) { .calc-hero-grid, .calc-tools, .dosing-card, .calc-explainer { grid-template-columns: 1fr; } .calc-hero { padding-block: 56px; } .tool-index { padding: 24px 0 0; border-left: 0; border-top: 1px solid var(--line); } .calc-tools { padding-top: 32px; gap: 20px; } .calc-card { padding: 24px; } .calc-explainer { gap: 20px; } .field-grid { gap: 12px; } }

.dosing-card .calc-result { padding: 0; border: 0; border-radius: 0; background: transparent; margin-top: 28px; }
.dosing-table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 16px; background: var(--paper); }
.dosing-table { width: 100%; border-collapse: collapse; text-align: left; font-size: .85rem; }
.dosing-table caption { text-align: left; color: var(--ink); padding: 18px 20px; background: var(--sage); font-size: .85rem; font-weight: 800; }
.dosing-table th, .dosing-table td { padding: 16px; border-bottom: 1px solid var(--line); vertical-align: top; }
.dosing-table thead th { color: var(--paper); background: var(--ink); font-weight: 700; }
.dosing-table tbody th { width: 25%; white-space: nowrap; font-weight: 600; }
.dosing-table td:nth-child(2) { width: 18%; color: var(--sage-deep); font-weight: 700; white-space: nowrap; }
.dosing-table td:last-child { color: var(--ink-soft); }
.dosing-table tbody tr:nth-child(even) { background: var(--sage-soft); }
.dosing-table tbody tr:last-child > * { border-bottom: 0; }
.dosing-card .calc-result .calc-note { margin-top: 16px; }
@media (max-width: 650px) { .dosing-table th, .dosing-table td { padding: 12px 8px; } .dosing-table { min-width: 440px; } }

.dosing-header { display: flex; justify-content: space-between; align-items: center; gap: 32px; padding-bottom: 36px; }
.dosing-brand { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 150px; height: 150px; flex-shrink: 0; border-radius: 50%; background: var(--coral); color: var(--ink); font: 500 4.4rem/1 var(--font-display); transform: rotate(-8deg); }
.dosing-brand span { margin-top: 8px; font: 800 .75rem/1 var(--font-body); letter-spacing: .05em; }
.dosing-controls { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; padding: 28px; border: 1px solid var(--line); border-radius: 18px; background: var(--paper); }
.dosing-controls p { max-width: 320px; margin-bottom: 0; font-size: .9rem; }
.dosing-controls h3 { font-family: var(--font-display); font-size: 1.7rem; font-weight: 500; }
.dosing-reminder { margin: 20px 0 0; padding-left: 16px; border-left: 3px solid var(--coral); font-size: .8rem; }
@media (max-width: 650px) {
  .dosing-header { gap: 12px; align-items: flex-start; }
  .dosing-brand { width: 66px; height: 66px; font-size: 2.2rem; }
  .dosing-brand span { margin-top: 4px; font-size: .45rem; }
  .dosing-header h2 { font-size: clamp(2rem, 7vw, 2.8rem); }
  .dosing-controls { grid-template-columns: minmax(0, 1fr); gap: 20px; padding: 20px; }
  .dosing-card form { max-width: none; }
}
