/* TND v2 — shared tool-page layout */
.page-wrap { max-width:1180px;margin:0 auto;padding:40px 24px 0; }

.crumbs { display:flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:28px;flex-wrap:wrap; }
.crumbs a { color:var(--ink-soft); }
.crumbs a:hover { color:var(--teal-deep); }
.crumbs .sep { opacity:.5; }
.crumbs .dot, .meta-row .dot { width:4px;height:4px;border-radius:50%;background:var(--terracotta);display:inline-block;margin:0 4px 2px;vertical-align:middle; }

.tool-hero { display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:64px;align-items:end;padding-bottom:56px;border-bottom:1px solid var(--rule); }
@media(max-width:880px){.tool-hero{grid-template-columns:1fr;gap:32px;}}
.tool-hero h1 { font-family:var(--font-serif);font-weight:400;font-size:clamp(44px,6.5vw,80px);line-height:1.02;letter-spacing:-0.02em;text-wrap:balance;margin:18px 0 22px; }
.tool-hero h1 em { font-style:italic;color:var(--teal-deep); }
.tool-hero .deck { font-size:18px;color:var(--ink-soft);line-height:1.6;max-width:56ch;margin-bottom:26px; }
.tool-hero .meta-row { display:flex;flex-wrap:wrap;gap:22px;font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute);margin:0; }
.tool-hero .meta-row span strong { color:var(--ink);font-weight:500; }

.hero-side { background:var(--bg-card);border:1px solid var(--rule);border-radius:var(--radius-lg);padding:28px;box-shadow:var(--shadow-card);position:relative; }
.hero-side::before { content:"";position:absolute;top:0;left:28px;right:28px;height:2px;background:var(--terracotta);border-radius:2px; }
.hero-side h3 { font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute);font-weight:500;margin:0 0 14px; }
.quick-list { list-style:none;display:flex;flex-direction:column;gap:10px;font-size:14px;color:var(--ink-soft);line-height:1.5;padding:0;margin:0; }
.quick-list li { display:flex;gap:10px;align-items:baseline; }
.quick-list .num { font-family:var(--font-mono);font-size:11px;color:var(--teal);flex:0 0 22px; }
.quick-list strong { color:var(--ink);font-weight:600; }

/* Calc layout */
.calc { display:grid;grid-template-columns:minmax(0,400px) minmax(0,1fr);gap:40px;padding:56px 0 80px; }
@media(max-width:980px){.calc{grid-template-columns:1fr;gap:32px;}}
.inputs { background:var(--bg-card);border:1px solid var(--rule);border-radius:var(--radius-lg);padding:28px;box-shadow:var(--shadow-card);position:sticky;top:80px;align-self:start; }
@media(max-width:980px){.inputs{position:static;}}
.inputs h2 { font-family:var(--font-serif);font-weight:400;font-size:24px;letter-spacing:-0.01em;margin:0 0 4px; }
.panel-deck { font-size:13px;color:var(--ink-soft);margin:0 0 22px; }
.field { margin-bottom:18px; }
.field label { display:flex;align-items:baseline;justify-content:space-between;font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:8px; }
.field label .hint { color:var(--ink-mute);text-transform:none;letter-spacing:0;font-family:var(--font-sans);font-size:12px; }
.field input[type="number"], .field input[type="text"], .field select { width:100%;appearance:none;-webkit-appearance:none;background:var(--bg-input);border:1px solid var(--rule);border-radius:var(--radius-md);padding:12px 14px;font-family:var(--font-mono);font-size:14px;color:var(--ink);transition:border-color .2s,box-shadow .2s; }
.field input:focus, .field select:focus { outline:none;border-color:var(--teal);box-shadow:0 0 0 4px rgba(31,138,122,.14); }
.field .input-wrap { position:relative; }
.field .input-prefix, .field .input-suffix { position:absolute;top:50%;transform:translateY(-50%);font-family:var(--font-mono);font-size:13px;color:var(--ink-mute);pointer-events:none; }
.field .input-prefix { left:14px; }
.field .input-suffix { right:14px; }
.field input.has-prefix { padding-left:28px; }
.field input.has-suffix { padding-right:38px; }

.seg { display:grid;grid-auto-flow:column;grid-auto-columns:1fr;background:var(--bg);border:1px solid var(--rule);border-radius:var(--radius-pill);padding:4px; }
.seg button { border:none;background:transparent;font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:8px 6px;border-radius:999px;color:var(--ink-soft);transition:all .2s;cursor:pointer; }
.seg button.on { background:var(--ink);color:var(--ink-on-dark); }

.divider { height:1px;background:var(--rule);margin:18px 0; }
.calc-cta { width:100%;margin-top:8px;background:var(--ink);color:var(--ink-on-dark);border:none;border-radius:var(--radius-pill);padding:14px 20px;font-family:var(--font-sans);font-weight:500;font-size:15px;display:inline-flex;align-items:center;justify-content:center;gap:12px;transition:background .2s;cursor:pointer; }
.calc-cta .orb { width:26px;height:26px;border-radius:50%;background:var(--teal);color:var(--bg-card);display:inline-flex;align-items:center;justify-content:center;font-size:12px; }
.calc-cta:hover { background:var(--teal-deep); }

.results { display:flex;flex-direction:column;gap:28px; }
.verdict { background:var(--bg-card);border:1px solid var(--rule);border-radius:var(--radius-lg);padding:36px 36px 32px;box-shadow:var(--shadow-card);position:relative;overflow:hidden; }
.verdict::before { content:"";position:absolute;top:0;left:0;height:3px;width:84px;background:var(--terracotta); }
.verdict .label-row { display:flex;align-items:center;justify-content:space-between;margin-bottom:8px; }
.verdict-eyebrow { font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute); }
.verdict-stamp { font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--teal-deep);background:var(--teal-tint);padding:6px 10px;border-radius:999px;display:inline-flex;align-items:center;gap:6px; }
.verdict-stamp::before { content:"";width:6px;height:6px;border-radius:50%;background:var(--teal); }
.verdict-stamp.warn, .verdict-stamp.neg { color:var(--rose);background:var(--rose-tint); }
.verdict-stamp.warn::before, .verdict-stamp.neg::before { background:var(--rose); }
.verdict h2 { font-family:var(--font-serif);font-weight:400;font-style:italic;font-size:20px;color:var(--ink-soft);letter-spacing:-.005em;margin:0 0 18px;max-width:44ch; }
.hero-num { display:flex;align-items:baseline;gap:10px;font-family:var(--font-serif);font-weight:400;line-height:1;letter-spacing:-.03em;color:var(--ink);font-feature-settings:"tnum" 1; }
.hero-num .sign { font-size:clamp(28px,5vw,48px);color:var(--teal-deep);transform:translateY(-.18em); }
.hero-num .val { font-size:clamp(64px,12vw,120px); }
.hero-num .suffix { font-family:var(--font-mono);font-size:13px;color:var(--ink-mute);letter-spacing:.08em;text-transform:uppercase;transform:translateY(-2.2em); }
.verdict .sub { margin-top:16px;padding-top:18px;border-top:1px dashed var(--rule);display:grid;grid-template-columns:repeat(4,1fr);gap:20px; }
@media(max-width:640px){.verdict .sub{grid-template-columns:1fr 1fr;}}
.verdict .sub>div span:first-child { display:block;font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:6px; }
.verdict .sub>div span:last-child { font-family:var(--font-mono);font-size:16px;color:var(--ink);font-weight:500;font-feature-settings:"tnum" 1; }
.delta-pos { color:var(--teal-deep) !important; }
.delta-neg { color:var(--rose) !important; }

/* Generic breakdown card */
.breakdown, .compare-card, .package-card, .diff-breakdown { background:var(--bg-card);border:1px solid var(--rule);border-radius:var(--radius-lg);padding:28px;box-shadow:var(--shadow-card); }
.breakdown .head, .compare-card .head, .package-card .head, .diff-breakdown .head { display:flex;align-items:baseline;justify-content:space-between;margin-bottom:18px;padding-bottom:14px;border-bottom:1px dashed var(--rule); }
.breakdown .head h3, .compare-card .head h3, .package-card .head h3, .diff-breakdown .head h3 { font-family:var(--font-serif);font-weight:400;font-size:22px;letter-spacing:-0.01em;margin:0; }
.brow, .pkg-row, .diff-row { display:grid;grid-template-columns:200px 1fr 110px;align-items:center;gap:16px;padding:12px 0;border-bottom:1px dashed var(--rule); }
.brow:last-child, .pkg-row:last-child, .diff-row:last-child { border-bottom:none; }
@media(max-width:720px){.brow,.pkg-row,.diff-row{grid-template-columns:1fr 100px;}.brow .lb,.pkg-row .lb,.diff-row .lb{grid-column:1/-1;}}
.brow .lb, .pkg-row .lb, .diff-row .lb { display:flex;flex-direction:column;gap:2px; }
.brow .lbl, .pkg-row .lbl, .diff-row .lbl { font-size:14px;color:var(--ink);font-weight:500; }
.brow .sub, .pkg-row .sub, .diff-row .sub { font-family:var(--font-mono);font-size:10px;color:var(--ink-mute);letter-spacing:.08em;text-transform:uppercase; }
.bar { height:12px;background:var(--rule-soft);border-radius:999px;overflow:hidden; }
.bar-fill { height:100%;border-radius:999px;width:0;transition:width .8s cubic-bezier(.2,.9,.25,1); }
.bar-fill.teal { background:linear-gradient(90deg,var(--teal-wash),var(--teal)); }
.bar-fill.amber { background:linear-gradient(90deg,var(--amber-tint),var(--amber)); }
.bar-fill.rose { background:linear-gradient(90deg,var(--rose-tint),var(--rose)); }
.bar-fill.ink { background:linear-gradient(90deg,rgba(31,42,42,.1),var(--ink)); }
.brow .val, .pkg-val, .diff-val { font-family:var(--font-mono);font-size:16px;color:var(--ink);text-align:right;font-feature-settings:"tnum" 1; }
.brow .val.pos, .pkg-val.pos, .diff-val.pos { color:var(--teal-deep); }
.brow .val.neg, .pkg-val.neg, .diff-val.neg { color:var(--rose); }
.brow.total, .pkg-row.total { margin-top:12px;padding-top:18px;border-top:2px solid var(--ink);border-bottom:none; }
.brow.total .lb .lbl, .pkg-row.total .lb .lbl { font-family:var(--font-serif);font-size:22px; }
.brow.total .val, .pkg-row.total .pkg-val { font-size:22px;font-weight:500; }

/* Dark editorial blocks */
.method, .projections, .annual-view, .tax-compare, .talking-points { background:var(--bg-dark);color:var(--ink-on-dark);border-radius:var(--radius-lg);padding:36px;position:relative;overflow:hidden; }
.method::before, .projections::before, .annual-view::before, .tax-compare::before, .talking-points::before { content:"";position:absolute;inset:0;background:radial-gradient(700px 260px at 90% 0%,rgba(217,119,87,.15),transparent 60%),radial-gradient(500px 220px at 0% 100%,rgba(31,138,122,.12),transparent 60%);pointer-events:none; }
.method>*, .projections>*, .annual-view>*, .tax-compare>*, .talking-points>* { position:relative; }
.method h3, .projections h3, .annual-view h3, .tax-compare h3, .talking-points h3 { font-family:var(--font-serif);font-weight:400;font-size:clamp(26px,3.5vw,34px);letter-spacing:-0.01em;max-width:26ch;margin:14px 0 8px; }
.method h3 em, .projections h3 em, .annual-view h3 em, .tax-compare h3 em, .talking-points h3 em { font-style:italic;color:var(--terracotta-soft); }
.method .deck, .projections .deck, .annual-view .deck, .tax-compare .deck, .talking-points .deck { color:var(--ink-on-dark-soft);font-size:14px;line-height:1.6;max-width:50ch;margin:0 0 24px; }

.proj-grid, .annual-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--rule-dark);border-radius:var(--radius-md);overflow:hidden;margin-top:24px; }
.annual-grid { grid-template-columns:repeat(2,1fr);gap:20px;border:none; }
@media(max-width:680px){.proj-grid{grid-template-columns:1fr 1fr;}.annual-grid{grid-template-columns:1fr;}}
.proj-cell, .annual-cell { padding:22px 20px;border-right:1px solid var(--rule-dark); }
.annual-cell { border:1px solid var(--rule-dark);border-radius:var(--radius-md); }
.proj-cell:last-child { border-right:none; }
.proj-cell .pl, .annual-cell .al { font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-on-dark-mute);margin-bottom:8px; }
.proj-cell .pv, .annual-cell .av { font-family:var(--font-serif);font-size:clamp(22px,3vw,32px);letter-spacing:-.01em;color:var(--ink-on-dark); }
.proj-cell .pv .c, .annual-cell .av .c { font-size:.55em;color:var(--terracotta-soft);transform:translateY(-.2em);display:inline-block; }
.annual-cell.featured { border-color:var(--terracotta);background:rgba(217,119,87,.08); }
.annual-cell .as { font-family:var(--font-mono);font-size:11px;color:var(--ink-on-dark-mute);margin-top:4px; }

/* SEO content */
.seo-content { padding:60px 0 40px;max-width:780px; }
.seo-content h2 { font-family:var(--font-serif);font-weight:400;font-size:clamp(28px,4vw,40px);letter-spacing:-0.02em;margin:40px 0 16px; }
.seo-content h2:first-child { margin-top:0; }
.seo-content h2 em { font-style:italic;color:var(--teal-deep); }
.seo-content h3 { font-family:var(--font-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--teal-deep);margin:28px 0 10px; }
.seo-content p { font-size:16px;color:var(--ink-soft);line-height:1.75;margin-bottom:18px; }
.seo-content p strong { color:var(--ink);font-weight:600; }
.seo-content a { color:var(--teal-deep);border-bottom:1px solid var(--teal-wash);transition:border-color .2s; }
.seo-content a:hover { border-color:var(--teal); }

/* FAQ */
.faq { padding:0 0 80px;max-width:780px; }
.faq-head { font-family:var(--font-serif);font-weight:400;font-size:clamp(28px,4vw,40px);letter-spacing:-0.02em;margin:0 0 28px; }
.faq-head em { font-style:italic;color:var(--teal-deep); }
.faq-item { border-top:1px solid var(--rule);padding:20px 0; }
.faq-item:last-child { border-bottom:1px solid var(--rule); }
.faq-q { display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer; }
.faq-q span { font-size:16px;font-weight:500;color:var(--ink); }
.faq-q .icon { width:24px;height:24px;border-radius:50%;background:var(--teal-tint);color:var(--teal-deep);display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;transition:transform .3s;font-weight:300; }
.faq-a { font-size:15px;color:var(--ink-soft);line-height:1.7;max-height:0;overflow:hidden;transition:max-height .4s ease,padding .3s; }
.faq-item.open .faq-a { max-height:600px;padding-top:12px; }
.faq-item.open .icon { transform:rotate(45deg);background:var(--teal);color:var(--bg-card); }

/* Related tools */
.related-tools { padding:60px 0 40px; }
.related-tools .head { display:flex;align-items:baseline;justify-content:space-between;margin-bottom:28px;padding-bottom:18px;border-bottom:1px solid var(--rule);flex-wrap:wrap;gap:12px; }
.related-tools .head h3 { font-family:var(--font-serif);font-weight:400;font-size:clamp(26px,3.5vw,36px);letter-spacing:-0.01em;margin:0; }
.related-tools .head h3 em { font-style:italic;color:var(--teal-deep); }
.cta-ghost { display:inline-flex;align-items:center;gap:8px;color:var(--teal-deep);font-weight:500;font-size:15px;border-bottom:1px solid var(--teal-wash);padding-bottom:2px;transition:color .2s,border-color .2s; }
.cta-ghost:hover { color:var(--ink);border-color:var(--teal); }
.related-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:18px; }
@media(max-width:880px){.related-grid{grid-template-columns:1fr;}}
.rel-card { background:var(--bg-card);border:1px solid var(--rule);border-radius:var(--radius-md);padding:22px;display:flex;flex-direction:column;gap:12px;transition:transform .25s,box-shadow .25s,border-color .25s;text-decoration:none;color:var(--ink); }
.rel-card:hover { transform:translateY(-3px);border-color:var(--teal-wash);box-shadow:var(--shadow-md); }
.rel-card .cat { font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--terracotta); }
.rel-card h4 { font-family:var(--font-serif);font-weight:400;font-size:20px;letter-spacing:-0.005em;margin:0; }
.rel-card p { font-size:14px;color:var(--ink-soft);line-height:1.55;margin:0; }
.rel-card .open { margin-top:auto;font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--teal-deep); }

/* Footer */
footer.tnd { background:var(--bg);border-top:1px solid var(--rule);padding:80px 32px 36px;margin-top:80px; }
footer.tnd .inner { max-width:1180px;margin:0 auto; }
footer.tnd .top { display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:56px;padding-bottom:56px;border-bottom:1px solid var(--rule); }
@media(max-width:800px){footer.tnd .top{grid-template-columns:1fr 1fr;gap:32px;}}
footer.tnd h4 { font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute);font-weight:500;margin:0 0 18px; }
footer.tnd ul { list-style:none;display:flex;flex-direction:column;gap:10px;padding:0;margin:0; }
footer.tnd ul a { font-size:14px;color:var(--ink-soft);transition:color .2s; }
footer.tnd ul a:hover { color:var(--teal-deep); }
footer.tnd .lockup-large { font-family:var(--font-serif);font-size:24px;display:flex;align-items:center;gap:10px;margin-bottom:14px; }
footer.tnd .lockup-large .dot { width:10px;height:10px;border-radius:50%;background:var(--teal);box-shadow:0 0 12px rgba(31,138,122,.5); }
footer.tnd .tag { color:var(--ink-soft);font-size:14px;line-height:1.6;max-width:36ch;margin:0; }
footer.tnd .bottom { margin-top:32px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;font-family:var(--font-mono);font-size:11px;color:var(--ink-mute);letter-spacing:.08em; }
footer.tnd .bottom a { color:var(--ink-soft); }

/* Author bio */
.author-bio { background:var(--bg-soft);border:1px solid var(--rule);border-radius:var(--radius-lg);padding:24px;display:flex;gap:18px;align-items:flex-start;margin-top:40px; }
.author-bio .avatar { width:56px;height:56px;border-radius:50%;background:var(--teal);color:var(--bg-card);display:flex;align-items:center;justify-content:center;font-family:var(--font-serif);font-size:22px;flex-shrink:0; }
.author-bio h3 { font-family:var(--font-serif);font-weight:400;font-size:20px;margin:0 0 4px; }
.author-bio p { font-size:14px;color:var(--ink-soft);line-height:1.55;margin:0; }
.disclaimer { font-size:12px;color:var(--ink-mute);line-height:1.6;padding:18px 22px;background:var(--bg-soft);border-left:2px solid var(--amber);border-radius:6px;margin:40px 0 0; }
