.calculator-page{--cl-ink:#242620;--cl-orange:#ed8d47;--cl-cyan:#9bd7da;width:calc(100% - 40px);max-width:var(--site-content-max, 1400px);margin:0 auto;padding:32px 0 64px;color:var(--cl-ink);font:16px/1.65 'Work Sans',sans-serif}
.calculator-page *{box-sizing:border-box}
.calculator-page :is(.codex-topic-calculator-copy,.codex-topic-calculator-work,.calculator-page__guidance>div,.calculator-page__next>div){min-width:0;overflow-wrap:anywhere}
@media(max-width:760px){.calculator-page .codex-topic-calculator-work{order:-1}}
.calculator-hero{--hero-ink:#1b1b1b;--hero-paper:#fffcf3;--hero-orange:#d05f27;--hero-cyan:#9bd7da;display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:64px;align-items:center;margin:0 0 48px;padding:8px 0 48px;border-bottom:1.5px solid var(--hero-ink);color:var(--hero-ink)}
.jkd-plugin-calculator .calculator-hero{width:min(1400px,100%);margin-left:auto;margin-right:auto}
.calculator-hero__copy{max-width:580px}.calculator-hero__kicker,.calculator-hero__index{color:#b54f1f;font:700 12px/1.2 'IBM Plex Mono',monospace;letter-spacing:.12em;text-transform:uppercase}.calculator-hero__kicker{margin:20px 0 0}.calculator-hero__copy h1{margin:14px 0 20px;font:700 clamp(42px,5.5vw,76px)/.98 'Bricolage Grotesque',sans-serif;letter-spacing:-.045em}.calculator-hero__lede{max-width:540px;margin:0;color:#4a4a4a;font:17px/1.65 'Work Sans',sans-serif}.calculator-hero__note{max-width:500px;margin:24px 0 0;padding-top:18px;border-top:1px dashed #8a8a8d;color:#4a4a4a;font:14px/1.6 'Work Sans',sans-serif}.calculator-hero__note strong{color:var(--hero-ink)}
.calculator-hero__bento{display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:repeat(2,minmax(150px,auto));gap:14px}.calculator-hero__card{min-width:0;padding:24px;border:1.5px solid var(--hero-ink);background:var(--hero-paper);box-shadow:4px 5px 0 rgba(0,0,0,.07)}.calculator-hero__card--tall{grid-row:1/span 2;background:var(--hero-cyan)}.calculator-hero__card--warm{background:var(--hero-orange);color:#fff}.calculator-hero__card--warm .calculator-hero__index{color:#ffde8a}.calculator-hero__card h2{margin:18px 0 10px;color:inherit;font:700 clamp(21px,2.3vw,31px)/1.06 'Bricolage Grotesque',sans-serif;letter-spacing:-.03em}.calculator-hero__card p{margin:0;color:inherit;font:14px/1.55 'Work Sans',sans-serif;opacity:.86}.calculator-hero__art{display:block;width:min(100%,210px);height:auto;margin:24px auto 10px;overflow:visible}.calculator-hero__artwork{transform-box:fill-box;transform-origin:center;animation:calculator-hero-art-float 4.8s ease-in-out infinite}.calculator-hero__card--warm .calculator-hero__artwork{animation-delay:.2s}.calculator-hero__card--plain .calculator-hero__artwork{animation-delay:.4s}@keyframes calculator-hero-art-float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-4px) rotate(-1.2deg)}}
.calculator-hero__artwork path,.calculator-hero__artwork rect,.calculator-hero__artwork circle{vector-effect:non-scaling-stroke}
@media(prefers-reduced-motion:reduce){.calculator-hero__artwork{animation:none}}
.calculator-page__head{display:grid;grid-template-columns:minmax(0,1fr) 160px;gap:32px;align-items:center}
.calculator-page__head h1{font:750 clamp(32px,4vw,52px)/1.06 'Bricolage Grotesque',sans-serif;letter-spacing:-.03em;margin:12px 0}
.calculator-page__head p{margin:12px 0;max-width:740px}
.calculator-page__back{color:#944018;font:600 13px 'IBM Plex Mono',monospace}
.calculator-page__head svg{width:160px;background:var(--card-accent,#e9dfc8);padding:12px;border:1.5px solid var(--cl-ink)}
.calculator-page__steps{display:flex;gap:24px;flex-wrap:wrap;margin:24px 0;padding:12px 0;border-block:1px solid #aaa18b;font:12px 'IBM Plex Mono',monospace}
.calculator-page .codex-topic-calculator{margin:24px 0 48px;padding:28px;grid-template-columns:1fr 1fr;gap:32px;background:#fffdf6;border:1.5px solid var(--cl-ink);width:100%}
.calculator-page .codex-topic-calculator h2{font-size:30px}
.calculator-page .codex-calc-note{color:#59594e}
.calculator-page .codex-calculator-result{scroll-margin-top:150px;outline-offset:8px}
.calculator-page__guidance{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin:48px 0}
.calculator-page__guidance h2,.calculator-page__next h2{font:700 30px/1.15 'Bricolage Grotesque',sans-serif;margin:12px 0}
.calculator-page__guidance h3{font:700 20px 'Bricolage Grotesque',sans-serif;margin:0 0 12px}
.calculator-page__guidance aside{border-left:2px solid #c3652d;padding-left:28px}
.calculator-page__next{display:grid;grid-template-columns:1fr auto;align-items:center;gap:32px;border:1.5px solid var(--cl-ink);padding:32px;background:#eae3ce}
.calculator-page__next small{font-size:12px}.calculator-page__next a{max-width:280px;text-align:center}
.calculator-page :is(a,button,input):focus-visible{outline:3px solid #944018;outline-offset:4px}
@media(max-width:760px){.calculator-hero{grid-template-columns:1fr;gap:32px;padding-bottom:36px}.calculator-hero__copy h1{font-size:clamp(40px,13vw,60px)}.calculator-hero__bento{grid-template-columns:1fr 1fr;grid-template-rows:auto auto}.calculator-hero__card--tall{grid-column:1/-1;grid-row:auto}.calculator-page__head{grid-template-columns:1fr}.calculator-page__head svg{display:none}.calculator-page .codex-topic-calculator,.calculator-page__guidance,.calculator-page__next{grid-template-columns:1fr;gap:24px}.calculator-page .codex-topic-calculator{padding:20px}.calculator-page__steps{gap:12px;font-size:11px}.calculator-page__guidance aside{border-left:0;border-top:2px solid #c3652d;padding:24px 0 0}.calculator-page__next{padding:24px}.calculator-page__next a{max-width:100%}}
@media(max-width:520px){.calculator-hero__bento{grid-template-columns:1fr}.calculator-hero__card--tall{grid-column:auto}}

/* Each calculator hero uses a distinct illustrated scene with its own motion cues. */
.calculator-hero__artwork .hero-art-float{transform-box:fill-box;transform-origin:center;animation:calculator-hero-scene-float 4.8s ease-in-out infinite}
.calculator-hero__artwork .hero-art-drift{transform-box:fill-box;transform-origin:center;animation:calculator-hero-scene-drift 4.8s ease-in-out .2s infinite}
.calculator-hero__artwork .hero-art-accent{transform-box:fill-box;transform-origin:center;animation:calculator-hero-scene-accent 3.6s ease-in-out infinite}
.calculator-hero__artwork .hero-art-check{stroke-dasharray:28;stroke-dashoffset:28;animation:calculator-hero-scene-check 4.8s ease-in-out infinite}
@keyframes calculator-hero-scene-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes calculator-hero-scene-drift{0%,100%{transform:translate(0,0) rotate(0)}50%{transform:translate(3px,-3px) rotate(2deg)}}
@keyframes calculator-hero-scene-accent{0%,100%{transform:scale(1);opacity:.82}50%{transform:scale(1.08);opacity:1}}
@keyframes calculator-hero-scene-check{0%,35%{stroke-dashoffset:28;opacity:.2}58%,100%{stroke-dashoffset:0;opacity:1}}
@media(prefers-reduced-motion:reduce){.calculator-hero__artwork,.calculator-hero__artwork .hero-art-float,.calculator-hero__artwork .hero-art-drift,.calculator-hero__artwork .hero-art-accent,.calculator-hero__artwork .hero-art-check{animation:none}.calculator-hero__artwork .hero-art-check{stroke-dashoffset:0;opacity:1}}
