/* Calculator library only. Shared navigation and calculator behavior live elsewhere. */
.calculator-card__page-link{display:flex;flex-direction:column;height:100%;color:#242620;text-decoration:none;scroll-margin-top:140px}
.calculator-card__action{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;border-top:1.5px solid #242620;font:600 12px 'IBM Plex Mono',monospace}
.calculator-card__page-link:hover .calculator-card__action{background:var(--card-accent)}
.calculator-card__page-link:focus-visible{outline:3px solid #944018;outline-offset:4px}
.calculator-library {
	--cl-ink: #242620;
	--cl-paper: #f6f1e5;
	--cl-orange: #ed8d47;
	--cl-cyan: #9bd7da;
	color: var(--cl-ink);
	background: var(--cl-paper);
	font: 16px/1.6 'Work Sans', sans-serif;
	padding: 64px 0 80px;
}
.calculator-library *, .calculator-library *::before, .calculator-library *::after { box-sizing: border-box; }
.calculator-library__hero { display: grid; grid-template-columns: minmax(0, 1fr) 275px; gap: 64px; align-items: center; padding-bottom: 58px; }
.calculator-library .calculator-library__eyebrow { margin: 0 0 20px; font: 500 11px/1.6 'IBM Plex Mono', monospace; letter-spacing: .1em; text-transform: uppercase; }
.calculator-library h1 { margin: 0 0 20px; font: 800 clamp(56px, 8.7vw, 112px)/.95 'Bricolage Grotesque', sans-serif; letter-spacing: -.065em; overflow-wrap: anywhere; }
.calculator-library__headline { margin: 0; font: 650 clamp(29px, 4vw, 48px)/1.08 'Bricolage Grotesque', sans-serif; letter-spacing: -.035em; }
.calculator-library__headline span { color: #a94319; }
.calculator-library__intro { max-width: 520px; margin: 22px 0 0; font-size: 17px; }
.calculator-library__note { padding: 24px; border: 2px solid var(--cl-ink); background: var(--cl-cyan); box-shadow: 7px 7px 0 var(--cl-ink); transform: rotate(3deg); }
.calculator-library__note-mark { display: block; padding-bottom: 17px; border-bottom: 1px solid var(--cl-ink); font: 500 14px 'IBM Plex Mono', monospace; }
.calculator-library__note p { margin: 23px 0 14px; font: 400 31px/1.15 'Kalam', cursive; }
.calculator-library__note > span:last-child { display: block; font-size: 14px; line-height: 1.6; }
.calculator-library__index { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 18px 0; border-top: 2px solid var(--cl-ink); }
.calculator-library__index h2 { margin: 0; font: 650 22px/1.2 'Bricolage Grotesque', sans-serif; letter-spacing: -.025em; }
.calculator-library__index p { margin: 0; font: 11px/1.5 'IBM Plex Mono', monospace; }
.calculator-library__index p span { margin-left: 12px; font-size: 23px; }
.calculator-library__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; gap: 24px; }
.calculator-card { --card-accent: #e9dfc8; min-width: 0; border: 2px solid var(--cl-ink); background: #fffcf4; }
.calculator-card--personal-loans, .calculator-card--auto, .calculator-card--home-services { --card-accent: var(--cl-orange); }
.calculator-card--debt-payoff, .calculator-card--home-insurance, .calculator-card--banking-savings { --card-accent: var(--cl-cyan); }
.calculator-card--credit-building, .calculator-card--investing-retirement { --card-accent: #d0d7aa; }
.calculator-card__cover { padding: 21px 24px 24px; background: linear-gradient(var(--card-accent) 0 184px, #fffcf4 184px); }
.calculator-card__meta { display: flex; justify-content: space-between; align-items: center; gap: 12px; font: 500 10px/1.4 'IBM Plex Mono', monospace; letter-spacing: .06em; text-transform: uppercase; }
.calculator-card__meta > span:first-child { font-size: 19px; letter-spacing: -.04em; }
.calculator-card__drawing { display: block; width: 140px; height: 112px; margin: 4px auto 51px; }
.calculator-card--personal-loans .calculator-card__drawing { transform: rotate(-9deg); }
.calculator-card--home-services .calculator-card__drawing { transform: rotate(8deg); }
.calculator-card h3 { min-height: 62px; margin: 0 0 12px; font: 750 29px/1.06 'Bricolage Grotesque', sans-serif; letter-spacing: -.035em; }
.calculator-card__cover > p { min-height: 78px; margin: 0; font-size: 15px; line-height: 1.65; }
.calculator-library :is(a, button, input, summary):focus-visible { outline: 3px solid #005b70; outline-offset: 4px; }
.calculator-library__next { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; margin-top: 64px; padding: 36px 0 0; border-top: 2px solid var(--cl-ink); align-items: center; }
.calculator-library__next h2 { margin: 0; font: 700 clamp(30px, 3.5vw, 42px)/1.1 'Bricolage Grotesque', sans-serif; letter-spacing: -.04em; }
.calculator-library__next p:last-child { max-width: 440px; margin: 16px 0 0; font-size: 15px; }
.calculator-library__links { display: grid; gap: 14px; }
.calculator-library__links a { display: flex; align-items: center; justify-content: space-between; gap: 18px; border: 1.5px solid var(--cl-ink); padding: 19px 22px; color: var(--cl-ink); text-decoration: none; font: 650 18px/1.3 'Bricolage Grotesque', sans-serif; }
.calculator-library__links a:first-child { background: var(--cl-cyan); }
.calculator-library__links a:hover { background: var(--cl-orange); }
.calculator-library__links a span { font-size: 25px; }
.calculator-library__sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
@media (max-width: 1050px) {
	.calculator-library__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.calculator-library__hero { grid-template-columns: minmax(0, 1fr) 230px; gap: 32px; }
	.calculator-library__note { padding: 20px; }
}
@media (max-width: 650px) {
	.calculator-library { padding: 40px 0 56px; }
	.calculator-library__hero { grid-template-columns: 1fr; gap: 32px; padding-bottom: 38px; }
	.calculator-library h1 { font-size: clamp(43px, 11.8vw, 76px); }
	.calculator-library__headline { font-size: 34px; }
	.calculator-library__note { transform: none; box-shadow: 4px 4px 0 var(--cl-ink); }
	.calculator-library__note p { font-size: 26px; margin: 16px 0 10px; }
	.calculator-library__note p br { display: none; }
	.calculator-library__index { align-items: start; flex-direction: column; gap: 9px; }
	.calculator-library__index p span { font-size: 16px; }
	.calculator-library__grid { grid-template-columns: minmax(0, 1fr); gap: 22px; }
	.calculator-card h3, .calculator-card__cover > p { min-height: 0; }
	.calculator-card__cover { padding-inline: 22px; }
	.calculator-library__next { grid-template-columns: 1fr; gap: 26px; margin-top: 40px; }
}
