/* Nivaldo Soluções · the multimeter page. Share Tech Mono on the LCD, Hanken Grotesk for print and labels. */
:root {
  --bench: #a3a59f; --bench-2: #b1b3ad; --ink: #191a18; --ink-2: #3a3b37;
  --holster: #f2c200; --holster-dk: #c99f00; --body: #2b2b2b; --body-dk: #1d1d1c; --print: #f2f1ec; --print-2: #b8b8b2;
  --lcd: #c8d4b8; --seg: #1d2619; --red: #c0261e; --plate: #c3c5be; --plate-line: #7d7f79; --field: #eceee8;
  --mono: 'Share Tech Mono', ui-monospace, monospace; --sans: 'Hanken Grotesk', system-ui, sans-serif;
  --out: cubic-bezier(.16, 1, .3, 1); --detent: cubic-bezier(.34, 1.56, .64, 1); --flip: cubic-bezier(.7, 0, .2, 1);
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--bench); color: var(--ink); font-family: var(--sans); font-size: 16px; line-height: 1.5; -webkit-font-smoothing: antialiased; }
::selection { background: var(--holster); color: var(--ink); }
button { font: inherit; color: inherit; }
:focus-visible { outline: 3px solid var(--ink); outline-offset: 3px; }
.body :focus-visible { outline-color: var(--holster); }
p, h1, h2, ul, ol, dl, dd { margin: 0; }

/* ---------- the bench ---------- */
.bench { position: relative; min-height: 100vh; min-height: 100dvh; display: flex; align-items: center; justify-content: center; gap: 0;
  padding: 20px 24px; overflow: hidden;
  background: radial-gradient(ellipse 60% 70% at 32% 48%, var(--bench-2), transparent 70%), var(--bench); }
.wires { position: absolute; left: 0; top: 0; z-index: 4; pointer-events: none; overflow: visible; transition: opacity .35s var(--out); }
.is-back .wires { opacity: 0; }

/* ---------- the meter ---------- */
.meter { --mw: min(500px, calc((100dvh - 40px) / var(--ratio, 1.96))); width: var(--mw); flex: none; container-type: inline-size; perspective: 2400px; position: relative; z-index: 2; margin-right: clamp(200px, 18vw, 270px); }
.m-in { position: relative; transform-style: preserve-3d; transition: transform .9s var(--flip); }
.m-in.flipped { transform: rotateY(180deg); }
.face { backface-visibility: hidden; -webkit-backface-visibility: hidden; }
.back { position: absolute; inset: 0; transform: rotateY(180deg); }
.holster { background: var(--holster); border-radius: 11cqw 11cqw 13cqw 13cqw; padding: 4.4cqw 4.4cqw 5.4cqw;
  box-shadow: inset 0 0 0 .55cqw var(--holster-dk), inset 0 1.4cqw 0 rgba(255,255,255,.28), inset 0 -1.6cqw 0 rgba(0,0,0,.12),
    0 4cqw 7cqw -2cqw rgba(20,20,18,.55), 0 1cqw 1.6cqw rgba(20,20,18,.22); height: 100%; }
.body { background: var(--body); border-radius: 7cqw 7cqw 9cqw 9cqw; padding: 3.4cqw 4cqw 3.6cqw; color: var(--print);
  box-shadow: inset 0 0 0 .35cqw var(--body-dk), inset 0 .8cqw 0 rgba(255,255,255,.05); height: 100%; position: relative; }
.m-top { display: flex; align-items: center; justify-content: space-between; gap: 3cqw; padding: 0 .6cqw; }
.m-top img { height: 8.4cqw; width: auto; display: block; }
.m-place { font: 700 2.3cqw/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--print-2); white-space: nowrap; }

/* LCD */
.lcd { margin-top: 3cqw; background: var(--lcd); color: var(--seg); border-radius: 2.2cqw; padding: 2.6cqw 3.4cqw 2.2cqw; position: relative;
  box-shadow: 0 0 0 1.5cqw #151515, 0 0 0 1.75cqw #3b3b39, inset 0 .7cqw 1.4cqw rgba(0,0,0,.2); font-family: var(--mono); margin-inline: 1.75cqw; }
.lcd-st { display: flex; gap: 2.2cqw; font: 800 2.35cqw/1 var(--sans); letter-spacing: .04em; align-items: center; }
.lcd-st .f { opacity: .09; }
.lcd-st .f.on { opacity: 1; }
.lcd-st .f-ex { background: var(--seg); color: var(--lcd); padding: .4cqw .8cqw; border-radius: .5cqw; }
.lcd-st .f-mode { margin-left: auto; font-family: var(--mono); font-weight: 400; font-size: 3cqw; }
.lcd-h1 { font: 400 2.75cqw/1.25 var(--mono); text-transform: uppercase; letter-spacing: 0; margin-top: 2cqw; padding-bottom: 1.4cqw; border-bottom: .3cqw solid rgba(29,38,25,.22); text-wrap: balance; }
.lcd-fn { font: 400 5.6cqw/1.1 var(--mono); margin-top: 2cqw; text-transform: uppercase; letter-spacing: -.01em; min-height: 6.2cqw; }
.lcd-read { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 3cqw; align-items: end; margin-top: 1cqw; }
.rd-top { display: flex; align-items: baseline; gap: 1.4cqw; min-height: 3.6cqw; }
.rd-unit { font: 800 3.6cqw/1 var(--sans); }
.rd-pre { font: 600 2.4cqw/1 var(--sans); text-transform: uppercase; letter-spacing: .08em; }
.rd-num { position: relative; font: 400 21cqw/.86 var(--mono); letter-spacing: -.03em; margin-top: .6cqw; white-space: nowrap; }
.rd-ghost { position: absolute; left: 0; top: 0; opacity: .075; }
.rd-val { position: relative; display: inline-block; }
.rd-suf { font: 600 2.4cqw/1.2 var(--sans); text-transform: uppercase; letter-spacing: .06em; min-height: 2.9cqw; margin-top: .9cqw; }
.rd-sub { text-align: right; border-left: .3cqw solid rgba(29,38,25,.22); padding-left: 3cqw; padding-bottom: .2cqw; }
.rd-sub .rd-top { justify-content: flex-end; }
.rd-num2 { font: 400 10cqw/.95 var(--mono); letter-spacing: -.02em; margin-top: .8cqw; white-space: nowrap; }
.rd-num2.long { font-size: 5.4cqw; margin-top: 2.6cqw; }
.lcd-txt { list-style: none; padding: 0; margin-top: 2cqw; font: 400 2.85cqw/1.34 var(--mono); min-height: 19cqw; }
.lcd-txt li + li { margin-top: .7cqw; }
.lcd-txt b { font-weight: 400; text-transform: uppercase; background: rgba(29,38,25,.14); padding: 0 .7cqw; border-radius: .4cqw; }
.lcd-ft { margin-top: 1.8cqw; padding-top: 1.4cqw; border-top: .3cqw dashed rgba(29,38,25,.3); font: 600 2.25cqw/1.3 var(--sans); text-transform: uppercase; letter-spacing: .06em; }
.lcd-ft b { font-weight: 800; background: var(--seg); color: var(--lcd); padding: .1cqw .7cqw; border-radius: .5cqw; }
.lcd.is-off .rd-num { font-size: 15.5cqw; }
.lcd.is-off .rd-num2.long { font-size: 4.9cqw; }
.lcd.rng .lcd-live .rd-val, .lcd.rng .rd-num2, .lcd.rng .lcd-txt { opacity: 0; }
.lcd.rng .rd-ghost { opacity: .3; }
.lcd.selftest .f { opacity: 1; }
.lcd.selftest .rd-ghost { opacity: 1; }
.lcd.selftest .rd-val, .lcd.selftest .lcd-txt, .lcd.selftest .rd-num2, .lcd.selftest .lcd-fn { opacity: 0; }

/* keys */
.keys { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2.4cqw; margin: 4.4cqw 0 0; }
.key { border: 0; cursor: pointer; border-radius: 1.8cqw; padding: 1.5cqw .5cqw 1.3cqw; display: flex; flex-direction: column; align-items: center; gap: .5cqw;
  background: linear-gradient(#4b4b48, #3a3a38); color: var(--print); box-shadow: 0 .7cqw 0 #141413, inset 0 .25cqw 0 rgba(255,255,255,.12);
  transition: transform .12s var(--out), box-shadow .12s var(--out); }
.key b { font: 800 3.3cqw/1 var(--sans); letter-spacing: .06em; }
.key span { font: 500 2.1cqw/1 var(--sans); text-transform: lowercase; opacity: .82; }
.key:active, .key.hit { transform: translateY(.55cqw); box-shadow: 0 .15cqw 0 #141413, inset 0 .25cqw 0 rgba(255,255,255,.12); }
.k-hold { background: linear-gradient(#f6cc1f, #e0b300); color: #1d1d1b; }
.k-rel { background: linear-gradient(#cc2c23, #ad1f18); color: #fff; }
.k-lang i { font-style: normal; opacity: .45; }
html:not(.en) .k-lang .l-pt, html.en .k-lang .l-en { opacity: 1; color: var(--holster); }
.key:hover { filter: brightness(1.08); }

/* the rotary dial */
.dial { position: relative; height: 51cqw; margin-top: 1.6cqw; touch-action: none; }
.knob { position: absolute; left: 50%; top: 53%; width: 30cqw; height: 30cqw; margin: -15cqw 0 0 -15cqw; border-radius: 50%; cursor: grab;
  filter: drop-shadow(0 1.6cqw 1.6cqw rgba(0,0,0,.5)); }
.knob.grab { cursor: grabbing; }
.knob svg { width: 100%; height: 100%; display: block; }
#knobRot { transform-origin: 50px 50px; transition: transform .42s var(--detent); }
.knob:focus-visible { outline-offset: 1cqw; border-radius: 50%; }
.positions { position: absolute; inset: 0; }
.pos { position: absolute; left: calc(50% + var(--x) * 27cqw); top: calc(53% + var(--y) * 21cqw); transform: translate(-50%, -50%);
  background: none; border: 0; cursor: pointer; padding: 1cqw; display: flex; flex-direction: column; align-items: center; gap: .6cqw; color: var(--print); min-width: 15cqw; }
.pos .sy { height: 5cqw; display: flex; align-items: center; justify-content: center; gap: .3cqw; }
.sy-t { font: 800 4.4cqw/1 var(--sans); letter-spacing: -.01em; }
.sy-s { width: 3.6cqw; height: 2.4cqw; }
.sy-b { width: 4.6cqw; height: 4.6cqw; }
.sy-w { width: 5.4cqw; }
.pos .nm { font: 600 2.35cqw/1 var(--sans); color: var(--print-2); letter-spacing: .02em; white-space: nowrap; }
.pos::before { content: ''; position: absolute; left: 50%; top: 50%; width: 1.1cqw; height: 1.1cqw; border-radius: 50%; background: #4d4d4a;
  transform: translate(calc(-50% - var(--x) * 8cqw), calc(-50% - var(--y) * 6.4cqw)); transition: background .2s var(--out); }
.pos.on { color: var(--holster); }
.pos.on .nm { color: var(--print); }
.pos.on::before { background: var(--holster); }
.pos:hover .nm { color: var(--print); }
.p-off .nm { text-transform: lowercase; }

/* jacks */
.jacks { display: flex; justify-content: space-between; padding: 0 4cqw; margin-top: 1.4cqw; }
.jack { display: flex; flex-direction: column-reverse; align-items: center; gap: 1.2cqw; width: 14cqw; }
.jack i { width: 8.4cqw; height: 8.4cqw; border-radius: 50%; background: radial-gradient(circle, #050505 34%, #252524 36%, #252524 58%, transparent 60%); box-shadow: 0 0 0 .9cqw #c0261e; }
.j-com i { box-shadow: 0 0 0 .9cqw #77776f; }
.jack b { font: 800 2.4cqw/1 var(--sans); letter-spacing: .1em; color: var(--print-2); }

/* the back: rating label, stand, battery door */
.b-body { display: flex; flex-direction: column; gap: 3cqw; padding-top: 6cqw; }
.b-body::before { content: ''; position: absolute; left: 12cqw; right: 12cqw; top: 3.2cqw; bottom: 22cqw; border-radius: 6cqw; border: .5cqw solid #232322; box-shadow: inset 0 0 0 .4cqw #343432; pointer-events: none; }
.rating { position: relative; margin: 0 3cqw; background: #e6e5dd; color: #1d1d1b; border-radius: 2.4cqw; padding: 4.4cqw 4.6cqw 4cqw; border: .35cqw solid #9e9d95;
  font: 400 max(13px, 2.85cqw)/1.45 var(--sans); max-height: calc(100% - 26cqw); overflow: auto; }
.r-k { font: 800 max(11px, 2.3cqw)/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: #5a5953; }
.r-h { font: 400 max(22px, 6.6cqw)/1 var(--mono); letter-spacing: -.01em; margin-top: 2.4cqw; }
.r-trade { font-weight: 700; margin-top: 1cqw; }
.r-dl { margin-top: 3cqw; display: grid; gap: 1.6cqw; border-top: .3cqw solid #b9b8b0; padding-top: 2.6cqw; }
.r-dl div { display: grid; grid-template-columns: 26cqw minmax(0, 1fr); gap: 2cqw; }
.r-dl dt { font: 700 max(11px, 2.2cqw)/1.6 var(--sans); text-transform: uppercase; letter-spacing: .08em; color: #5a5953; }
.r-dl a, .r-docs a { color: inherit; text-underline-offset: 2px; }
.r-rule { margin-top: 3cqw; padding: 2.4cqw 3cqw; border-left: 1cqw solid var(--holster); background: #d9d8cf; font-weight: 600; }
.r-req { margin-top: 2cqw; color: #3c3b36; }
.r-docs { margin-top: 2.6cqw; font-weight: 600; }
.battery { margin: auto 9cqw 0; height: 15cqw; border-radius: 3cqw; border: .5cqw solid #1f1f1e; box-shadow: inset 0 0 0 .4cqw #353533; position: relative; }
.battery i { position: absolute; top: 50%; width: 4cqw; height: 4cqw; margin-top: -2cqw; border-radius: 50%; background: #575754; }
.battery i::after { content: ''; position: absolute; left: 20%; right: 20%; top: 45%; height: 10%; background: #2a2a29; transform: rotate(-30deg); }
.battery i:first-child { left: 4cqw; } .battery i:last-child { right: 4cqw; }
.k-front { position: absolute; right: 7cqw; bottom: 5cqw; width: 26cqw; }
.b-body .battery { margin-bottom: 9cqw; margin-right: 38cqw; margin-left: 9cqw; }

/* ---------- the test points: the request form ---------- */
.tp { width: 440px; flex: 0 1 440px; min-width: 360px; position: relative; z-index: 3; }
.tp-k { font: 800 12.5px/1.2 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--ink-2); }
.tp-lede { font: 500 19px/1.4 var(--sans); margin-top: 10px; max-width: 34ch; text-wrap: pretty; }
.pt { position: relative; background: var(--plate); border: 1px solid var(--plate-line); border-radius: 4px; padding: 16px 18px 18px 30px; margin-top: 16px;
  box-shadow: 0 1px 0 rgba(255,255,255,.35) inset, 0 6px 14px -8px rgba(20,20,18,.45); }
.pt:first-of-type { margin-top: 24px; }
.pt label { display: flex; align-items: baseline; gap: 10px; font: 700 16px/1.3 var(--sans); }
.tp-n { font: 400 13px/1 var(--mono); background: var(--ink); color: var(--plate); padding: 3px 6px; border-radius: 3px; letter-spacing: .04em; }
.pt textarea, .pt input { display: block; width: 100%; margin-top: 10px; font: 400 16px/1.45 var(--sans); color: var(--ink); background: var(--field);
  border: 1px solid #8a8c86; border-radius: 3px; padding: 10px 12px; resize: vertical; }
.pt textarea::placeholder, .pt input::placeholder { color: #5f615b; }
.pt textarea:focus, .pt input:focus { outline: 2px solid var(--ink); outline-offset: 1px; border-color: var(--ink); }
.pad { position: absolute; left: -15px; top: 14px; width: 30px; height: 30px; border-radius: 50%; padding: 0; cursor: pointer;
  background: radial-gradient(circle, #2b2b2b 26%, #d8dad4 28%, #e9ebe5 52%, #8f918b 56%); border: 2px solid #6f716b; transition: border-color .3s var(--out), transform .3s var(--out); }
.pad:hover { transform: scale(1.08); }
.pad i { position: absolute; inset: -7px; border-radius: 50%; border: 2px dashed rgba(25,26,24,.35); }
.conn .pad i { display: none; }
.conn .p-red { border-color: var(--red); box-shadow: 0 0 0 3px rgba(192,38,30,.35); }
.conn .p-black { border-color: #111; box-shadow: 0 0 0 3px rgba(17,17,17,.3); }

.mem { margin-top: 18px; }
.mem-h { display: flex; align-items: center; gap: 8px; font: 800 12.5px/1.2 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--ink-2); }
.mem-n { font: 400 13px/1 var(--mono); background: var(--holster); color: var(--ink); padding: 3px 6px; border-radius: 3px; letter-spacing: 0; }
.mem-list { list-style: none; padding: 0; margin-top: 8px; }
.mem-list li { display: grid; grid-template-columns: auto auto minmax(0, 1fr) auto; grid-template-areas: 'n s nm x' 'n s pr x'; column-gap: 10px; align-items: center;
  padding: 8px 6px 8px 10px; border-top: 1px solid rgba(25,26,24,.25); animation: memIn .45s var(--out); }
.mem-list li:last-child { border-bottom: 1px solid rgba(25,26,24,.25); }
.m-n { grid-area: n; font: 400 14px/1 var(--mono); background: var(--body); color: var(--lcd); padding: 5px 6px; border-radius: 3px; }
.m-sy { grid-area: s; display: flex; align-items: center; color: var(--ink); min-width: 30px; }
.m-sy .sy-t { font-size: 18px; } .m-sy .sy-s { width: 14px; height: 10px; } .m-sy .sy-b { width: 18px; height: 18px; } .m-sy .sy-w { width: 22px; }
.m-nm { grid-area: nm; font-weight: 700; line-height: 1.25; }
.m-pr { grid-area: pr; font: 400 13.5px/1.3 var(--mono); color: var(--ink-2); }
.m-x { grid-area: x; border: 0; background: none; font-size: 22px; line-height: 1; padding: 4px 8px; cursor: pointer; color: var(--ink-2); border-radius: 3px; }
.m-x:hover { background: rgba(25,26,24,.12); color: var(--ink); }
.mem-empty { margin-top: 8px; font-size: 14.5px; color: var(--ink-2); max-width: 44ch; }
@keyframes memIn { from { opacity: 0; transform: translateX(-12px); } }

.send { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin-top: 20px; }
.b-wa { border: 0; cursor: pointer; background: var(--body); color: var(--holster); font: 800 16px/1 var(--sans); letter-spacing: .01em; padding: 15px 20px; border-radius: 5px;
  box-shadow: 0 4px 0 #111, 0 10px 18px -10px rgba(0,0,0,.6); transition: transform .12s var(--out), box-shadow .12s var(--out); }
.b-wa:active { transform: translateY(3px); box-shadow: 0 1px 0 #111; }
.b-tel { color: var(--ink); font: 700 15px/1 var(--sans); text-decoration: none; padding: 13px 14px; border: 1.5px solid var(--ink); border-radius: 5px; }
.b-tel:hover { background: rgba(25,26,24,.08); }
.b-mail { color: var(--ink); font-size: 14.5px; font-weight: 600; text-underline-offset: 3px; }
.sent-msg { margin-top: 14px; background: var(--body); color: var(--print); border-radius: 4px; padding: 12px 14px; font-size: 14.5px; }
.sent-msg summary { margin-top: 6px; cursor: pointer; color: var(--holster); font-weight: 700; font-size: 13.5px; }
.sent-msg pre { max-height: 150px; overflow: auto; margin: 8px 0 0; font: 400 13px/1.45 var(--mono); color: var(--lcd); white-space: pre-wrap; overflow-wrap: anywhere; }
.tp .lead-note { margin-top: 14px; color: var(--ink); }

.scrim { position: fixed; inset: 0; background: rgba(20,20,18,.45); z-index: 20; }

/* ---------- entrance ---------- */
html.js:not(.static) .meter { animation: rise .9s var(--out) both; }
html.js:not(.static) .tp > * { animation: up .7s var(--out) both; }
html.js:not(.static) .tp > :nth-child(2) { animation-delay: .08s; } html.js:not(.static) .tp > :nth-child(3) { animation-delay: .16s; }
html.js:not(.static) .tp > :nth-child(4) { animation-delay: .24s; } html.js:not(.static) .tp > :nth-child(n+5) { animation-delay: .32s; }
html.js:not(.static) .wires { animation: fade .6s .7s var(--out) both; }
@keyframes rise { from { opacity: 0; transform: translateY(40px) rotate(-1.5deg); } }
@keyframes up { from { opacity: 0; transform: translateY(16px); } }
@keyframes fade { from { opacity: 0; } }
html.static *, html.static *::before, html.static *::after { transition: none !important; animation: none !important; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition-duration: .01ms !important; animation: none !important; } }

/* ---------- narrower screens: meter on top, test points below, no cables ---------- */
@media (max-width: 1099px) {
  .bench { flex-direction: column; justify-content: flex-start; padding: 16px 16px 40px; overflow: visible;
    background: radial-gradient(ellipse 90% 40% at 50% 22%, var(--bench-2), transparent 70%), var(--bench); }
  .wires { display: none; }
  .pad { left: -11px; } .pad i { inset: -5px; }
  .meter { --mw: min(100%, 460px); margin: 4px 0 0; }
  .tp { margin-top: 36px; width: min(460px, 100%); flex: none; min-width: 0; }
  .lcd-txt { font-size: max(12.5px, 3.3cqw); }
  .m-place { font-size: max(9.5px, 2.3cqw); }
  .pos .nm { font-size: max(10px, 2.35cqw); }
  .key span { font-size: max(9.5px, 2.1cqw); }
  .rd-pre, .rd-suf { font-size: max(10px, 2.4cqw); }
  .lcd-ft { font-size: max(9.5px, 2.25cqw); }
  .lcd-st { font-size: max(9.5px, 2.35cqw); }
  /* the back opens as a sheet (main.js moves it to <body> on narrow screens) */
  .m-in, .m-in.flipped { transform: none; transition: none; }
  body > .back { display: none; position: fixed; inset: auto 0 0 0; transform: none; z-index: 30; max-height: 88dvh; overflow: auto; }
  html.is-back body > .back { display: block; animation: sheet .45s var(--out) both; }
  body > .back .holster { border-radius: 22px 22px 0 0; padding: 12px 12px 0; height: auto; }
  body > .back .body { border-radius: 16px 16px 0 0; height: auto; padding: 18px 14px 20px; }
  body > .back .b-body::before, body > .back .battery { display: none; }
  body > .back .rating { max-height: none; margin: 0; font-size: 14px; padding: 18px 18px 16px; }
  body > .back .r-k { font-size: 11px; } body > .back .r-h { font-size: 24px; margin-top: 10px; } body > .back .r-dl dt { font-size: 11px; }
  body > .back .r-dl { margin-top: 12px; gap: 8px; padding-top: 10px; } body > .back .r-rule { margin-top: 12px; padding: 10px 12px; border-left-width: 4px; }
  body > .back .r-req, body > .back .r-docs { margin-top: 10px; }
  body > .back .r-dl div { grid-template-columns: 1fr; gap: 0; }
  body > .back .k-front { position: static; width: auto; margin: 14px 0 0 auto; padding: 10px 18px; border-radius: 6px; box-shadow: 0 3px 0 #141413; }
  body > .back .k-front b { font-size: 14px; } body > .back .k-front span { font-size: 11px; }
  @keyframes sheet { from { transform: translateY(100%); } }
}

/* ---------- legal pages: the manual sheet that comes in the meter's box ---------- */
body.legal { background: var(--bench); padding: 32px 16px 56px; }
.doc { max-width: 860px; margin: 0 auto; background: #e6e5dd; color: #1d1d1b; border: 1px solid #9e9d95; border-top: 10px solid var(--holster); border-radius: 6px; padding: 36px clamp(18px, 5vw, 56px) 44px;
  box-shadow: 0 18px 40px -24px rgba(20,20,18,.6); font-size: 16px; line-height: 1.6; overflow-wrap: anywhere; }
.doc h1 { font: 400 clamp(28px, 4.6vw, 44px)/1.05 var(--mono); letter-spacing: -.01em; margin: 6px 0 18px; }
.doc h2 { font: 800 15px/1.3 var(--sans); letter-spacing: .1em; text-transform: uppercase; margin: 34px 0 8px; padding-top: 14px; border-top: 1px solid #b9b8b0; }
.doc h3 { font: 700 16px/1.3 var(--sans); margin: 20px 0 6px; }
.doc p, .doc ul, .doc ol, .doc table { margin: 0 0 12px; }
.doc a { color: inherit; text-underline-offset: 2px; }
.doc code { font: 400 14px var(--mono); background: #d6d5cc; padding: 1px 4px; border-radius: 3px; }

/* == legal == cookie banner + seller block (generated by sites/_legal/gen.py; the banner look comes from _legal/cookie-styles.css) */
.ck { position: fixed; left: 16px; bottom: 16px; z-index: 9999; max-width: 400px; font-family: inherit; font-size: 14px; line-height: 1.5; letter-spacing: 0; text-transform: none; text-align: left; }
.ck, .ck * { box-sizing: border-box; } .ck .ck-k { display: block; } .ck .ck-t, .ck .ck-p { margin: 0; } .ck .b { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin-top: 12px; }
.ck button, .ck a.more { cursor: pointer; text-decoration: none; line-height: 1.2; margin: 0; }
/* banner: nivaldo-solucoes */
.ck { left: auto; right: 20px; bottom: 20px; max-width: 340px; background: #2b2b2b; color: #f2f1ec; border: 1.5px solid #b8b8b2; border-radius: 12px; padding: 14px 16px 14px;
  box-shadow: 0 0 0 4px #2b2b2b, 0 18px 34px -14px rgba(20,20,18,.65); font-family: 'Hanken Grotesk', system-ui, sans-serif; }
.ck .ck-k { font: 800 12px/1.2 'Hanken Grotesk', system-ui, sans-serif; letter-spacing: .14em; text-transform: uppercase; color: #f2c200; padding-bottom: 8px; border-bottom: 1px solid #5a5a57; }
.ck .ck-t { margin-top: 9px; font: 400 17px/1.25 'Share Tech Mono', ui-monospace, monospace; }
.ck .ck-t b { font-weight: 400; }
.ck .ck-p { margin-top: 6px; font-size: 12.5px; line-height: 1.5; color: #d2d1cb; }
.ck .b { gap: 10px; margin-top: 12px; align-items: center; }
.ck .ok, .ck .no { width: 68px; height: 68px; border-radius: 50%; padding: 0; font: 800 10.5px/1.1 'Hanken Grotesk', system-ui, sans-serif; letter-spacing: .06em; text-transform: uppercase;
  display: inline-flex; align-items: center; justify-content: center; text-align: center; }
.ck .ok { background: #f2c200; color: #1d1d1b; border: 2px solid #f2c200; box-shadow: inset 0 0 0 3px #2b2b2b, inset 0 0 0 4.5px #1d1d1b; }
.ck .no { background: transparent; color: #f2f1ec; border: 2px solid #f2f1ec; box-shadow: inset 0 0 0 3px #2b2b2b, inset 0 0 0 4.5px #8a8a85; }
.ck .ok:hover { background: #ffd21f; } .ck .no:hover { background: #3a3a38; }
.ck .ok:focus-visible, .ck .no:focus-visible, .ck a.more:focus-visible { outline: 2px solid #f2c200; outline-offset: 3px; }
.ck a.more { color: #f2f1ec; font-size: 12.5px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; margin-left: 4px; }
@media (max-width: 600px) { .ck { left: 12px; right: 12px; max-width: none; padding: 12px 14px; } .ck .ck-t { font-size: 15.5px; } .ck .ok, .ck .no { width: 62px; height: 62px; } }
/* the seller panel opened from «Quem presta»: the same label, larger */
footer.seller.panel { background: #2b2b2b; color: #f2f1ec; border: 1.5px solid #b8b8b2; box-shadow: 0 0 0 4px #2b2b2b, 0 30px 60px -20px rgba(20,20,18,.65); }
footer.seller.panel b { color: #f2c200; opacity: 1; }
footer.seller.panel a { color: #f2f1ec; }

@media (max-width: 600px) { .ck { left: 10px; right: 10px; bottom: var(--ck-bottom, 10px); width: auto; max-width: none; transform: none; } }
.seller { font-size: 12.5px; line-height: 1.6; color: inherit; padding: 22px 24px 26px; border-top: 1px solid rgba(128,128,128,.35); letter-spacing: 0; text-transform: none; font-family: inherit; }
.seller-in { max-width: 1180px; margin: 0 auto; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px 28px; }
.seller b { display: block; font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase; opacity: .7; margin-bottom: 4px; font-weight: 700; }
.seller a { color: inherit; } .seller address { font-style: normal; } .seller strong { font-weight: 700; }
.seller.panel { display: none; position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 9998; background: #fff; color: #111; border-radius: 14px; box-shadow: 0 30px 60px -20px rgba(0,0,0,.5); max-width: 940px; margin: 0 auto; border-top: 0; padding: 24px 26px 22px; }
.seller.panel:target { display: block; }
.seller .x { position: absolute; top: 6px; right: 12px; text-decoration: none; font-size: 22px; line-height: 1; padding: 6px 8px; }
.ck-page .st { padding: 10px 14px; border: 1px solid rgba(128,128,128,.4); border-radius: 8px; margin: 10px 0 14px; font-weight: 700; } .ck-page .b { display: flex; gap: 8px; flex-wrap: wrap; } .ck-page button { font: inherit; font-weight: 700; padding: 9px 16px; border-radius: 999px; border: 1px solid currentColor; background: transparent; color: inherit; cursor: pointer; }
@media (max-width: 760px) { table.lgl-t, table.lgl-t tbody, table.lgl-t tr, table.lgl-t td { display: block; width: auto; } table.lgl-t thead { display: none; } table.lgl-t tr { padding: 10px 0; border-bottom: 1px solid rgba(128,128,128,.35); } table.lgl-t td { border: 0 !important; padding: 2px 0 !important; overflow-wrap: anywhere; } table.lgl-t td::before { content: attr(data-l) ": "; font-weight: 700; } }
table.lgl-t code { overflow-wrap: anywhere; }
.lead-note.lead-note { font-size: 12px; line-height: 1.5; margin: 0; letter-spacing: 0; text-transform: none; font-weight: 400; font-style: normal; text-align: left; max-width: 62ch; } .lead-note.lead-note a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
@media (max-width: 700px) { .seller-in { grid-template-columns: 1fr; } .seller.panel { left: 8px; right: 8px; bottom: 8px; max-height: 80dvh; overflow: auto; } }
