/* A newspaper front page with an immediately usable numbers desk. */
.frontpage{display:grid;grid-template-columns:minmax(0,1fr) minmax(390px,1.6fr) minmax(0,.88fr);grid-template-areas:"lead desk policy";gap:1.6rem;padding:1.5rem 0 2rem;border-top:1px solid var(--line);align-items:start}
.front-left{grid-area:lead}.front-right{grid-area:policy}.money-desk{grid-area:desk;min-width:0;background:#f1f4ff;border-top:4px solid var(--blue);padding:1.5rem}
.desk-label{display:block;font-size:.75rem;letter-spacing:.12em;font-weight:700;text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:.6rem;margin-bottom:1rem}
.desk-heading h1{font:500 clamp(2rem,3.3vw,3.15rem)/1.08 var(--serif);letter-spacing:-.045em;margin:.6rem 0}
.desk-heading p{font-size:.9375rem;color:var(--muted);margin:.65rem 0 1.25rem}.desk-heading .eyebrow{font-size:.75rem}
.tool-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid #9caace;margin-bottom:1.25rem}
.tool-tabs button{border:0;border-bottom:3px solid transparent;background:transparent;color:var(--muted);padding:.7rem .2rem;font-size:.875rem;min-height:44px}
.tool-tabs button[aria-selected=true]{border-bottom-color:var(--blue);color:var(--blue)}.tool-tabs button:hover{background:#e5ebff}
.calculator-compact{display:flex;flex-direction:column;background:none;padding:0;gap:1rem;margin:0}
.calculator-compact .fields{gap:.9rem .75rem}.calculator-compact label{font-size:.875rem}.calculator-compact input{font-size:1rem;border-color:#97a3bd;padding:.65rem;min-height:44px}
.calculator-compact .actions{margin-top:1.1rem;display:grid;grid-template-columns:1fr auto;gap:.65rem}.calculator-compact .actions button{min-height:44px}
.calculator-compact .error:empty{display:none}.calculator-compact .result{padding:1.2rem 1.3rem;background:var(--ink);min-height:165px}
.calculator-compact .result>span{color:var(--lime);font-size:.875rem}.calculator-compact .result .amount{font-size:clamp(2.1rem,3.1vw,3rem);margin:.45rem 0}
.calculator-compact .result p{font-size:.875rem;color:#d3dce6;line-height:1.55}.calc-assumption{font-size:.8125rem;line-height:1.55;color:var(--muted);grid-column:1/-1;margin:0}
.calc-assumption a{display:block;text-decoration:underline;text-underline-offset:3px;margin-top:.4rem;color:var(--blue)}
.desk-foot{font-size:.8125rem;border-top:1px solid #c9d1e4;margin-top:1.2rem;padding-top:1rem;display:flex;flex-wrap:wrap;gap:.45rem;justify-content:space-between}.desk-foot a{font-weight:700;color:var(--blue)}
.front-story{min-width:0}.front-story h2{font:500 1.45rem/1.18 var(--serif);letter-spacing:-.02em;margin:.5rem 0 .7rem}.front-main h2{font-size:clamp(1.85rem,2.4vw,2.6rem);line-height:1.11;letter-spacing:-.035em}
.front-story p{font-size:.9375rem;color:var(--muted);line-height:1.6;margin:.7rem 0}.front-photo{display:block;margin-bottom:1rem;overflow:hidden}.front-photo img{width:100%;aspect-ratio:1.6;object-fit:cover;height:auto}.front-main .front-photo img{aspect-ratio:1.18}
.front-right .front-story+.front-story{border-top:1px solid var(--line);padding-top:1.25rem;margin-top:1.25rem}.front-right .front-story p{display:none}.front-more{display:block;border-top:1px solid var(--line);margin-top:1.5rem;padding-top:1rem;font-size:.875rem;color:var(--muted)}.front-more strong{display:block;color:var(--ink);margin-top:.4rem;line-height:1.5}
.card-photo{display:block;overflow:hidden;margin-bottom:1rem}.card-photo img{width:100%;height:auto;aspect-ratio:1.75;object-fit:cover}.card h3{font-size:1.6rem}.photo-credit{font-size:.75rem;color:var(--muted);line-height:1.5;margin:.55rem 0}.photo-credit a{text-decoration:underline;text-underline-offset:2px}
.listrow.has-photo{grid-template-columns:168px minmax(0,1fr) 6rem}.list-photo{display:block;overflow:hidden}.list-photo img{width:100%;height:auto;aspect-ratio:1.5;object-fit:cover}
.prose figcaption{font-size:.8125rem}.prose .article-photo{width:100%;height:auto;max-height:500px;object-fit:cover}.article-photo-portrait{object-position:center 32%}.credit-gallery{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.credit-gallery figure{margin:0;min-width:0}.credit-gallery img{width:100%;height:auto;aspect-ratio:1.65;object-fit:cover}.credit-gallery h2{font-size:1.35rem;margin:1rem 0 .5rem}.credit-gallery p{font-size:.875rem;overflow-wrap:anywhere}
.article-layout .takeaway a{font-size:1rem}.wordmark small{font-size:.75rem}.money-desk:focus-within{outline-offset:5px}
@media(min-width:1400px){.frontpage{gap:2rem}.money-desk{padding:1.7rem}.masthead .wordmark{font-size:2.7rem}}
@media(max-width:1100px){.frontpage{grid-template-columns:1fr 1fr;grid-template-areas:"desk desk" "lead policy";gap:1.6rem}.money-desk{padding:1.5rem}.calculator-compact{display:grid;grid-template-columns:1.2fr 1fr;align-items:start;gap:1.4rem}.calculator-compact .result{min-height:225px}.calculator-compact .calc-assumption{grid-column:1/-1}.desk-heading h1{font-size:2.6rem}.front-main .front-photo img{aspect-ratio:1.6}}
@media(max-width:700px){.frontpage{grid-template-columns:minmax(0,1fr);grid-template-areas:"desk" "lead" "policy";gap:1.7rem;padding-top:1rem}.money-desk{padding:1.1rem}.desk-heading h1{font-size:2.3rem}.desk-heading p{margin-bottom:1rem}.calculator-compact{display:flex;gap:1rem}.calculator-compact .result{min-height:155px}.front-main h2{font-size:2rem}.front-right{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.front-right .desk-label{grid-column:1/-1;margin-bottom:0}.front-right .front-story+.front-story{padding-top:0;border-top:0;margin-top:0}.front-right .front-story h2{font-size:1.4rem}.front-photo img{aspect-ratio:1.4}.front-main .front-photo img{aspect-ratio:1.8}.listrow.has-photo{grid-template-columns:100px minmax(0,1fr)}.listrow.has-photo time{grid-column:2}.list-photo img{aspect-ratio:1;object-fit:cover}.credit-gallery{grid-template-columns:1fr}.card h3{font-size:1.6rem}}
@media(max-width:370px){.calculator-compact .fields{grid-template-columns:1fr}.tool-tabs button{font-size:.8125rem}.front-right{display:block}.front-right .front-story{margin-top:1rem}.front-right .front-story+.front-story{margin-top:1.4rem}.listrow.has-photo{grid-template-columns:78px minmax(0,1fr)}}
@media print{.frontpage{display:block}.money-desk{break-inside:avoid}.tool-tabs,.calculator .actions{display:none}.calculator .result{background:white;color:black}.calculator .result p,.calculator .result>span{color:black}.front-story{break-inside:avoid}.card-photo img{max-height:180px}}
.navlinks{gap:.7rem 1.15rem}.brand-mark{letter-spacing:0;padding:0;font-family:var(--serif);font-size:2rem}.utility{max-width:850px;margin:0 auto}.utility textarea{min-height:150px}.utility>form>label{margin-bottom:1rem}.utility-result{padding:1.2rem;background:var(--ink);color:white;font-size:1.15rem;line-height:1.65;font-weight:600;overflow-wrap:anywhere;min-height:85px}.utility-result>div{padding:.3rem 0;border-bottom:1px solid #374454}.utility .small{font-size:.75rem;color:var(--muted)}.utility .code-output{font-family:monospace;min-height:240px}.money-desk .utility textarea{min-height:125px}.money-desk .utility input,.money-desk .utility select{padding:.6rem;font-size:1rem;min-height:44px}.money-desk .utility .fields{gap:.75rem}.money-desk .utility .actions{margin-top:1rem;gap:.5rem}.money-desk .utility button{padding:.55rem .65rem;font-size:.8rem;min-height:44px}.quick-tools{display:flex;flex-wrap:wrap;gap:.5rem 1rem;border-top:1px solid #c5cce2;padding-top:1rem;font-size:.8125rem;font-weight:700}.category-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.category-grid>a{padding:1.2rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.category-grid strong{display:block;font:500 1.3rem var(--serif);margin-bottom:.5rem}.category-grid span{font-size:.8125rem;color:var(--muted);line-height:1.55;display:block}.sharebar{display:flex;gap:.6rem 1rem;align-items:center;flex-wrap:wrap;border-block:1px solid var(--line);padding:.8rem 0;margin:1.2rem 0;font-size:.8125rem}.sharebar button{padding:.45rem .7rem;font-size:.8rem;min-height:40px}.sharebar a{text-decoration:underline;text-underline-offset:3px}.sharebar [role=status]{flex-basis:100%;font-size:.8rem;color:var(--muted)}.sharebar [role=status]:empty{display:none}.comments{border-top:2px solid var(--ink);margin-top:3rem;font-family:var(--sans);font-size:.9375rem}.comments form{margin-top:1.2rem;background:var(--wash);padding:1.2rem}.comments textarea{min-height:130px}.comments .fields{margin-bottom:1rem}.comments .consent{display:flex;align-items:flex-start;gap:.5rem;font-size:.8rem;line-height:1.6;margin:1rem 0;font-weight:400;flex-wrap:wrap}.comments .consent input{width:auto;margin-top:.3rem}.comment-trap{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.comment{border-bottom:1px solid var(--line);padding:1.2rem 0;overflow-wrap:anywhere}.comment time{font-size:.75rem;color:var(--muted);display:block}.comment p{white-space:pre-wrap;margin:.6rem 0}.comment .actions{display:flex;gap:.7rem}.comment button{padding:.3rem .6rem;font-size:.75rem;min-height:36px}.comments .small{font-size:.8rem;line-height:1.6}.comments [role=status]{font-size:.875rem;color:var(--blue)}button:disabled{cursor:wait;opacity:.65}.prose .article-photo{max-height:620px;object-fit:contain;background:#f1f3f4}.front-right .front-photo img{aspect-ratio:1.35}.toolcard{display:flex;flex-direction:column;align-items:flex-start}.toolcard .button{margin-top:auto}.toolcard p{flex-grow:1}
.character-groups{border:1px solid var(--line);padding:1rem;display:flex;gap:1rem;flex-wrap:wrap;margin:1rem 0}.character-groups label{display:flex;align-items:center;gap:.5rem}.utility input[type=checkbox]{width:auto;display:inline-block;vertical-align:middle;margin:.4rem}.file-order{padding-left:1.5rem}.file-order li{margin:1rem 0;overflow-wrap:anywhere}.file-order span{display:block;font-size:.85rem;margin-bottom:.4rem}.file-order button{padding:.4rem .7rem;margin-right:.4rem;font-size:.75rem;min-height:38px}[data-qr-preview]{max-width:100%;height:auto;margin:1.5rem auto;border:1px solid var(--line)}[data-password-area]{margin:1rem 0}[data-password]{font-family:monospace;font-size:1.1rem}[data-password-area] .actions{display:flex;gap:.7rem;margin-top:.7rem}
.tool-form-fields{border:0;padding:0;margin:0;min-width:0}.tool-form-fields>label{margin-bottom:1rem}.tool-form-fields:disabled{opacity:.7}.tool-group-nav{display:flex;flex-wrap:wrap;gap:.6rem;margin:0 0 2rem}.tool-group-nav a{padding:.65rem 1rem;border:1px solid var(--line);font-size:.85rem}.tool-group-nav a:hover{border-color:var(--blue)}.tool-related{border-top:1px solid var(--line);margin-top:2rem;padding-top:.5rem}
@media(max-width:900px){.category-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.category-grid{grid-template-columns:repeat(2,1fr)}.navlinks{gap:.15rem .9rem;max-height:115px;overflow:auto}.navlinks a{padding:.35rem 0;min-height:32px}.navigation{position:relative}.utility .fields{gap:.7rem}.comments .fields{grid-template-columns:1fr}.sharebar{gap:.5rem .85rem}.comments form{padding:1rem}.toolcard{padding:1.3rem}.front-right .front-photo img{aspect-ratio:1.25}.category-grid>a{padding:1rem}.category-grid span{font-size:.75rem}}
@media(max-width:370px){.utility .fields{grid-template-columns:1fr}.category-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.sharebar,.comments,.utility .actions,.quick-tools{display:none}.category-grid{grid-template-columns:repeat(3,1fr)}.utility-result{background:white;color:black}}
.comments fieldset{border:0;margin:0;padding:0;min-width:0}
