.tool-nav,.tool-footer{max-width:1120px;margin:0 auto;padding:20px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.tool-cta,.plan-form button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:0 22px;border:0;border-radius:8px;background:var(--kept);color:#fff;text-decoration:none;font:700 16px var(--text);cursor:pointer}.nav-action{display:inline-flex;min-height:44px;align-items:center;color:var(--kept);font-weight:700;text-underline-offset:4px}
.tool-hero{max-width:1120px;margin:auto;padding:64px 20px 72px;display:grid;grid-template-columns:1fr .82fr;gap:72px;align-items:center}
.tool-copy{max-width:560px}.tool-kicker{margin:0 0 18px;color:var(--kept);font-size:16px;font-weight:700}.tool-hero h1{font-size:clamp(54px,5vw,68px);font-weight:800}.tool-lede{max-width:34ch;margin:24px 0 26px;color:var(--ink-2);font-size:20px;line-height:1.55}.tool-note{margin:10px 0;color:var(--ink-2);font-size:14px}
.receipt{position:relative;margin:0;padding:30px;background:var(--paper);box-shadow:0 28px 60px -38px rgba(60,40,20,.55);font-family:var(--mono);transform:rotate(1deg)}.receipt::after{position:absolute;right:0;bottom:-12px;left:0;height:12px;background:conic-gradient(from -45deg at 50% 0,var(--paper) 90deg,#0000 0) 0 0/18px 12px repeat-x;content:""}.receipt-heading{margin:0 0 20px;padding-bottom:12px;border-bottom:2px dashed var(--rule);font-weight:500}.receipt p:not(.receipt-heading){display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px dashed var(--rule);font:15px var(--text)}.receipt p span{color:var(--ink-2)}.receipt p b{text-align:right}.receipt strong{display:block;margin-top:24px;color:var(--kept);font:800 26px/1.25 var(--display)}.receipt small{display:block;margin-top:18px;color:var(--ink-2);font:13px var(--text)}
.planner{max-width:1120px;margin:auto;padding:68px 20px 72px;border-top:1px solid var(--rule);display:grid;grid-template-columns:.8fr 1fr;gap:48px;align-items:start}.planner h2,.article h2{font-size:clamp(30px,4vw,42px);line-height:1.1}.planner-intro p{max-width:45ch;color:var(--ink-2);font-size:17px;line-height:1.65}.plan-form{display:grid;grid-template-columns:1fr 1fr;gap:18px 16px}.plan-form label{display:grid;gap:7px;font-size:15px;font-weight:650}.plan-form input,.plan-form select{width:100%;min-height:46px;padding:10px 12px;border:1px solid var(--rule);border-radius:8px;background:var(--paper);color:var(--ink);font:16px var(--text)}.plan-form input:focus-visible,.plan-form select:focus-visible{outline:3px solid var(--kept);outline-offset:2px}.plan-form button{min-height:48px}.plan-form .print-button{background:transparent;color:var(--kept);border:1px solid var(--kept)}#save-status{grid-column:1/-1;margin:0;color:var(--ink-2);font-size:14px}
.saved-plan{max-width:640px;margin:0 auto 72px;padding:28px 32px;background:var(--paper);border-top:4px solid var(--kept);box-shadow:0 20px 50px -40px rgba(60,40,20,.6)}.saved-kicker{margin:0 0 10px;color:var(--kept);font-weight:700}.saved-plan h3{font-size:28px;line-height:1.15}.saved-plan dl{margin:20px 0}.saved-plan dl div{display:grid;grid-template-columns:120px 1fr;gap:12px;padding:10px 0;border-bottom:1px dashed var(--rule)}.saved-plan dt{color:var(--ink-2)}.saved-plan dd{margin:0;font-weight:650}.plan-reminder{padding:16px;background:var(--counter);color:var(--ink-2);line-height:1.6}.saved-plan>a{display:inline-flex;min-height:44px;align-items:center;color:var(--kept);font-weight:700}
.checkin{margin:24px 0;padding:18px 0;border-top:1px dashed var(--rule);border-bottom:1px dashed var(--rule)}.checkin h4{margin:0;font:700 19px var(--text)}.checkin>p{margin:8px 0;color:var(--ink-2)}.checkin progress{width:100%;height:12px;accent-color:var(--kept)}.checkin>div{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.checkin button{min-height:44px;padding:8px 14px;border:1px solid var(--kept);border-radius:8px;background:transparent;color:var(--kept);font:650 15px var(--text);cursor:pointer}.checkin button:first-child{background:var(--kept);color:white}.checkin button:hover{filter:brightness(.95)}
.article{max-width:1120px;margin:0 auto;padding:72px 20px 96px;border-top:1px solid var(--rule);display:grid;grid-template-columns:minmax(0,680px) 240px;justify-content:space-between;gap:64px}.article-copy h2:not(:first-child){margin-top:42px}.article-copy p{margin:18px 0;color:var(--ink-2);font-size:17px;line-height:1.7}.article-copy .article-links{font-size:15px}.article-copy a{color:var(--kept);font-weight:650}.article-aside{align-self:start;margin-top:8px;padding:20px 0 20px 20px;border-left:3px solid var(--kept)}.article-aside p{color:var(--ink-2);font-size:15px;line-height:1.6}.tool-footer{margin-top:0;border-top:1px solid var(--rule);font-size:14px}.tool-footer nav{display:flex;gap:20px;flex-wrap:wrap}.tool-footer nav a{color:var(--ink-2)}.tool-cta:hover,.plan-form button:hover{background:#09643d}.plan-form .print-button:hover{background:var(--kept-soft);color:var(--kept)}
@media(max-width:760px){.tool-nav{gap:12px}.nav-action{font-size:14px;white-space:nowrap}.tool-hero{grid-template-columns:1fr;gap:38px;padding:48px 20px 56px}.tool-hero h1{font-size:clamp(40px,11vw,48px)}.tool-lede{font-size:18px}.receipt{width:100%;max-width:460px;justify-self:center}.planner{grid-template-columns:1fr;gap:24px;padding:52px 20px 56px}.plan-form{grid-template-columns:1fr}.article{grid-template-columns:1fr;gap:28px;padding:56px 20px 72px}.article-aside{max-width:480px}.tool-footer{align-items:flex-start;flex-wrap:wrap}.tool-footer nav{order:3;width:100%;gap:14px 20px}}
@media print{body{background:#fff}.tool-nav,.tool-hero,.planner,.article,.tool-footer,.plan-reminder,.saved-plan>a{display:none!important}.saved-plan{display:block!important;margin:0 auto;padding:12mm;border:1px solid #999;box-shadow:none}.saved-plan dl div{break-inside:avoid}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
