/* Tax tools, October 2026. Extends site-20260905.css; uses its tokens only. */
.tt-top{padding:22px 0 0;font-size:13px;color:var(--muted)}
.tt-top a{color:var(--muted)}
.tt-hero{padding:34px 0 30px;border-bottom:1px solid var(--line)}
.tt-hero h1{max-width:900px;margin-bottom:18px}
.tt-hero .lede{max-width:720px}
.tt-meta{display:flex;flex-wrap:wrap;gap:8px 22px;font-size:13px;color:var(--muted);margin:0}
.tt-meta span::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);margin-right:8px;vertical-align:1px}

/* Calculator layout */
.tt-calc{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:48px;padding:44px 0 70px;align-items:start}
.tt-form fieldset{border:0;border-top:1px solid var(--line);margin:0;padding:26px 0 8px}
.tt-form fieldset:first-child{border-top:0;padding-top:0}
.tt-form legend{font:600 11px/1.6 Arial,Helvetica,sans-serif;letter-spacing:.17em;text-transform:uppercase;color:var(--green);padding:0;margin-bottom:16px;float:left;width:100%}
.tt-form legend+*{clear:both}
.tt-legend-note{font-size:13px;color:var(--muted);margin:-6px 0 16px;clear:both}
.tt-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px;margin-bottom:18px}
.tt-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.tt-field.full{grid-column:1/-1}
.tt-field label,.tt-label{font-size:13px;font-weight:600;line-height:1.35}
.tt-hint{font-size:12px;color:var(--muted);line-height:1.45}
.tt-money{display:flex;align-items:stretch;border:1px solid #b9c5be;background:var(--white);border-radius:2px;transition:border-color .15s}
.tt-money:focus-within{border-color:var(--ink);box-shadow:0 0 0 3px rgba(40,94,76,.12)}
.tt-money span{display:flex;align-items:center;padding:0 0 0 12px;color:var(--muted);font-size:15px}
.tt-money input{border:0;outline:0;background:transparent;width:100%;min-width:0;padding:11px 12px 11px 6px;font-size:16px;font-variant-numeric:tabular-nums;color:var(--ink)}
.tt-money input:focus-visible{outline:0}
.tt-field select{border:1px solid #b9c5be;background:var(--white);padding:11px 12px;font-size:15px;border-radius:2px;color:var(--ink)}
.tt-seg{display:flex;flex-wrap:wrap;border:1px solid #b9c5be;background:var(--white);border-radius:2px;width:max-content;max-width:100%}
.tt-seg label{position:relative;cursor:pointer;font-size:13px;font-weight:600}
.tt-seg input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.tt-seg span{display:block;padding:10px 16px;border-right:1px solid var(--line)}
.tt-seg label:last-child span{border-right:0}
.tt-seg input:checked+span{background:var(--ink);color:#fff}
.tt-seg input:focus-visible+span{outline:3px solid #a85d20;outline-offset:-3px}
.tt-check{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.45;cursor:pointer}
.tt-check input{margin-top:3px;accent-color:var(--green);width:16px;height:16px;flex-shrink:0}
.tt-cap{font-size:12px;color:var(--muted)}
.tt-cap.over{color:#a85d20}
.tt-toggle{background:none;border:0;padding:0;font-size:13px;font-weight:600;text-decoration:underline;text-underline-offset:4px;cursor:pointer;color:var(--ink)}

/* Result card */
.tt-result{position:sticky;top:116px;background:var(--white);border:1px solid var(--line);box-shadow:0 18px 40px -28px rgba(23,50,60,.35)}
.tt-result-head{background:var(--ink);color:#f3f6f1;padding:24px 26px}
.tt-result-head .eyebrow{color:#a9c7b8;margin-bottom:10px}
.tt-verdict{font:400 clamp(1.6rem,2.4vw,2.15rem)/1.15 Georgia,'Times New Roman',serif;letter-spacing:-.03em;margin:0}
.tt-verdict strong{font-weight:400;color:#bfe0cf}
.tt-result-body{padding:24px 26px 26px}
.tt-pair{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:20px}
.tt-pair>div{background:var(--white);padding:16px 16px 14px}
.tt-pair .win{background:#f1f6f2}
.tt-pair small{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600}
.tt-pair b{display:block;font:400 1.65rem/1.2 Georgia,'Times New Roman',serif;margin:6px 0 2px;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.tt-pair .tag{display:inline-block;font-size:11px;font-weight:600;color:var(--green);margin-top:4px}
.tt-pair .tag[hidden],.tt-insight[hidden]{display:none}
.tt-bars{margin:0 0 20px}
.tt-bar{display:grid;grid-template-columns:48px 1fr;gap:10px;align-items:center;font-size:12px;color:var(--muted);margin-bottom:8px}
.tt-bar i{display:block;height:10px;background:#c9d5cd;transition:width .35s ease;min-width:2px}
.tt-bar.win i{background:var(--green)}
.tt-kv{list-style:none;padding:0;margin:0 0 18px;font-size:14px}
.tt-kv li{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid var(--line)}
.tt-kv li span:last-child{font-variant-numeric:tabular-nums;font-weight:600;text-align:right}
.tt-insight{background:var(--soft);padding:14px 16px;font-size:14px;line-height:1.55;margin-bottom:18px}
.tt-insight p{margin:0}
.tt-insight p+p{margin-top:8px}
.tt-actions{display:flex;flex-wrap:wrap;gap:10px}
.tt-actions .button{flex:1 1 auto;gap:12px}
.tt-private{font-size:12px;color:var(--muted);margin:14px 0 0}

/* Detail tables */
.tt-detail{border-top:1px solid var(--line);padding:56px 0 20px}
.tt-cols{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.tt-table{width:100%;border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums}
.tt-table caption{text-align:left;font-weight:600;padding-bottom:10px;font-size:14px}
.tt-table th,.tt-table td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.tt-table td:last-child,.tt-table th:last-child{text-align:right}
.tt-table thead th{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--ink)}
.tt-table tfoot td{font-weight:700;border-top:1px solid var(--ink);border-bottom:0}
.tt-room td:nth-child(2),.tt-room td:nth-child(3){text-align:right}

/* Content */
.tt-content{display:grid;grid-template-columns:260px minmax(0,1fr);gap:64px;padding:40px 0 80px}
.tt-content aside nav{position:sticky;top:120px;font-size:14px}
.tt-content aside h2{font:600 11px/1.6 Arial,Helvetica,sans-serif;letter-spacing:.17em;text-transform:uppercase;color:var(--green)}
.tt-content aside ol{padding-left:18px;margin:0}
.tt-content aside li{margin-bottom:8px}
.tt-prose{max-width:760px}
.tt-prose section{margin-bottom:46px}
.tt-prose h2{font-size:clamp(1.7rem,2.5vw,2.3rem)}
.tt-prose ul{padding-left:20px}
.tt-prose li{margin-bottom:8px}
.tt-prose details{border-bottom:1px solid var(--line);padding:14px 0}
.tt-prose summary{font-weight:600;cursor:pointer;list-style-position:outside}
.tt-prose details p{margin:10px 0 4px;color:var(--muted)}
.tt-sources{font-size:13px;color:var(--muted)}
.tt-sources li{margin-bottom:6px}
.tt-note{border-left:3px solid var(--green);padding:4px 0 4px 16px;color:var(--muted);font-size:14px}

/* Hub */
.tt-hub{padding:40px 0 80px}
.tt-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.tt-card{background:var(--white);padding:28px 26px;display:flex;flex-direction:column;gap:12px;text-decoration:none;min-height:230px}
a.tt-card:hover h3{text-decoration:underline}
.tt-card .num{font:600 11px/1 Arial,Helvetica,sans-serif;letter-spacing:.17em;color:var(--green)}
.tt-card h3{font:400 1.45rem/1.2 Georgia,'Times New Roman',serif;letter-spacing:-.02em;margin:0}
.tt-card p{font-size:14px;color:var(--muted);margin:0;flex:1}
.tt-card .go{font-size:13px;font-weight:600}
.tt-card.soon{background:#f6f7f3}
.tt-card.soon .go{color:var(--muted);font-weight:400}

/* Mobile summary bar */
.tt-mobilebar{display:none}
@media (max-width:980px){
  .tt-calc{grid-template-columns:1fr;gap:34px}
  .tt-result{position:static}
  .tt-content{grid-template-columns:1fr;gap:10px}
  .tt-content aside{display:none}
  .tt-cards{grid-template-columns:1fr 1fr}
  .tt-mobilebar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:90;background:var(--ink);color:#fff;padding:12px 16px;gap:12px;align-items:center;justify-content:space-between;font-size:14px;box-shadow:0 -8px 24px -12px rgba(0,0,0,.4)}
  .tt-mobilebar a{color:#fff;font-weight:600;white-space:nowrap}
  .tt-mobilebar.hide{display:none}
  body.tt-page{padding-bottom:58px}
}
@media (max-width:640px){
  .tt-grid,.tt-cols,.tt-cards{grid-template-columns:1fr}
  .tt-result-head,.tt-result-body{padding-left:18px;padding-right:18px}
  .tt-pair b{font-size:1.35rem}
  .tt-seg span{padding:10px 12px}
}
@media print{
  .site-top,.site-header,.site-footer,.tt-form,.tt-actions,.tt-mobilebar,.tt-content aside,.tt-top{display:none!important}
  .tt-calc{display:block;padding:0}
  .tt-result{position:static;box-shadow:none;border:1px solid #999}
  .tt-result-head{background:#fff;color:#000;border-bottom:1px solid #999}
  .tt-verdict strong{color:#000}
  body{background:#fff}
}
@media (prefers-reduced-motion:reduce){.tt-bar i{transition:none}}

/* Hub groups, 16 Oct 2026 */
.tt-cards{gap:0;background:transparent;border:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.tt-card{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.tt-group{margin:0 0 54px}
.tt-group h2{font-size:clamp(1.7rem,2.6vw,2.4rem);margin-bottom:22px}
.tt-group .eyebrow{margin-bottom:10px}
.tt-cards.compact .tt-card{min-height:200px}

/* Section mapper, 16 Oct 2026 */
.sm-wrap{padding:36px 0 30px}
.sm-bar{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:18px;margin-bottom:14px}
.sm-bar input,.sm-bar select{border:1px solid #b9c5be;background:var(--white);padding:13px 14px;font-size:17px;border-radius:2px;color:var(--ink);width:100%}
.sm-bar input:focus{border-color:var(--ink);box-shadow:0 0 0 3px rgba(40,94,76,.12);outline:0}
.sm-quick{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:13px;color:var(--muted);margin:6px 0 18px}
.sm-quick button{border:1px solid #b9c5be;background:var(--white);padding:7px 12px;font:600 13px/1.2 Arial,Helvetica,sans-serif;color:var(--ink);cursor:pointer;border-radius:2px;min-height:36px}
.sm-quick button:hover{border-color:var(--ink)}
.sm-count{font-size:13px;color:var(--muted);margin:0 0 8px}
.sm-table td:nth-child(1),.sm-table td:nth-child(2){white-space:nowrap}
.sm-table td:nth-child(2){font-variant-numeric:normal;color:var(--green)}
.sm-table td:last-child,.sm-table th:last-child{text-align:left}
.sm-table td:nth-child(2) b{font-weight:700}
.sm-t{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:3px}
.sm-om{color:#a85d20;font-weight:600}
.sm-empty{text-align:left!important;color:var(--muted)}
@media (max-width:640px){.sm-bar{grid-template-columns:1fr}.sm-table thead{display:none}.sm-table tr{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line);padding:8px 0}.sm-table td{border:0;padding:4px 6px}.sm-table td::before{content:attr(data-l);display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.sm-table td:nth-child(3){grid-column:1/-1;white-space:normal}.sm-table td:nth-child(2){white-space:normal}}
