/* Public tools share the existing Taste brand. Native form controls keep the tool compact and accessible. */
.resource-page { --ink:var(--home-ink); --muted:var(--home-muted); color-scheme:light; }
.resource-page[data-theme='dark'] { color-scheme:dark; }
.resource-hero { padding-block:45px 38px; }
.resource-back { display:inline-block; color:var(--home-muted); font-size:14px; margin-bottom:28px; }
.resource-hero h1 { font-size:clamp(38px,4.6vw,62px); font-weight:500; letter-spacing:-2px; line-height:1.1; margin:0 0 20px; }
.resource-hero h1 span { color:var(--home-purple); }
.resource-hero>p { max-width:640px; font-size:18px; line-height:1.65; color:var(--home-muted); }
.resource-meta { margin-top:22px; font-size:13px; color:var(--home-muted); line-height:1.7; }
.resource-page h2 { font-size:28px; line-height:1.2; font-weight:500; letter-spacing:-.6px; }
.resource-page h3 { font-size:21px; line-height:1.3; letter-spacing:-.3px; font-weight:500; }
.resource-page a:hover { color:var(--home-purple); }
.resource-page a:focus-visible,.resource-page button:focus-visible,.resource-page input:focus-visible,.resource-page select:focus-visible,.resource-page summary:focus-visible,.resource-page [tabindex]:focus-visible { outline:3px solid var(--home-purple); outline-offset:3px; }
.resource-page .home-button { color:#faf9ff; cursor:pointer; font-family:inherit; }
.resource-page input,.resource-page select { font:inherit; color:var(--home-ink); background:var(--home-bg); border:1px solid var(--home-muted); border-radius:8px; padding:12px; min-height:47px; width:100%; }
.resource-page select { padding-right:25px; }
.resource-page label { display:flex; flex-direction:column; gap:8px; font-size:14px; line-height:1.5; font-weight:450; }
.resource-page label small { color:var(--home-muted); font-size:12px; font-weight:400; }
.calculator { display:grid; grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr); align-items:start; gap:40px; padding-bottom:60px; }
.calc-inputs { padding:28px; border:1px solid var(--home-line); border-radius:20px; background:var(--home-panel); }
.calc-inputs h2 { margin-bottom:26px; }
.field-pair { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:20px; }
.income-fields { grid-template-columns:1.15fr 1fr; }
.resource-page .check-field { display:flex; flex-direction:row; align-items:flex-start; gap:10px; margin-block:17px; cursor:pointer; }
.resource-page .check-field input { flex:none; width:18px; height:18px; min-height:0; padding:0; margin:2px 0 0; accent-color:#4937b6; }
.field-help { font-size:12px; line-height:1.7; color:var(--home-muted); margin-block:12px; }
.field-help a,.resource-copy a,.resource-source a { text-decoration:underline; text-underline-offset:3px; color:var(--home-purple); }
.secondary-options { margin-block:18px; }
.calc-options { border-top:1px solid var(--home-line); margin-top:20px; padding-top:18px; }
.calc-options summary { cursor:pointer; font-size:15px; font-weight:500; line-height:1.5; }
.option-body { padding-top:20px; display:grid; gap:16px; }
.option-body .check-field,.option-body .field-pair,.option-body .field-help { margin:0; }
.calc-form-actions { display:flex; align-items:center; gap:20px; margin-top:27px; flex-wrap:wrap; }
.plain-button { font:inherit; font-size:13px; background:transparent; color:var(--home-purple); border:0; padding:8px 0; cursor:pointer; text-decoration:underline; text-underline-offset:5px; }
.plain-button:disabled { opacity:.5; cursor:default; }
.take-home-panel { background:var(--home-soft); border:1px solid var(--home-line); border-radius:20px; padding:30px; }
.result-heading { display:flex; justify-content:space-between; align-items:start; gap:18px; }
.result-heading h2 { font-size:20px; line-height:1.3; }
.result-heading select { width:auto; flex:none; font-size:13px; min-height:36px; padding:7px 24px 7px 9px; }
#take-home { display:block; font-size:clamp(36px,4vw,55px); color:var(--home-purple); font-weight:500; line-height:1.15; letter-spacing:-1.8px; margin-top:30px; overflow-wrap:anywhere; }
#result-context { color:var(--home-muted); font-size:13px; margin-top:12px; }
.calc-summary { display:grid; grid-template-columns:1fr 1fr 1fr; gap:20px; padding-top:25px; margin:28px 0 0; border-top:1px solid var(--home-line); }
.calc-summary dt { font-size:12px; color:var(--home-muted); margin-bottom:9px; }
.calc-summary dd { margin:0; font-size:16px; font-weight:500; }
.result-note { color:var(--home-muted); font-size:13px; line-height:1.7; margin-block:20px; }
.result-note:empty { display:none; }
.breakdown-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:30px; margin-bottom:20px; }
.breakdown-heading h2 { font-size:22px; }
.table-scroll { overflow:auto; max-width:100%; border:1px solid var(--home-line); border-radius:12px; }
.resource-page table { width:100%; border-collapse:collapse; font-size:13px; text-align:left; font-variant-numeric:tabular-nums; }
.resource-page caption { text-align:left; padding:14px 16px; font-size:12px; color:var(--home-muted); }
.resource-page th,.resource-page td { padding:15px 16px; line-height:1.5; }
.resource-page thead { background:var(--home-panel); }
.resource-page thead th { font-weight:500; color:var(--home-muted); }
.resource-page tbody th { font-weight:400; min-width:160px; }
#pay-table td { text-align:right; white-space:nowrap; }
.resource-page tr+tr { border-top:1px solid var(--home-line); }
.resource-page .net-row { background:var(--home-soft); color:var(--home-purple); }
.resource-page .net-row th,.resource-page .net-row td { font-weight:600; }
.resource-page .subtotal-row th { font-weight:500; }
.calc-error { padding:14px; color:var(--home-ink); background:var(--home-soft); border:2px solid var(--home-purple); border-radius:8px; font-size:14px; line-height:1.6; margin-top:20px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
[hidden] { display:none!important; }
.resource-notes { padding-block:45px 70px; border-top:1px solid var(--home-line); }
.notes-grid { display:grid; grid-template-columns:1fr 1fr; gap:32px 50px; margin-top:32px; }
.notes-grid p { color:var(--home-muted); font-size:14px; line-height:1.8; margin-top:12px; }
.resource-source { border-top:1px solid var(--home-line); padding-top:25px; margin-top:35px; font-size:13px; line-height:1.8; color:var(--home-muted); }
.resource-source a { display:block; margin-top:10px; }
.resource-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; padding-bottom:65px; }
.resource-card { display:flex; flex-direction:column; align-items:start; padding:30px; border:1px solid var(--home-line); border-radius:20px; background:var(--home-panel); }
.resource-card:first-child { background:var(--home-soft); }
.resource-card p { font-size:15px; color:var(--home-muted); line-height:1.7; margin-block:15px 25px; max-width:440px; }
.resource-card a { margin-top:auto; text-decoration:underline; text-underline-offset:5px; font-size:14px; font-weight:500; color:var(--home-purple); }
.resource-card small { font-size:12px; color:var(--home-muted); margin-bottom:18px; }
.resource-reading { display:grid; grid-template-columns:200px minmax(0,760px); gap:60px; padding-block:15px 65px; }
.resource-toc { align-self:start; position:sticky; top:108px; display:flex; flex-direction:column; gap:18px; background:transparent; font-size:14px; line-height:1.5; }
.resource-toc strong { font-weight:500; }
.resource-copy { min-width:0; }
.resource-copy section { margin-bottom:38px; }
.resource-copy h2 { margin-bottom:18px; }
.resource-copy p,.resource-copy li { font-size:16px; line-height:1.85; color:var(--home-muted); }
.resource-copy p+p { margin-top:15px; }
.resource-copy li { margin-bottom:12px; }
.resource-copy ul,.resource-copy ol { padding-left:22px; }
.resource-callout { padding:24px; border-left:3px solid var(--home-purple); background:var(--home-soft); margin-bottom:30px; border-radius:0 12px 12px 0; }
.resource-callout p { font-size:14px; line-height:1.8; }
.resource-callout strong { display:block; font-size:16px; margin-bottom:8px; }
.holiday-controls { display:flex; gap:25px; flex-wrap:wrap; align-items:end; margin-block:0 25px; }
.holiday-controls label { min-width:180px; }
.holiday-controls .plain-button { margin-left:auto; padding:12px 0; }
.holiday-calendar { padding-bottom:50px; }
.holiday-calendar td small { display:block; color:var(--home-muted); margin-top:3px; }
.home-resources { border-top:1px solid var(--home-line); }
.home-resources-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:50px; }
.home-resources-feature { padding:30px; border-radius:20px; background:var(--home-soft); }
.home-resources-feature h3 { font-size:32px; font-weight:500; line-height:1.2; letter-spacing:-1px; }
.home-resources-feature p { font-size:16px; color:var(--home-muted); line-height:1.7; margin-block:18px 25px; }
.home-guide-links { display:flex; flex-direction:column; gap:24px; justify-content:center; }
.home-guide-links a { display:flex; align-items:center; justify-content:space-between; gap:20px; font-size:19px; }
.home-guide-links a span { font-size:22px; color:var(--home-purple); }
@media(prefers-color-scheme:dark) { .resource-page:not([data-theme='light']) { color-scheme:dark; } }
@media(max-width:1100px) { .calculator { gap:25px; grid-template-columns:minmax(280px,.85fr) minmax(0,1fr); } .calc-inputs,.take-home-panel { padding:22px; } .result-heading { flex-direction:column; } .calc-summary { gap:12px; } .resource-reading { gap:35px; grid-template-columns:170px minmax(0,1fr); } }
@media(max-width:900px) { .calculator { grid-template-columns:1fr; } .calc-inputs { max-width:none; } .resource-reading { grid-template-columns:1fr; } .resource-toc { position:static; flex-direction:row; flex-wrap:wrap; border-bottom:1px solid var(--home-line); padding-bottom:22px; } .resource-toc strong { width:100%; } .result-heading { flex-direction:row; } .home-resources-grid { grid-template-columns:1fr; gap:30px; } }
@media(max-width:600px) { .resource-hero { padding-block:30px; } .resource-hero h1 { letter-spacing:-1.2px; } .resource-hero>p { font-size:16px; } .resource-grid,.notes-grid { grid-template-columns:1fr; } .resource-card { padding:24px; } .calc-inputs,.take-home-panel { padding:22px 18px; border-radius:16px; } .field-pair { gap:12px; } .result-heading { flex-direction:column; } .calc-summary { grid-template-columns:1fr 1fr; } .breakdown-heading { align-items:start; flex-direction:column; gap:8px; } .resource-page th,.resource-page td { padding:13px 12px; } .resource-page h2 { font-size:25px; } .resource-copy p,.resource-copy li { font-size:15px; } .holiday-controls { gap:15px; } .holiday-controls label { min-width:0; flex:1; } .holiday-controls .plain-button { margin-left:0; } .home-guide-links a { font-size:17px; } .home-resources-feature { padding:25px; } }
@media(max-width:380px) { .field-pair { grid-template-columns:1fr; } }
@media print { .site-header,.site-footer,.resource-toc,.calc-form-actions,.plain-button { display:none!important; } .calculator,.resource-reading { display:block; } .calc-inputs { margin-bottom:30px; } .table-scroll { overflow:visible; } body.home-page { background:white; color:black; } }
/* Grid children must constrain their own width so the pay table scrolls inside the pane. */
.calc-inputs,.calc-output { min-width:0; }
.field-pair { align-items:end; }
.resource-page input,.resource-page select { min-width:0; }
@media(max-width:600px){.resource-hero h1{font-size:clamp(28px,7.5vw,34px);line-height:1.15}}
