/* Business valuation calculator and industry reference pages (Oct 24, 2026). Loads after site.css. */

/* calculator */
.vcalc { margin: 1.8em 0 0; background: var(--deep); border: 1px solid var(--line); border-top: 2px solid var(--dusk); padding: 4px 22px 22px; scroll-margin-top: 86px; }
.vcalc fieldset { border: 0; margin: 0; padding: 18px 0 4px; border-bottom: 1px solid var(--line); min-width: 0; }
.vcalc fieldset:last-of-type { border-bottom: 0; }
.vcalc legend { float: left; width: 100%; padding: 0; margin-bottom: 4px; font: 600 12px/1 var(--body); letter-spacing: .16em; text-transform: uppercase; color: var(--dusk); }
.vcalc legend + * { clear: both; }
.vcalc .hint { margin: 8px 0 0; font-size: 15px; color: var(--mist); }
.grid2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 18px; margin-top: 14px; }
.fld { display: grid; gap: 6px; min-width: 0; align-content: start; }
.fld.full { grid-column: 1 / -1; }
.fld > label, .fld > .lbl { font: 600 14px/1.35 var(--body); color: var(--moonlight); }
.fld small { font-size: 13.5px; line-height: 1.45; color: var(--mist); }
.fld input, .fld select { width: 100%; box-sizing: border-box; background: var(--night); color: var(--moonlight); border: 1px solid rgba(238, 240, 245, .3);
  padding: 11px 12px; font: 400 16px/1.2 var(--body); border-radius: 0; -webkit-appearance: none; appearance: none; }
.fld select { background-image: linear-gradient(45deg, transparent 50%, var(--mist) 50%), linear-gradient(135deg, var(--mist) 50%, transparent 50%);
  background-position: calc(100% - 18px) 50%, calc(100% - 13px) 50%; background-size: 5px 5px; background-repeat: no-repeat; padding-right: 34px; }
.fld input:focus, .fld select:focus { border-color: var(--dusk); outline: none; }
.money { position: relative; }
.money::before { content: "$"; position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: var(--mist); pointer-events: none; }
.money input { padding-left: 24px; }
.pct { position: relative; }
.pct::after { content: "%"; position: absolute; right: 12px; top: 50%; transform: translateY(-50%); color: var(--mist); pointer-events: none; }

/* searchable industry picker */
.picker { position: relative; }
.picker ul { position: absolute; z-index: 5; left: 0; right: 0; top: calc(100% + 4px); margin: 0; padding: 4px; list-style: none; max-height: 320px; overflow-y: auto;
  background: var(--deep); border: 1px solid var(--line); box-shadow: 0 18px 40px rgba(0, 0, 0, .35); }
.picker li { margin: 0; }
.picker button { width: 100%; text-align: left; background: none; border: 0; color: var(--moonlight); padding: 9px 10px; font: 400 15px/1.3 var(--body); cursor: pointer; }
.picker button small { display: block; color: var(--mist); font-size: 12.5px; }
.picker button:hover, .picker button.on { background: rgba(234, 149, 91, .14); }
.picker .none { padding: 9px 10px; color: var(--mist); font-size: 14px; }
.chosen { margin: 8px 0 0; font-size: 14.5px; color: var(--mist); }
.chosen strong { color: var(--moonlight); }

/* factor questions */
.q { margin: 14px 0 0; border: 0; padding: 0; }
.q .lbl { display: block; margin-bottom: 8px; }
.opts { display: flex; flex-wrap: wrap; gap: 8px; }
.opts label { position: relative; cursor: pointer; }
.opts input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.opts span { display: inline-block; border: 1px solid rgba(238, 240, 245, .3); padding: 8px 12px; font: 500 14.5px/1.25 var(--body); color: #dde1ec; }
.opts input:checked + span { border-color: var(--dusk); background: rgba(234, 149, 91, .16); color: #fff; }
.opts input:focus-visible + span { outline: 2px solid var(--dusk); outline-offset: 2px; }
.opts label:hover span { border-color: var(--dusk); }

.vcalc .act { margin: 18px 0 0; display: flex; flex-wrap: wrap; gap: 12px 20px; align-items: center; }
.vcalc button.cta { border: 0; cursor: pointer; }
.linkbtn { background: none; border: 0; padding: 0; color: var(--moonlight); font: 600 15px/1 var(--body); cursor: pointer; text-decoration: underline; text-decoration-color: var(--dusk); text-underline-offset: 3px; }
.err { margin: 10px 0 0; color: var(--dusk); font-size: 15px; }

/* results */
.result { margin: 1.6em 0 0; scroll-margin-top: 86px; }
.result[hidden] { display: none; }
.range { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); margin: 14px 0 0; }
.range div { background: var(--deep); padding: 14px 16px; }
.range div.mid { background: rgba(234, 149, 91, .12); }
.range dt { font-size: 13px; color: var(--mist); }
.range dd { margin: 4px 0 0; font: 500 clamp(26px, 3.4vw, 38px)/1.1 var(--display); font-variant-numeric: tabular-nums; }
.range dd small { display: block; margin-top: 4px; font: 400 13px/1.35 var(--body); color: var(--mist); }
.scale { position: relative; height: 10px; margin: 18px 0 4px; background: linear-gradient(90deg, rgba(238,240,245,.12), rgba(234,149,91,.45)); }
.scale i { position: absolute; top: -5px; width: 3px; height: 20px; background: var(--moonlight); transform: translateX(-50%); }
.scale-l { display: flex; justify-content: space-between; font-size: 12.5px; color: var(--mist); }
.ledger { width: 100%; margin: 1em 0; font-size: 15px; }
.ledger td { padding: 8px 10px; }
.ledger td.n { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.ledger tr.tot td { border-top: 2px solid var(--line); font-weight: 600; color: #fff; }
.ledger td.sub { padding-left: 24px; color: var(--mist); }
.adj { list-style: none; padding: 0; margin: .6em 0; }
.adj li { border-top: 1px solid var(--line); padding: 10px 0; margin: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 16px; }
.adj li:last-child { border-bottom: 1px solid var(--line); }
.adj b { color: var(--moonlight); font-weight: 600; }
.adj .d { font-variant-numeric: tabular-nums; white-space: nowrap; font-weight: 600; }
.adj .d.up { color: #9fd8a8; } .adj .d.dn { color: var(--dusk); } .adj .d.flat { color: var(--mist); }
.adj p { grid-column: 1 / -1; margin: 0; font-size: 15px; color: var(--mist); }
.flag { margin: 12px 0 0; background: rgba(234, 149, 91, .1); border-left: 4px solid var(--dusk); padding: 12px 16px; font-size: 15.5px; color: var(--moonlight); }
.flag.ok { background: rgba(159, 216, 168, .08); border-left-color: #9fd8a8; }
.flag strong { color: #fff; }
.basis { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 1em 0; }
.basis > div { background: var(--deep); border: 1px solid var(--line); padding: 14px 16px; }
.basis h4 { margin: 0 0 6px; }
.basis .big { font: 500 30px/1.1 var(--display); font-variant-numeric: tabular-nums; }
.basis p { margin: 6px 0 0; font-size: 14.5px; color: var(--mist); }

/* disclaimer and partner sections */
.disc { margin: 1.4em 0 0; border: 1px solid rgba(234, 149, 91, .5); padding: 14px 18px; font-size: 15px; color: var(--moonlight); }
.disc strong { color: var(--dusk); }
.disc p { margin: 0; color: var(--moonlight); }
.disc p + p { margin-top: 8px; }

/* reference pages */
.mult { margin: 1.4em 0 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.mult div { background: var(--deep); padding: 14px 16px; }
.mult dt { font-size: 13px; color: var(--mist); }
.mult dd { margin: 4px 0 0; font: 500 32px/1.1 var(--display); font-variant-numeric: tabular-nums; }
.mult div.mid { background: rgba(234, 149, 91, .12); }
.limited { display: inline-block; font: 600 12px/1 var(--body); letter-spacing: .08em; text-transform: uppercase; color: var(--dusk); border: 1px solid var(--dusk); padding: 5px 8px; margin-left: 6px; vertical-align: middle; }
td.n, th.n { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.tbl.vt table { min-width: 640px; }

/* hub */
.tree { margin: 1.2em 0 0; }
.tree .grp { margin: 0 0 18px; }
.tree .grp[hidden], .tree li[hidden] { display: none; }
.tree h3 { margin: 1.2em 0 .3em; }
.tree ul { list-style: none; padding: 0; margin: 0; columns: 2; column-gap: 28px; }
.tree li { break-inside: avoid; margin: 0; padding: 6px 0; border-top: 1px solid var(--line); font-size: 15.5px; }
.tree li a { text-decoration: none; }
.tree li a:hover { text-decoration: underline; text-decoration-color: var(--dusk); }
.tree li .m { float: right; color: var(--mist); font-size: 14px; font-variant-numeric: tabular-nums; }
.tree li .via { display: block; color: var(--mist); font-size: 13px; }

@media (max-width: 640px) {
  .grid2, .basis { grid-template-columns: minmax(0, 1fr); }
  .range, .mult { grid-template-columns: minmax(0, 1fr); }
  .vcalc { padding: 4px 14px 16px; }
  .tree ul { columns: 1; }
}
.fld[hidden] { display: none; }

/* quick and advanced modes (Oct 24, 2026) */
.vcalc .more { margin: 18px 0 0; padding: 16px 0 0; border-top: 1px solid var(--line); }
.more-btn { background: none; border: 1px solid var(--dusk); color: var(--moonlight); padding: 10px 14px; font: 600 15px/1.2 var(--body); cursor: pointer; }
.more-btn:hover, .more-btn[aria-expanded="true"] { background: rgba(234, 149, 91, .14); }
.more-btn:focus-visible { outline: 2px solid var(--dusk); outline-offset: 2px; }
.vcalc .more .note { margin: 8px 0 0; font-size: 14.5px; color: var(--mist); }
.vcalc .adv { margin-top: 6px; }
.vcalc .adv[hidden] { display: none; }
.vcalc .adv fieldset:last-of-type { border-bottom: 1px solid var(--line); }
.fld input[readonly] { color: var(--mist); border-style: dashed; }
.fld small .auto { color: var(--dusk); }
.range.one { grid-template-columns: minmax(0, 1fr); }
.scale b { position: absolute; top: 0; bottom: 0; min-width: 3px; background: rgba(234, 149, 91, .55); }
.result .note.mode { margin-top: .4em; }
.result button.cta { border: 0; cursor: pointer; }
