/* Calculators page (tools/calc_page.py): featured four, the open calculator, then all calculators by group. */
body.inner:has(.cz){background:#F6F3EC}
.cz{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sec);padding-bottom:var(--s4)}
.cz-h{max-width:760px;padding-top:var(--s4)}
.cz-h h1{margin:0;font-size:var(--fs-h1);letter-spacing:-.035em;line-height:1.08;color:var(--ink)}
.cz-h p:not(.ln-kick){margin:var(--s2) 0 0;font-size:17px;line-height:1.6;color:#2B3B4D}
.cz-lab{margin:0 0 var(--s2);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#5B6B7D}
.cz-feat{margin-top:calc(var(--sec) * -.5)}
.cz-fg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--card-gap)}
.cz-f{position:relative;display:grid;grid-template-rows:auto 1fr;gap:var(--s2);padding:var(--s3) var(--s3) var(--s4);border-radius:26px;background:#fff;border:1px solid var(--rule);color:var(--ink);transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s,border-color .3s}
.cz-f:hover{transform:translateY(-4px);box-shadow:0 28px 50px -34px rgba(11,42,74,.55)}
.cz-f:active{transform:scale(.98)}
.cz-f.on{border-color:transparent;box-shadow:0 0 0 2px #0B2A4A,0 28px 50px -34px rgba(11,42,74,.55)}
.cz-art{display:block;border-radius:18px;padding:var(--s2);background:#FBEEDD}
.cz-f1 .cz-art{background:#E7EEF8}.cz-f2 .cz-art{background:#FBF2E6}.cz-f3 .cz-art{background:#E8F3EA}
.cz-art svg{display:block;width:100%;height:auto;max-height:120px}
.cz-ft{display:grid;gap:4px;padding:0 var(--s1)}
.cz-ft small{font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#E8891D}
.cz-ft b{font-size:18px;line-height:1.3;letter-spacing:-.01em}
.cz-ft>span{font-size:14px;line-height:1.5;color:#2B3B4D}
.cz-go{position:absolute;top:var(--s3);right:var(--s3);width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--ink);font-weight:700;box-shadow:0 6px 14px -8px rgba(11,42,74,.5);transition:background .25s,color .25s,transform .25s}
.cz-f:hover .cz-go,.cz-f.on .cz-go{background:#0B2A4A;color:#fff;transform:translateX(2px)}

.cz-run{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s2);margin-top:calc(var(--sec) * -.5)}
.cz-bar{display:flex;justify-content:space-between;align-items:center;gap:var(--s3);flex-wrap:wrap}
.cz-bar label{display:flex;align-items:center;gap:var(--s2);font-size:14px;font-weight:600;color:#5B6B7D}
.cz-bar select{min-height:44px;padding:0 40px 0 14px;border:1px solid var(--rule);border-radius:12px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B2A4A' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 12px center/16px no-repeat;-webkit-appearance:none;appearance:none;font:600 15px Poppins,sans-serif;color:var(--ink);cursor:pointer;max-width:100%}
.cz-run .cx-p{border-radius:28px;scroll-margin-top:100px}

.cz-ah{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--s4);flex-wrap:wrap;margin-bottom:var(--s4)}
.cz-ah h2{margin:0;color:var(--ink)}
.cz-s{display:flex;align-items:center;gap:10px;height:50px;width:min(100%,360px);padding:0 var(--s3);background:#fff;border:1px solid var(--rule);border-radius:16px}
.cz-s:focus-within{border-color:#2D5FA8;box-shadow:0 0 0 4px rgba(45,95,168,.14)}
.cz-s svg{width:20px;height:20px;fill:none;stroke:#2D5FA8;stroke-width:2;stroke-linecap:round;flex:none}
.cz-s input{flex:1;min-width:0;border:0;background:none;outline:none;font:400 16px Poppins,sans-serif;color:var(--ink)}
.cz-gs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--card-gap);align-items:start}
.cz-g{background:#fff;border:1px solid var(--rule);border-radius:26px;padding:var(--s4) var(--s3) var(--s3)}
.cz-g h3{margin:0 var(--s1);font-size:19px;color:var(--ink)}
.cz-g>p{margin:2px var(--s1) var(--s2);font-size:14px;color:#5B6B7D}
.cz-g ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.cz-g a{display:flex;align-items:center;gap:var(--s2);padding:10px var(--s1);border-radius:14px;color:var(--ink);transition:background .2s}
.cz-g a:hover{background:#F6F3EC}
.cz-g a.on{background:#0B2A4A;color:#fff}.cz-g a.on small{color:#C6D4E4}.cz-g a.on .cz-ic{background:rgba(255,255,255,.14);color:#fff}
.cz-g a span{display:grid;gap:1px;min-width:0}.cz-g b{font-size:15px;font-weight:600}.cz-g small{font-size:13px;color:#5B6B7D}
.cz-ic{flex:none;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#E7EEF8;color:#2D5FA8}
.cz-gs .cz-g:nth-child(2) .cz-ic{background:#FBEEDD;color:#C66F0C}.cz-gs .cz-g:nth-child(3) .cz-ic{background:#E8F3EA;color:#1A7F33}
.cz-ic svg{width:20px;height:20px}
.cz-none{margin:var(--s3) 0 0;color:#2B3B4D}
.cz [hidden]{display:none!important}

@media (max-width:1020px){.cz-fg{grid-template-columns:repeat(2,minmax(0,1fr))}.cz-gs{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.cz-gs .cz-g:first-child{grid-column:1/-1}}
@media (max-width:640px){
 .cz-fg{gap:var(--s2)}
 .cz-f{padding:var(--s2) var(--s2) var(--s3);border-radius:20px;gap:var(--s1)}
 .cz-art{padding:6px;border-radius:14px}.cz-art svg{max-height:76px}
 .cz-ft{padding:0 4px}.cz-ft b{font-size:15px}.cz-ft>span{display:none}.cz-ft small{font-size:11px}
 .cz-go{display:none}
 .cz-gs{grid-template-columns:minmax(0,1fr)}
 .cz-bar label{flex:1;min-width:0}.cz-bar label span{flex:none}.cz-bar select{flex:1;min-width:0;width:100%}
}
@media (prefers-reduced-motion:reduce){.cz-f,.cz-go{transition:none}}

/* v3.14: every calculator visible in a rail beside the open one (no drop-down) */
.cz-run{grid-template-columns:260px minmax(0,1fr);gap:var(--card-gap);align-items:start}
.cz-rail{position:sticky;top:96px;max-height:calc(100dvh - 116px);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;background:#fff;border:1px solid var(--rule);border-radius:24px;padding:var(--s2);display:grid;gap:var(--s1)}
.cz-rail .cz-s{width:100%;height:44px;border-radius:12px;padding:0 12px}
.cz-rail .cz-s input{font-size:15px}
.cz-rail .cz-g{background:none;border:0;border-radius:0;padding:0}
.cz-gh{margin:var(--s2) 8px 4px;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#5B6B7D}
.cz-rail .cz-g a{padding:7px 8px;gap:10px;border-radius:12px}
.cz-rail .cz-g a span{font-size:14.5px;font-weight:500}
.cz-rail .cz-ic{width:32px;height:32px;border-radius:10px}.cz-rail .cz-ic svg{width:17px;height:17px}
.cz-rail .cz-g:nth-of-type(1) .cz-ic{background:#E7EEF8;color:#2D5FA8}.cz-rail .cz-g:nth-of-type(2) .cz-ic{background:#FBEEDD;color:#C66F0C}.cz-rail .cz-g:nth-of-type(3) .cz-ic{background:#E8F3EA;color:#1A7F33}
.cz-rail .cz-g a.on{background:#0B2A4A;color:#fff}.cz-rail .cz-g a.on .cz-ic{background:rgba(255,255,255,.16);color:#fff}
.cz-rail .cz-none{margin:var(--s1);font-size:14px}
.cz-f{cursor:pointer;touch-action:manipulation}
@media (max-width:1020px){
 .cz-run{grid-template-columns:minmax(0,1fr)}
 .cz-rail{top:72px;z-index:20;max-height:none;display:flex;align-items:center;gap:var(--s1);overflow-x:auto;overflow-y:hidden;padding:8px;border-radius:18px;scrollbar-width:none;box-shadow:0 12px 24px -20px rgba(11,42,74,.5)}
 .cz-rail::-webkit-scrollbar{display:none}
 .cz-rail .cz-s,.cz-rail .cz-none{display:none}
 .cz-rail .cz-g,.cz-rail .cz-g ul{display:flex;gap:6px;flex:none}
 .cz-rail .cz-g+.cz-g{border-left:1px solid var(--rule);padding-left:var(--s1)}
 .cz-gh{display:none}
 .cz-rail .cz-g a{white-space:nowrap;padding:6px 12px 6px 6px;border:1px solid var(--rule);border-radius:99px}
 .cz-rail .cz-ic{width:28px;height:28px;border-radius:50%}
}
