/* NDT calculators directory and method pages (CalculatorsController::assets, redesigned 2026-09-15): the hero's worked-example
   screens, the free card slider (motion.css .ndti-cs), job kits, and the directory, which reuses the vacancy board's filter column
   from jobs-board.css. Monospace is the instrument voice: codes, formulas, readouts. Graphite #0b1620, phosphor #7fd18f, signal green
   #44a047, amber #f2c86b where the eye should land. Folding each method to two rows is CSS only (the view sets html.ndti-cx-js inline
   before the directory renders), so nothing jumps when calculators.js arrives; without JavaScript every calculator shows. */
.ndti-calcs{--cx-ink:#0b1620;--cx-text:#26394a;--cx-mute:#5f7183;--cx-faint:#8a99a6;--cx-line:#e3e9ee;--cx-plate:#f3f6f8;--cx-green:#44a047;--cx-green-d:#1f6f2d;--cx-green-t:#eef6f0;--cx-phos:#7fd18f;--cx-amber:#f2c86b;
  --cx-mono:ui-monospace,"SF Mono",SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;--cx-w:1680px;--cx-pad:32px;--cx-ease:cubic-bezier(.2,.7,.2,1);
  background:var(--cx-plate);color:var(--cx-text)}
.ndti-calcs *,.ndti-calcs *::before,.ndti-calcs *::after{box-sizing:border-box}
.ndti-calcs [hidden]{display:none!important}
.ndti-calcs button{font-family:inherit;text-transform:none;letter-spacing:normal;box-shadow:none;min-height:0;min-width:0}
.ndti-cx-i{flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
body.post-type-archive-ndti_calculator #content.site-content,body.tax-ndti_method #content.site-content{padding-left:0;padding-right:0}

/* ---------------------------------------------------------------- hero */
.ndti-cx-hero{position:relative;overflow:hidden;isolation:isolate;background:var(--cx-ink);color:#fff}
.ndti-cx-hero .ndti-cx-hero__img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;max-width:none;margin:0;object-fit:cover;object-position:60% 45%;border-radius:0}
.ndti-cx-hero__scrim{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(6,13,19,.96) 0%,rgba(6,13,19,.9) 36%,rgba(6,13,19,.72) 68%,rgba(6,13,19,.64) 100%),linear-gradient(0deg,rgba(6,13,19,.6) 0%,rgba(6,13,19,0) 45%)}
.ndti-cx-hero__in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,540px);gap:clamp(32px,4.5vw,80px);align-items:center;max-width:var(--cx-w);margin:0 auto;padding:clamp(48px,5.6vw,84px) var(--cx-pad) clamp(52px,5.8vw,88px)}
.ndti-cx-hero__in.is-solo{grid-template-columns:minmax(0,1fr)}
.ndti-cx-hero__copy{min-width:0;max-width:720px}
.ndti-cx-kicker{margin:0 0 14px;font:700 12.5px/1.4 var(--cx-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--cx-phos)}
.ndti-cx-h1{margin:0 0 18px;padding:0;max-width:15ch;font-size:clamp(36px,4.3vw,64px);line-height:1.02;font-weight:800;letter-spacing:-.032em;color:#fff}
.ndti-cx-h1 span{color:var(--cx-phos)}
.ndti-cx-lede{margin:0 0 26px;max-width:58ch;font-size:clamp(16px,1.3vw,18.5px);line-height:1.6;color:#c5d3cb}

.ndti-cx-find{position:relative;display:flex;align-items:center;max-width:640px;margin:0;padding:6px 6px 6px 52px;border-radius:16px;background:#fff;box-shadow:0 18px 44px rgba(0,0,0,.38);transition:box-shadow .2s}
.ndti-cx-find>svg{position:absolute;left:18px;top:50%;transform:translateY(-50%);color:#71838f}
.ndti-calcs .ndti-cx-find input[type=search]{flex:1;min-width:0;height:48px;margin:0;padding:0 10px 0 0!important;text-indent:0;border:0;border-radius:0;background:transparent;box-shadow:none;outline:none;font:inherit;font-size:17px;color:var(--cx-ink)}
.ndti-cx-find input[type=search]::placeholder{color:#7e909c;opacity:1}
.ndti-cx-find:focus-within{box-shadow:0 0 0 3px rgba(127,209,143,.6),0 18px 44px rgba(0,0,0,.38)}
.ndti-cx-find .ndti-cx-find__go{flex:none;height:48px;margin:0;padding:0 24px;border:0;border-radius:11px;background:var(--cx-green);color:#fff;font-size:15.5px;font-weight:800;line-height:1;cursor:pointer;transition:background .15s}
.ndti-cx-find .ndti-cx-find__go:hover{background:#3a8c3d}
.ndti-cx-find .ndti-cx-find__go:focus-visible{outline:3px solid var(--cx-phos);outline-offset:2px}

.ndti-cx-popular{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px;margin:18px 0 0;font-size:14px;line-height:1.4}
.ndti-cx-popular span{font:700 11px/1.4 var(--cx-mono);letter-spacing:.12em;text-transform:uppercase;color:#7c9186}
.ndti-cx-popular a{padding:1px 0;border-bottom:1px solid rgba(127,209,143,.42);color:#e1eae4;text-decoration:none;transition:color .15s,border-color .15s}
.ndti-cx-popular a:hover{border-color:var(--cx-phos);color:var(--cx-phos)}
.ndti-cx-access{display:flex;align-items:flex-start;gap:9px;max-width:62ch;margin:24px 0 0;font-size:14px;line-height:1.55;color:#aabbb2}
.ndti-cx-access svg{flex:none;margin-top:2px;color:var(--cx-amber)}
.ndti-cx-access.is-member svg{color:var(--cx-phos)}
.ndti-cx-access a{color:#fff;font-weight:700;text-decoration:underline;text-decoration-color:rgba(255,255,255,.4);text-underline-offset:3px}
.ndti-cx-access a:hover{color:var(--cx-phos)}

/* ---------------------------------------------------------------- hero: the worked-example screens */
.ndti-cx-scope{position:relative;min-width:0}
.ndti-cx-scope__stack{display:grid;touch-action:pan-y}
.ndti-cx-scr{grid-area:1/1;display:flex;flex-direction:column;min-width:0;padding:16px 18px 14px;border:1px solid rgba(127,209,143,.24);border-radius:20px;background:linear-gradient(180deg,rgba(15,34,46,.95) 0%,rgba(8,20,28,.97) 100%);box-shadow:0 30px 70px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.05);
  opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .55s ease,transform .55s var(--cx-ease),visibility 0s linear .55s}
.ndti-cx-scr.is-active{opacity:1;visibility:visible;transform:none;transition:opacity .55s ease,transform .55s var(--cx-ease),visibility 0s}
.ndti-cx-scr__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px}
.ndti-cx-scr__m{display:inline-flex;align-items:center;gap:8px;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font:700 12px/1.3 var(--cx-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--cx-phos)}
.ndti-cx-scr__m svg{flex:none}
.ndti-cx-scr__n{flex:none;padding:4px 10px;border:1px solid rgba(255,255,255,.15);border-radius:999px;font:600 12px/1.3 var(--cx-mono);color:#a3b5ab;text-decoration:none;transition:color .15s,border-color .15s}
.ndti-cx-scr__n:hover{border-color:rgba(127,209,143,.6);color:#fff}
.ndti-cx-scr__plot{position:relative;overflow:hidden;border:1px solid rgba(127,209,143,.16);border-radius:12px;background:radial-gradient(120% 90% at 50% 40%,#0d2330 0%,#061118 100%);box-shadow:inset 0 0 40px rgba(0,0,0,.55)}
.ndti-cx-art{display:block;width:100%;height:auto;aspect-ratio:2/1}
.ndti-cx-art .g{fill:none;stroke:rgba(127,209,143,.1);stroke-width:1}
.ndti-cx-art .s{fill:none;stroke:rgba(190,220,200,.34);stroke-width:1.5}
.ndti-cx-art .sf{stroke:rgba(190,220,200,.62);stroke-width:3}
.ndti-cx-art .t{fill:none;stroke:var(--cx-phos);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 3px rgba(127,209,143,.7))}
.ndti-cx-art .t2{fill:none;stroke:rgba(127,209,143,.62);stroke-width:1.6;stroke-linejoin:round}
.ndti-cx-art .f{fill:none;stroke:rgba(127,209,143,.3);stroke-width:1.3}
.ndti-cx-art .lw{fill:none;stroke:rgba(127,209,143,.5);stroke-width:1.4;stroke-dasharray:5 5}
.ndti-cx-art .d,.ndti-cx-art .d2{fill:none;stroke:rgba(214,232,220,.42);stroke-width:1}
.ndti-cx-art .d2{stroke-dasharray:3 4}
.ndti-cx-art .h{fill:none;stroke:var(--cx-amber);stroke-width:2;stroke-linecap:round}
.ndti-cx-art .hs{stroke-width:5}
.ndti-cx-art .z{fill:rgba(127,209,143,.07);stroke:none}
.ndti-cx-art .o{fill:rgba(127,209,143,.08);stroke:rgba(127,209,143,.38);stroke-width:1.2}
.ndti-cx-art .w{fill:none;stroke:rgba(242,200,107,.55);stroke-width:1.4}
.ndti-cx-art .p{fill:var(--cx-amber);stroke:none;filter:drop-shadow(0 0 5px rgba(242,200,107,.9))}
.ndti-cx-art .pen{fill:rgba(242,200,107,.5);stroke:none}
.ndti-cx-art .r{fill:none;stroke:rgba(127,209,143,.26);stroke-width:1.2;stroke-dasharray:6 6}
.ndti-cx-art .flow{fill:none;stroke:rgba(127,209,143,.6);stroke-width:1.4;stroke-dasharray:10 8}
.ndti-cx-art .dots{fill:none;stroke:var(--cx-amber);stroke-width:3.2;stroke-linecap:round}
.ndti-cx-art .ar{fill:none;stroke:rgba(214,232,220,.5);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.ndti-cx-art .l{fill:rgba(214,232,220,.74);font:600 11px var(--cx-mono)}

.ndti-cx-scr__read{margin:14px 2px 0}
.ndti-cx-scr .ndti-cx-scr__f{margin:0 0 10px}
.ndti-cx-scr__f code{display:inline-block;max-width:100%;padding:6px 10px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;border:1px solid rgba(127,209,143,.18);border-radius:8px;background:rgba(127,209,143,.08);font:600 15px/1.35 var(--cx-mono);color:#e6f4e9}
.ndti-cx-scr .ndti-cx-scr__ex{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:3px 12px;margin:0;font-size:13.5px;line-height:1.45;color:#b5c5bc}
.ndti-cx-scr__lab{grid-column:1 / -1;font:700 10.5px/1.4 var(--cx-mono);letter-spacing:.12em;text-transform:uppercase;color:#7c9186}
.ndti-cx-scr__given{grid-column:1 / -1}
.ndti-cx-scr__res{font:700 22px/1.2 var(--cx-mono);letter-spacing:-.01em;white-space:nowrap;color:var(--cx-phos)}
.ndti-cx-scr__note{min-width:0;font-size:12.5px;color:#8fa298}
.ndti-cx-scr__open{display:flex;align-items:center;gap:10px;margin:14px -18px -14px;padding:12px 18px;border-top:1px solid rgba(255,255,255,.08);border-radius:0 0 20px 20px;color:#fff;font-size:14.5px;font-weight:700;text-decoration:none;transition:background .15s}
.ndti-cx-scr__open span{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.ndti-cx-scr__open svg{flex:none;color:var(--cx-phos);transition:transform .2s}
.ndti-cx-scr__open:hover{background:rgba(127,209,143,.08);color:#fff}
.ndti-cx-scr__open:hover svg{transform:translateX(3px)}
.ndti-cx-scr__open:focus-visible{outline:2px solid var(--cx-phos);outline-offset:-2px}
.ndti-cx-scr .ndti-cx-free{background:rgba(127,209,143,.16);color:var(--cx-phos)}

.ndti-cx-scope__ctl{display:flex;align-items:center;justify-content:center;gap:8px;margin:16px 0 0}
.ndti-cx-scope .ndti-cx-scope__btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;margin:0;padding:0;border:1px solid rgba(255,255,255,.22);border-radius:50%;background:rgba(6,13,19,.5);color:#e3ede7;cursor:pointer;transition:border-color .15s,background .15s}
.ndti-cx-scope .ndti-cx-scope__btn:hover{border-color:var(--cx-phos);background:rgba(127,209,143,.12);color:#fff}
.ndti-cx-scope__btn:focus-visible,.ndti-cx-scope__dot:focus-visible{outline:2px solid var(--cx-phos);outline-offset:2px}
.ndti-cx-scope__pause span{display:block;width:10px;height:12px;border-left:3px solid currentColor;border-right:3px solid currentColor}
.ndti-cx-scope__pause[aria-pressed=true] span{width:0;height:0;margin-left:3px;border:0;border-left:11px solid currentColor;border-top:7px solid transparent;border-bottom:7px solid transparent}
.ndti-cx-scope__dots{display:flex;gap:2px;margin:0 4px;padding:0;list-style:none}
.ndti-cx-scope__dots li{margin:0;padding:0;list-style:none}
.ndti-cx-scope .ndti-cx-scope__dot{display:flex;flex-direction:column;align-items:stretch;gap:6px;width:auto;min-width:40px;height:auto;margin:0;padding:8px 3px 4px;border:0;border-radius:6px;background:none;color:#81978c;font:700 10px/1 var(--cx-mono);letter-spacing:.06em;cursor:pointer;transition:color .15s}
.ndti-cx-scope .ndti-cx-scope__dot:hover{background:none;color:#dfe9e3}
.ndti-cx-scope__dot i{position:relative;display:block;height:3px;overflow:hidden;border-radius:2px;background:rgba(255,255,255,.2)}
.ndti-cx-scope__dot i::after{content:"";position:absolute;inset:0;background:var(--cx-phos);transform:scaleX(0);transform-origin:left center}
.ndti-cx-scope .ndti-cx-scope__dot.is-active{color:#fff}
.ndti-cx-scope__dot.is-active i::after{transform:scaleX(1)}
@keyframes ndtiCxBar{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes ndtiCxDraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes ndtiCxFade{from{opacity:0}to{opacity:1}}
@keyframes ndtiCxFlow{to{stroke-dashoffset:-36}}
@keyframes ndtiCxRise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.ndti-cx-scope.is-playing .ndti-cx-scope__dot.is-active i::after{animation:ndtiCxBar var(--cx-int,7s) linear both}
.ndti-cx-scope.is-paused .ndti-cx-scope__dot.is-active i::after{animation-play-state:paused}
@media (prefers-reduced-motion:no-preference){
  .ndti-cx-scr.is-active .t,.ndti-cx-scr.is-active .t2,.ndti-cx-scr.is-active .f{stroke-dasharray:1;stroke-dashoffset:1;animation:ndtiCxDraw 1.6s cubic-bezier(.45,0,.2,1) .2s forwards}
  .ndti-cx-scr.is-active .t2{animation-delay:.55s}
  .ndti-cx-scr.is-active .f{animation-duration:1.1s;animation-delay:.05s}
  .ndti-cx-scr.is-active .p,.ndti-cx-scr.is-active .h,.ndti-cx-scr.is-active .pen,.ndti-cx-scr.is-active .dots,.ndti-cx-scr.is-active .l,.ndti-cx-scr.is-active .d,.ndti-cx-scr.is-active .w{opacity:0;animation:ndtiCxFade .6s ease 1.1s forwards}
  .ndti-cx-scr.is-active .flow{animation:ndtiCxFlow 1.6s linear infinite}
  .ndti-cx-scr.is-active .ndti-cx-scr__read{animation:ndtiCxRise .6s var(--cx-ease) .2s both}
}
@media (prefers-reduced-motion:reduce){.ndti-cx-scope__pause{display:none!important}.ndti-cx-scr{transition:none}}

/* ---------------------------------------------------------------- tiles (directory and card slider) */
.ndti-cx-tile{position:relative;display:flex;flex-direction:column;gap:7px;min-width:0;margin:0;padding:14px 15px 0;list-style:none;background:#fff;border:1px solid var(--cx-line);border-radius:16px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.ndti-cx-tile:hover{transform:translateY(-3px);border-color:#c9d6e0;box-shadow:0 16px 34px rgba(11,22,32,.1)}
.ndti-cx-tile:has(a:focus-visible){border-color:var(--cx-green);box-shadow:0 0 0 3px rgba(68,160,71,.3)}
.ndti-cx-tile p{margin:0}
.ndti-cx-tile__top{display:flex;align-items:center;gap:8px;min-width:0}
.ndti-cx-code{flex:none;display:inline-flex;align-items:center;height:21px;padding:0 7px;border-radius:6px;background:var(--cx-ink);color:var(--cx-phos);font:700 11px/1 var(--cx-mono);letter-spacing:.05em}
.ndti-cx-tile__topic{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;color:var(--cx-mute)}
.ndti-cx-free{flex:none;display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;background:var(--cx-green-t);color:var(--cx-green-d);font-size:10.5px;font-weight:800;line-height:1.3;letter-spacing:.06em;text-transform:uppercase}
.ndti-cx-tile .ndti-cx-tile__t{display:-webkit-box;margin:2px 0 0;padding:0;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;font-size:15.5px;line-height:1.3;font-weight:800;letter-spacing:-.005em}
.ndti-cx-tile__t a{color:var(--cx-ink);text-decoration:none}
.ndti-cx-tile__t a::after{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit}
.ndti-cx-tile__t a:focus{outline:none}
.ndti-cx-tile:hover .ndti-cx-tile__t a{color:var(--cx-green-d)}
.ndti-cx-tile .ndti-cx-tile__s{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;font-size:13px;line-height:1.5;color:var(--cx-mute)}
.ndti-cx-tile .ndti-cx-tile__foot{display:flex;align-items:center;gap:8px;min-height:40px;margin-top:auto;padding:9px 0 11px;border-top:1px solid #eef2f5}
.ndti-cx-tile__ref{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font:600 11.5px/1.3 var(--cx-mono);color:#6b7c8a}
.ndti-cx-tile__has{flex:none;display:inline-flex;color:#93a2ad;transition:color .15s}
.ndti-cx-tile__foot .ndti-cx-free{margin-left:2px}
.ndti-cx-tile:hover .ndti-cx-tile__has{color:var(--cx-green-d)}

/* ---------------------------------------------------------------- card slider under the hero (motion.css drives it) */
.ndti-calcs .ndti-cx-rail{padding:50px 0 18px;background:var(--cx-plate)}
.ndti-calcs .ndti-cx-rail .ndti-cs__in{max-width:var(--cx-w);padding:0 var(--cx-pad)}
.ndti-calcs .ndti-cx-rail .ndti-cs__track{margin:0 calc(var(--cx-pad) * -1);padding:8px var(--cx-pad) 22px;scroll-padding-left:var(--cx-pad)}
.ndti-calcs .ndti-cx-rail .ndti-cs__item{flex:0 0 296px}
.ndti-calcs .ndti-cx-rail .ndti-cs__item>.ndti-cx-tile{width:100%}
.ndti-calcs .ndti-cx-rail .ndti-cs__kicker,.ndti-cx-eyebrow{margin:0 0 6px;font:700 12px/1.4 var(--cx-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--cx-green-d)}
.ndti-calcs .ndti-cx-rail .ndti-cs__all{color:var(--cx-green-d)}

/* ---------------------------------------------------------------- kits */
.ndti-cx-kits{padding:26px 0 44px}
.ndti-cx-kits__in{max-width:var(--cx-w);margin:0 auto;padding:0 var(--cx-pad)}
.ndti-cx-sechead{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:8px 24px;margin:0 0 20px}
.ndti-cx-sechead>div{min-width:0}
.ndti-cx-sechead h2{margin:0;padding:0;font-size:clamp(22px,2.6vw,30px);line-height:1.15;font-weight:800;letter-spacing:-.01em;color:var(--cx-ink)}
.ndti-cx-sechead>p{margin:0;max-width:52ch;font-size:15px;line-height:1.5;color:var(--cx-mute)}
.ndti-cx-kits__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none}
.ndti-cx-kit{display:flex;flex-direction:column;min-width:0;margin:0;padding:18px 18px 8px;list-style:none;background:#fff;border:1px solid var(--cx-line);border-radius:18px}
.ndti-cx-kit__head{display:flex;align-items:flex-start;gap:13px;margin:0 0 12px}
.ndti-cx-kit__ico{flex:none;display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:var(--cx-ink);color:var(--cx-phos)}
.ndti-cx-kit h3{margin:1px 0 3px;padding:0;font-size:16.5px;line-height:1.3;font-weight:800;color:var(--cx-ink)}
.ndti-cx-kit__head p{margin:0;font-size:13.5px;line-height:1.45;color:var(--cx-mute)}
.ndti-cx-kit__links{margin:0;padding:0;list-style:none;border-top:1px solid #eef2f5}
.ndti-cx-kit__links li{margin:0;padding:0;list-style:none;border-bottom:1px solid #f1f4f6}
.ndti-cx-kit__links li:last-child{border-bottom:0}
.ndti-cx-kit__links a{display:flex;align-items:center;gap:9px;padding:9px 2px;font-size:14px;font-weight:600;line-height:1.35;color:var(--cx-text);text-decoration:none;transition:color .15s}
.ndti-cx-kit__links a span{flex:1;min-width:0}
.ndti-cx-kit__links a::after{content:"→";flex:none;font-weight:700;color:#b4c1ca;transition:transform .15s,color .15s}
.ndti-cx-kit__links a:hover{color:var(--cx-green-d)}
.ndti-cx-kit__links a:hover::after{color:var(--cx-green-d);transform:translateX(3px)}
.ndti-cx-kit__links.is-steps{counter-reset:cxstep}
.ndti-cx-kit__links.is-steps a::before{counter-increment:cxstep;content:counter(cxstep);flex:none;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--cx-green-t);color:var(--cx-green-d);font:700 11px/1 var(--cx-mono)}

/* ---------------------------------------------------------------- directory (filter column and bar from jobs-board.css) */
.ndti-cx-dir{padding:30px 0 20px;scroll-margin-top:76px;border-top:1px solid var(--cx-line)}
.ndti-calcs .ndti-cx-board{padding:6px var(--cx-pad) 18px;scroll-margin-top:96px}
.ndti-calcs .ndti-jb__opt.is-zero{opacity:.5}
.ndti-cx-opt span{display:flex;align-items:center;gap:9px}
.ndti-cx-opt span svg{flex:none;color:#7b8f9c}
.ndti-cx-opt:has(input:checked) span svg,a.ndti-cx-opt.is-current span svg{color:var(--cx-green-d)}
.ndti-calcs a.ndti-cx-opt{text-decoration:none}
.ndti-calcs a.ndti-cx-opt.is-current{background:var(--cx-green-t);color:#173f23}
.ndti-cx-optall{display:inline-block;margin:8px 0 0;font-size:13px;font-weight:800;color:var(--cx-green-d);text-decoration:none}
.ndti-cx-optall:hover{text-decoration:underline}
.ndti-jb .ndti-cx-help{margin:16px 0 0;padding:14px 0 0;box-shadow:inset 0 1px 0 #edf1f4;font-size:13px;color:var(--cx-mute)}
.ndti-cx-help a{font-weight:700;color:var(--cx-green-d)}
.ndti-calcs button.ndti-jb__chip{font-family:inherit;cursor:pointer}
.ndti-calcs .ndti-jb__count:focus{outline:none}
@media (min-width:992px){
  .ndti-calcs .ndti-cx-board .ndti-jb__side{position:sticky;top:92px;max-height:calc(100vh - 108px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#cfd9e0 transparent;border-radius:18px}
  .ndti-calcs .ndti-cx-board.is-js .ndti-jb__apply{display:none}
}

.ndti-cx-secs{display:flex;flex-direction:column}
.ndti-cx-sec{padding:24px 0 28px;border-top:1px solid #dde5eb;scroll-margin-top:92px}
.ndti-cx-sec:first-child{padding-top:4px;border-top:0}
.ndti-cx-sec__head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px 16px;margin:0 0 14px}
.ndti-cx-sec__ico{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:14px;background:var(--cx-ink);color:var(--cx-phos);box-shadow:inset 0 0 0 1px rgba(127,209,143,.25)}
.ndti-cx-sec__txt{min-width:0}
.ndti-cx-sec .ndti-cx-sec__txt h2{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin:0;padding:0;font-size:clamp(19px,1.7vw,23px);line-height:1.2;font-weight:800;letter-spacing:-.01em;color:var(--cx-ink)}
.ndti-cx-sec__n{padding:4px 9px;border-radius:999px;background:var(--cx-green-t);color:var(--cx-green-d);font:700 12.5px/1 var(--cx-mono);letter-spacing:0}
.ndti-cx-sec .ndti-cx-sec__txt p{margin:4px 0 0;font-size:14px;line-height:1.45;color:var(--cx-mute)}
.ndti-cx-sec__page{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:13.5px;font-weight:700;color:var(--cx-green-d);text-decoration:none}
.ndti-cx-sec__page:hover{color:var(--cx-green-d);text-decoration:underline}

.ndti-cx-topics{display:none;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.ndti-cx-js .ndti-cx-topics{display:flex}
.ndti-cx-board.is-filtering .ndti-cx-topics{display:none}
.ndti-cx-sec .ndti-cx-topic{display:inline-flex;align-items:center;gap:7px;width:auto;height:auto;margin:0;padding:7px 13px;border:1px solid #d5dfe6;border-radius:999px;background:#fff;color:var(--cx-text);font-size:13px;font-weight:700;line-height:1.25;cursor:pointer;transition:border-color .15s,background .15s,color .15s}
.ndti-cx-topic em{font:600 11.5px/1 var(--cx-mono);font-style:normal;color:var(--cx-faint)}
.ndti-cx-sec .ndti-cx-topic:hover{border-color:var(--cx-green);background:#fff;color:var(--cx-green-d)}
.ndti-cx-sec .ndti-cx-topic[aria-pressed=true]{border-color:var(--cx-ink);background:var(--cx-ink);color:#fff}
.ndti-cx-topic[aria-pressed=true] em{color:var(--cx-phos)}
.ndti-cx-topic:focus-visible{outline:2px solid var(--cx-green);outline-offset:2px}

.ndti-cx-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none}
.ndti-cx-grid>li{margin:0}
.ndti-cx-grid>.ndti-pu-wrap{min-width:0;list-style:none}
.ndti-cx-grid:has(>.ndti-pu-wrap){grid-auto-flow:row dense}   /* the Sponsors strip takes a full row; later tiles fill the cells it leaves */
.ndti-cx-board.is-filtering .ndti-cx-pu,.ndti-cx-sec.is-topic .ndti-cx-pu{display:none!important}
.ndti-cx-sec .ndti-cx-more{display:none;align-items:center;justify-content:center;gap:10px;width:100%;height:auto;margin:14px 0 0;padding:12px 18px;border:1.5px dashed #c6d3dc;border-radius:14px;background:transparent;color:var(--cx-green-d);font-size:14.5px;font-weight:800;line-height:1.3;cursor:pointer;transition:border-color .15s,background .15s}
.ndti-cx-sec .ndti-cx-more:hover{border-color:var(--cx-green);background:#fff;color:var(--cx-green-d)}
.ndti-cx-more::after{content:"";width:8px;height:8px;margin-top:-4px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .2s}
.ndti-cx-sec.is-open .ndti-cx-more::after{margin-top:4px;transform:rotate(-135deg)}
.ndti-cx-more:focus-visible{outline:2px solid var(--cx-green);outline-offset:2px}

/* two rows per method until "Show all" (method pages show everything); only calculator tiles count, not the Sponsors strip */
@media (min-width:1560px){
  .ndti-cx-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
  .ndti-cx-js .ndti-calcs:not(.ndti-calcs--method) .ndti-cx-board:not(.is-filtering) .ndti-cx-sec:not(.is-open):not(.is-topic) .ndti-cx-grid>.ndti-cx-tile:nth-child(n+11 of .ndti-cx-tile){display:none}
  .ndti-cx-js .ndti-calcs:not(.ndti-calcs--method) .ndti-cx-board:not(.is-filtering) .ndti-cx-sec:not(.is-topic) .ndti-cx-grid:has(>.ndti-cx-tile:nth-child(11 of .ndti-cx-tile))+.ndti-cx-more{display:flex}
}
@media (min-width:1280px) and (max-width:1559.98px){
  .ndti-cx-js .ndti-calcs:not(.ndti-calcs--method) .ndti-cx-board:not(.is-filtering) .ndti-cx-sec:not(.is-open):not(.is-topic) .ndti-cx-grid>.ndti-cx-tile:nth-child(n+9 of .ndti-cx-tile){display:none}
  .ndti-cx-js .ndti-calcs:not(.ndti-calcs--method) .ndti-cx-board:not(.is-filtering) .ndti-cx-sec:not(.is-topic) .ndti-cx-grid:has(>.ndti-cx-tile:nth-child(9 of .ndti-cx-tile))+.ndti-cx-more{display:flex}
}
@media (min-width:768px) and (max-width:1279.98px){
  .ndti-cx-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ndti-cx-js .ndti-calcs:not(.ndti-calcs--method) .ndti-cx-board:not(.is-filtering) .ndti-cx-sec:not(.is-open):not(.is-topic) .ndti-cx-grid>.ndti-cx-tile:nth-child(n+7 of .ndti-cx-tile){display:none}
  .ndti-cx-js .ndti-calcs:not(.ndti-calcs--method) .ndti-cx-board:not(.is-filtering) .ndti-cx-sec:not(.is-topic) .ndti-cx-grid:has(>.ndti-cx-tile:nth-child(7 of .ndti-cx-tile))+.ndti-cx-more{display:flex}
}
@media (min-width:480px) and (max-width:767.98px){
  .ndti-cx-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .ndti-cx-js .ndti-calcs:not(.ndti-calcs--method) .ndti-cx-board:not(.is-filtering) .ndti-cx-sec:not(.is-open):not(.is-topic) .ndti-cx-grid>.ndti-cx-tile:nth-child(n+5 of .ndti-cx-tile){display:none}
  .ndti-cx-js .ndti-calcs:not(.ndti-calcs--method) .ndti-cx-board:not(.is-filtering) .ndti-cx-sec:not(.is-topic) .ndti-cx-grid:has(>.ndti-cx-tile:nth-child(5 of .ndti-cx-tile))+.ndti-cx-more{display:flex}
}
@media (max-width:479.98px){
  .ndti-cx-grid{grid-template-columns:minmax(0,1fr);gap:10px}
  .ndti-cx-js .ndti-calcs:not(.ndti-calcs--method) .ndti-cx-board:not(.is-filtering) .ndti-cx-sec:not(.is-open):not(.is-topic) .ndti-cx-grid>.ndti-cx-tile:nth-child(n+4 of .ndti-cx-tile){display:none}
  .ndti-cx-js .ndti-calcs:not(.ndti-calcs--method) .ndti-cx-board:not(.is-filtering) .ndti-cx-sec:not(.is-topic) .ndti-cx-grid:has(>.ndti-cx-tile:nth-child(4 of .ndti-cx-tile))+.ndti-cx-more{display:flex}
}

/* ---------------------------------------------------------------- foot */
.ndti-cx-foot{padding:6px 0 48px}
.ndti-cx-foot__in{max-width:var(--cx-w);margin:0 auto;padding:22px var(--cx-pad) 0;border-top:1px solid var(--cx-line)}
.ndti-cx-foot__in>p{margin:0;max-width:84ch;font-size:13px;line-height:1.6;color:var(--cx-mute)}
.ndti-cx-foot .ndti-disclaimer{max-width:1040px}

/* ---------------------------------------------------------------- tablet and phone */
@media (max-width:1199px){
  .ndti-cx-kits__list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:1099px){
  .ndti-cx-hero__in{grid-template-columns:minmax(0,1fr);gap:36px}
  .ndti-cx-scope{width:100%;max-width:620px}
  .ndti-cx-h1{max-width:18ch}
}
@media (max-width:991px){
  .ndti-cx-topics{flex-wrap:nowrap;margin-left:calc(var(--cx-pad) * -1);margin-right:calc(var(--cx-pad) * -1);padding:0 var(--cx-pad) 4px;overflow-x:auto;scrollbar-width:none}
  .ndti-cx-topics::-webkit-scrollbar{display:none}
  .ndti-cx-sec .ndti-cx-topic{flex:none}
}
@media (max-width:767px){
  .ndti-calcs{--cx-pad:20px}
  .ndti-cx-kits__list{display:flex;gap:12px;margin:0 calc(var(--cx-pad) * -1);padding:4px var(--cx-pad) 12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:var(--cx-pad);scrollbar-width:none}
  .ndti-cx-kits__list::-webkit-scrollbar{display:none}
  .ndti-cx-kit{flex:0 0 86%;scroll-snap-align:start}
  .ndti-cx-sechead>p{font-size:14px}
}
@media (max-width:640px){
  .ndti-calcs{--cx-pad:16px}
  .ndti-cx-hero__in{padding:36px var(--cx-pad) 40px;gap:28px}
  .ndti-cx-h1{font-size:clamp(32px,9.2vw,40px)}
  .ndti-cx-lede{margin-bottom:20px;font-size:15.5px}
  .ndti-cx-find{padding:5px 5px 5px 44px;border-radius:14px}
  .ndti-cx-find>svg{left:14px}
  .ndti-calcs .ndti-cx-find input[type=search]{height:44px;font-size:16px}
  .ndti-cx-find .ndti-cx-find__go{height:44px;padding:0 16px;font-size:14.5px}
  .ndti-cx-popular{gap:4px 12px;font-size:13.5px}
  .ndti-cx-scr{padding:12px 12px 12px;border-radius:16px}
  .ndti-cx-scr__open{margin:12px -12px -12px;padding:11px 12px;border-radius:0 0 16px 16px}
  .ndti-cx-scr__f code{font-size:13.5px}
  .ndti-cx-scr__res{font-size:19px}
  .ndti-cx-scope .ndti-cx-scope__dot{min-width:26px;padding:12px 3px}
  .ndti-cx-scope__dot span{display:none}
  .ndti-cx-scope .ndti-cx-scope__btn{width:36px;height:36px}
  .ndti-calcs .ndti-cx-rail{padding-top:38px}
  .ndti-calcs .ndti-cx-rail .ndti-cs__item{flex-basis:82%}
  .ndti-cx-sec__head{grid-template-columns:auto minmax(0,1fr);align-items:start}
  .ndti-cx-sec__page{grid-column:2}
  .ndti-cx-sec__ico{width:42px;height:42px;margin-top:2px;border-radius:12px}
  .ndti-cx-tile:hover{transform:none}
}
@media (max-width:520px){.ndti-cx-scr__name{display:none}}
