/* kryptostart.pl – Raport PIT-38 (motyw wyścigowy) */
@font-face { font-family: "Bricolage"; font-weight: 800; font-display: swap; src: url(../fonts/bricolage-grotesque-latin-800-normal.woff2) format("woff2"); unicode-range: U+0000-00FF, U+2000-206F, U+20AC, U+2212; }
@font-face { font-family: "Bricolage"; font-weight: 800; font-display: swap; src: url(../fonts/bricolage-grotesque-latin-ext-800-normal.woff2) format("woff2"); unicode-range: U+0100-024F, U+1E00-1EFF; }
@font-face { font-family: "Instrument"; font-weight: 400; font-display: swap; src: url(../fonts/instrument-sans-latin-400-normal.woff2) format("woff2"); unicode-range: U+0000-00FF, U+2000-206F, U+20AC, U+2212; }
@font-face { font-family: "Instrument"; font-weight: 400; font-display: swap; src: url(../fonts/instrument-sans-latin-ext-400-normal.woff2) format("woff2"); unicode-range: U+0100-024F, U+1E00-1EFF; }
@font-face { font-family: "Instrument"; font-weight: 600; font-display: swap; src: url(../fonts/instrument-sans-latin-600-normal.woff2) format("woff2"); unicode-range: U+0000-00FF, U+2000-206F, U+20AC, U+2212; }
@font-face { font-family: "Instrument"; font-weight: 600; font-display: swap; src: url(../fonts/instrument-sans-latin-ext-600-normal.woff2) format("woff2"); unicode-range: U+0100-024F, U+1E00-1EFF; }
@font-face { font-family: "Instrument"; font-weight: 700; font-display: swap; src: url(../fonts/instrument-sans-latin-700-normal.woff2) format("woff2"); unicode-range: U+0000-00FF, U+2000-206F, U+20AC, U+2212; }
@font-face { font-family: "Instrument"; font-weight: 700; font-display: swap; src: url(../fonts/instrument-sans-latin-ext-700-normal.woff2) format("woff2"); unicode-range: U+0100-024F, U+1E00-1EFF; }

:root {
  --asphalt: #15171D; --asphalt-2: #1F222B; --asphalt-3: #2C303B; --night: #0C0D11;
  --paper: #F2F3F0; --white: #FFFFFF; --ink: #15171D; --muted: #5B6070; --line: #DADCD6; --dim: #8C92A3;
  --red: #E8412C; --red-d: #C23523; --green: #19B37B; --green-d: #0E8A5E; --yellow: #FFC21A; --blue: #2F6BFF;
  --green-t: #DDF4E9; --red-t: #FCE3DE; --yellow-t: #FFF3CC;
  --display: "Bricolage", system-ui, sans-serif; --text: "Instrument", system-ui, sans-serif;
  --check: repeating-conic-gradient(#15171D 0 25%, #fff 0 50%) 0 0 / 16px 16px;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; scroll-padding-top: 16px; }
body { background: var(--paper); color: var(--ink); font: 400 18px/1.55 var(--text); -webkit-font-smoothing: antialiased; }
a { color: inherit; }
button, input, select { font: inherit; color: inherit; }
button { cursor: pointer; }
.wrap { width: min(1200px, 100% - 48px); margin-inline: auto; }
h1, h2, h3, h4 { font-family: var(--display); font-weight: 800; letter-spacing: -0.005em; line-height: 1; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
[hidden] { display: none !important; }
:focus-visible { outline: 3px solid var(--blue); outline-offset: 2px; }

/* Przyciski */
.btn { white-space: nowrap; display: inline-flex; align-items: center; justify-content: center; gap: 10px; font: 700 17px var(--text); padding: 15px 28px; border-radius: 8px; border: 0; text-decoration: none; }
.btn > span { display: inline-block; }
.btn-red { background: var(--red); color: #fff; }
.btn-red:hover { background: var(--red-d); }
.btn-ghost { border: 2px solid #fff; color: #fff; background: transparent; }
.btn-ink { background: var(--ink); color: #fff; }
.btn-line { background: #fff; color: var(--ink); border: 2px solid var(--ink); padding: 11px 20px; font-size: 15.5px; }
.btn-small { padding: 9px 16px; font-size: 15px; }
.btn[disabled] { opacity: .45; cursor: not-allowed; }
.link { background: none; border: 0; text-decoration: underline; text-underline-offset: 3px; font-weight: 600; padding: 0; }

/* Góra */
.kerb { height: 14px; background: repeating-linear-gradient(115deg, var(--red) 0 34px, #fff 34px 68px); }
.hero { background: var(--asphalt); color: #fff; position: relative; overflow: hidden; }
.hero::before { content: ""; position: absolute; inset: 0; pointer-events: none; background:
  linear-gradient(115deg, transparent 0 58%, rgba(255,255,255,.035) 58% 70%, transparent 70%),
  repeating-linear-gradient(90deg, rgba(255,255,255,.05) 0 2px, transparent 2px 120px); }
header.top { position: relative; z-index: 2; display: flex; align-items: center; justify-content: space-between; padding: 22px 0; }
.logo { display: flex; align-items: center; gap: 12px; font: 800 24px var(--display); text-decoration: none; }
.logo .mark { width: 40px; height: 40px; border-radius: 9px; background: var(--check); border: 2px solid #fff; position: relative; overflow: hidden; flex: none; }
.logo .mark::after { content: ""; position: absolute; inset: 9px; background: var(--red); border-radius: 50%; box-shadow: 0 0 0 3px #fff; }
.logo b { color: var(--red); font-weight: 800; }
.nav { display: flex; align-items: center; gap: 28px; font-weight: 600; font-size: 16.5px; color: #D8DBE4; }
.nav a { text-decoration: none; }
.nav a:hover { color: #fff; }
.nav .btn { padding: 11px 20px; font-size: 15.5px; color: #fff; }

.hero-in { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 500px; gap: 56px; align-items: center; padding: 34px 0 76px; }
.lights { display: inline-flex; align-items: center; gap: 14px; background: var(--night); border-radius: 14px; padding: 10px 16px 10px 12px; }
.pods { display: flex; gap: 6px; }
.pod { width: 26px; height: 26px; border-radius: 50%; background: var(--green); box-shadow: 0 0 14px rgba(25,179,123,.75), inset 0 -4px 0 rgba(0,0,0,.2); }
.lights span { font: 800 16px var(--display); letter-spacing: .01em; }
.hero h1 { font-size: 67px; line-height: .93; margin-top: 24px; }
.hero h1 em { color: var(--green); }
.hero .lead { font-size: 20px; color: #C3C7D3; margin-top: 22px; max-width: 31em; }
.ctas { display: flex; gap: 16px; margin-top: 32px; flex-wrap: wrap; }
.ticks { display: flex; flex-wrap: wrap; gap: 12px 26px; margin-top: 28px; font-weight: 600; font-size: 15.5px; color: #D8DBE4; }
.ticks span { display: flex; align-items: center; gap: 8px; white-space: nowrap; }
.ticks i, .tick { width: 20px; height: 20px; border-radius: 50%; background: var(--green); display: grid; place-items: center; flex: none; }

/* Tablica z przykładowym wynikiem */
.tower { background: var(--night); border-radius: 18px; overflow: hidden; box-shadow: 0 40px 70px -30px rgba(0,0,0,.8); border: 1px solid #2A2E39; }
.tower-h { display: flex; justify-content: space-between; align-items: center; padding: 16px 20px; background: var(--asphalt-2); }
.tower-h h3 { font-size: 20px; display: flex; align-items: center; gap: 12px; }
.tower-h h3 i { width: 28px; height: 20px; background: var(--check); background-size: 10px 10px; border-radius: 3px; }
.tower-h span { color: var(--dim); font-size: 13.5px; border: 1px solid #3A3F4C; border-radius: 6px; padding: 2px 8px; }
.pos { display: grid; grid-template-columns: 62px 1fr auto; gap: 14px; align-items: center; padding: 13px 20px; border-top: 1px solid #23262F; }
.pos .pz { font: 800 15px var(--display); color: var(--dim); }
.pos .pz b { display: block; font-size: 22px; line-height: 1; color: #fff; }
.pos .lbl { font-size: 16px; color: #D8DBE4; }
.pos .val { font: 800 22px var(--display); white-space: nowrap; }
.pos.due { background: linear-gradient(90deg, rgba(255,194,26,.16), transparent 75%); padding-top: 18px; padding-bottom: 18px; }
.pos.due .pz b { color: var(--yellow); }
.pos.due .val { font-size: 34px; color: var(--yellow); }
.tower-note { padding: 14px 20px 18px; font-size: 14px; color: var(--dim); display: flex; align-items: center; gap: 10px; border-top: 1px solid #23262F; }
.tower-note .tick { width: 18px; height: 18px; }

/* Sekcje */
.sec { padding: 92px 0; }
.tag { display: inline-flex; align-items: center; gap: 10px; font: 800 16px var(--display); color: var(--red); letter-spacing: .02em; }
.tag::before { content: ""; width: 34px; height: 14px; background: repeating-linear-gradient(115deg, var(--red) 0 8px, transparent 8px 13px); }
.sec-head h2 { font-size: 48px; line-height: .95; margin-top: 8px; }
.sec-head p { color: var(--muted); font-size: 19px; margin-top: 14px; max-width: 36em; }
.card { background: #fff; border-radius: 18px; border: 1px solid var(--line); }

/* Okrążenia narzędzia */
.laps { display: grid; gap: 22px; margin-top: 44px; }
.lap { padding: 30px; }
.lap-h { display: flex; align-items: center; gap: 18px; }
.lap-num { width: 58px; height: 58px; border-radius: 12px; display: grid; place-items: center; font: 800 24px var(--display); color: #fff; flex: none; background: var(--ink); }
.lap-num span { }
.lap-1 .lap-num { background: var(--blue); } .lap-2 .lap-num { background: var(--red); } .lap-3 .lap-num { background: var(--green); }
.lap-h small { display: block; font-weight: 700; color: var(--muted); font-size: 14px; }
.lap-h h3 { font-size: 27px; }
.lap-body { margin-top: 22px; }

.howto { display: grid; grid-template-columns: 1.25fr 1fr; gap: 28px; }
.howto ol { list-style: none; counter-reset: s; display: grid; gap: 10px; }
.howto li { counter-increment: s; display: grid; grid-template-columns: 34px 1fr; gap: 12px; align-items: start; font-size: 17px; }
.howto li::before { content: counter(s); width: 30px; height: 30px; border-radius: 7px; background: var(--paper); border: 1px solid var(--line); display: grid; place-items: center; font: 800 18px var(--display); }
.howto li b { font-weight: 700; }
.side { display: grid; gap: 12px; align-content: start; }
.notice { background: var(--yellow-t); border-radius: 12px; padding: 14px 16px; font-size: 15.5px; }
.notice.red { background: var(--red-t); }
.notice.green { background: var(--green-t); }
.notice.ink { background: var(--asphalt); color: #fff; }
.notice b { font-weight: 700; }
.notice ul { margin: 6px 0 0 18px; }
.muted { color: var(--muted); }
.small { font-size: 14.5px; }

/* Wgrywanie */
.drop { position: relative; display: grid; place-items: center; text-align: center; gap: 8px; padding: 40px 24px; border: 2.5px dashed #B9BCB4; border-radius: 16px; background: var(--paper); transition: border-color .15s, background .15s; overflow: hidden; }
.drop::after { content: ""; position: absolute; top: 0; right: 0; width: 64px; height: 64px; background: var(--check); background-size: 12px 12px; clip-path: polygon(0 0, 100% 0, 100% 100%); opacity: .9; }
.drop.over { border-color: var(--red); background: var(--red-t); }
.drop strong { font: 800 24px var(--display); }
.drop p { color: var(--muted); font-size: 16px; }
.drop .btn { margin-top: 8px; }
.drop .lock { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; font-size: 14.5px; color: var(--green-d); margin-top: 6px; }

.files { list-style: none; display: grid; gap: 8px; margin-top: 14px; }
.files li { display: grid; grid-template-columns: auto 1fr auto; gap: 14px; align-items: center; background: var(--paper); border-radius: 10px; padding: 12px 14px; font-size: 15.5px; }
.files li.err { background: var(--red-t); }
.files .fmt { font: 800 15px var(--display); background: var(--ink); color: #fff; border-radius: 5px; padding: 3px 8px; white-space: nowrap; }
.files li.err .fmt { background: var(--red-d); }
.files .nm { font-weight: 700; word-break: break-all; }
.files .ct { color: var(--muted); font-size: 14.5px; }
.files .warns { grid-column: 2 / -1; font-size: 14px; color: #8A3B12; }
.files button { background: none; border: 0; font-size: 14px; text-decoration: underline; color: var(--muted); }

.settings { display: grid; grid-template-columns: 220px 1fr; gap: 0; margin-top: 16px; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }
.fld { padding: 12px 16px; background: #fff; }
.fld + .fld { border-left: 1px solid var(--line); }
.fld label { display: block; font-size: 13.5px; color: var(--muted); font-weight: 600; }
.fld select, .fld input { width: 100%; border: 0; background: transparent; font-weight: 700; font-size: 18px; padding: 4px 0; }
.fld input:focus, .fld select:focus { outline: none; }
.fld:focus-within { box-shadow: inset 0 0 0 2px var(--blue); }
.fld .help { font-size: 13.5px; color: var(--muted); }
.status { margin-top: 12px; font-weight: 600; color: var(--muted); min-height: 1.4em; font-size: 15.5px; }

/* Podgląd i płatność */
.result-empty { display: grid; place-items: center; text-align: center; padding: 34px 20px; border-radius: 14px; background: var(--paper); color: var(--muted); }
.result-empty b { color: var(--ink); }
.chips { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.chip { background: var(--paper); border-radius: 12px; padding: 12px 14px; }
.chip small { display: block; font-size: 13.5px; color: var(--muted); font-weight: 600; }
.chip b { font: 800 24px var(--display); }
.chip.yes b { color: var(--red-d); } .chip.no b { color: var(--green-d); }
.pay-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; margin-top: 20px; align-items: start; }
.blurbox { border: 1px solid var(--line); border-radius: 14px; overflow: hidden; }
.blurbox-h { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 16px; background: var(--asphalt); color: #fff; }
.blurbox-h h4 { font-size: 22px; }
.blurbox-h span { font-size: 13px; color: var(--dim); }
.brow { display: grid; grid-template-columns: 52px 1fr auto; gap: 12px; align-items: center; padding: 10px 16px; border-top: 1px dashed var(--line); font-size: 15px; }
.brow:first-of-type { border-top: 0; }
.brow .pz { font: 800 16px var(--display); color: var(--muted); }
.brow .v { font: 800 18px var(--display); filter: blur(7px); user-select: none; white-space: nowrap; }
.brow.big .v { font-size: 23px; }

.plans { display: grid; gap: 12px; }
.plan { display: grid; grid-template-columns: 26px 1fr auto; gap: 14px; align-items: start; padding: 18px; border-radius: 14px; border: 2px solid var(--line); background: #fff; cursor: pointer; }
.plan:has(input:checked) { border-color: var(--ink); box-shadow: 0 0 0 1px var(--ink); }
.plan input { width: 22px; height: 22px; margin-top: 4px; accent-color: var(--red); }
.plan h4 { font-size: 20px; }
.plan p { font-size: 15px; color: var(--muted); margin-top: 4px; }
.plan .price { font: 800 30px var(--display); white-space: nowrap; line-height: 1; text-align: right; }
.plan .price small { display: block; font: 600 12.5px var(--text); color: var(--muted); }
.plan .flag { display: inline-block; font: 700 12px var(--text); background: var(--yellow); border-radius: 4px; padding: 1px 7px; margin-left: 8px; vertical-align: 4px; font-style: normal; }
.consent { display: grid; grid-template-columns: 24px 1fr; gap: 10px; font-size: 14.5px; color: #3F4453; margin-top: 4px; }
.consent input { width: 20px; height: 20px; margin-top: 2px; accent-color: var(--ink); }
.consent a { font-weight: 600; }
.consent.shake { animation: shake .35s; color: var(--red-d); }
@keyframes shake { 25% { transform: translateX(-5px); } 75% { transform: translateX(5px); } }
.paybtn { width: 100%; font-size: 18px; padding: 17px 28px; }
.paymeta { display: flex; justify-content: center; align-items: center; gap: 10px; flex-wrap: wrap; font-size: 13.5px; color: var(--muted); text-align: center; }
.blik { font: 800 16px var(--display); background: var(--ink); color: #fff; border-radius: 4px; padding: 1px 8px; letter-spacing: .03em; }
.redeem summary { cursor: pointer; font-weight: 600; font-size: 15px; }
.redeem form { display: flex; gap: 8px; margin-top: 10px; }
.redeem input { flex: 1; min-width: 0; border: 1px solid var(--line); border-radius: 8px; padding: 10px 12px; font-size: 15px; }

/* Raport */
.report { margin-top: 8px; }
.print-head { display: none; }
.rp-top { display: flex; justify-content: space-between; align-items: end; gap: 20px; flex-wrap: wrap; }
.rp-top h3 { font-size: 31px; }
.rp-top p { color: var(--muted); font-size: 15px; margin-top: 4px; }
.rp-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.sample-flag { background: var(--yellow); border-radius: 10px; padding: 10px 14px; font-weight: 600; font-size: 15px; margin-bottom: 16px; }
.code-box { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-top: 8px; }
.code-box code { background: #fff; border-radius: 6px; padding: 4px 8px; font-size: 13px; word-break: break-all; }

.due-box { display: grid; grid-template-columns: 1fr auto; gap: 6px 24px; align-items: center; background: var(--asphalt); color: #fff; border-radius: 16px; padding: 22px 26px; margin-top: 20px; position: relative; overflow: hidden; }
.due-box::after { content: ""; position: absolute; right: 0; top: 0; bottom: 0; width: 22px; background: var(--check); background-size: 11px 11px; }
.due-box span { color: #C3C7D3; font-weight: 600; }
.due-box b { font: 800 51px var(--display); line-height: 1; color: var(--yellow); grid-row: span 2; margin-right: 30px; white-space: nowrap; }
.due-box small { color: var(--dim); font-size: 14.5px; }
.due-box.zero b { color: var(--green); }

.pit { width: 100%; border-collapse: collapse; margin-top: 18px; background: #fff; border: 1px solid var(--line); border-radius: 14px; overflow: hidden; }
.pit caption { text-align: left; font: 800 18px var(--display); padding: 0 0 8px; }
.pit th, .pit td { padding: 12px 16px; border-top: 1px solid var(--line); text-align: left; vertical-align: middle; }
.pit tr.sect th { background: var(--paper); font: 700 13.5px var(--text); color: var(--muted); text-transform: uppercase; letter-spacing: .04em; }
.pit .pz { width: 76px; }
.pit .pz span { display: inline-block; font: 800 16px var(--display); background: var(--ink); color: #fff; border-radius: 6px; padding: 2px 9px; white-space: nowrap; }
.pit td.num { text-align: right; font: 800 21px var(--display); white-space: nowrap; }
.pit tr.hl td { background: var(--yellow-t); }
.pit .cp { width: 92px; text-align: right; }
.copy { background: var(--paper); border: 1px solid var(--line); border-radius: 6px; font-size: 13.5px; font-weight: 600; padding: 5px 10px; }
.copy.done { background: var(--green-t); border-color: var(--green); }
.pit small { display: block; color: var(--muted); font-size: 13.5px; }

.summary { width: 100%; border-collapse: collapse; margin-top: 12px; font-size: 15.5px; }
.summary th, .summary td { padding: 9px 12px; border-bottom: 1px solid var(--line); text-align: right; white-space: nowrap; }
.summary th:first-child, .summary td:first-child { text-align: left; }
.summary thead th { font-size: 13px; color: var(--muted); font-weight: 700; }
.summary tr.on td { background: var(--yellow-t); font-weight: 700; }
.summary button { background: none; border: 0; text-decoration: underline; font-weight: 700; }

.rp-sub { font-size: 22px; margin-top: 30px; }
.tx-wrap { margin-top: 12px; max-height: 520px; overflow: auto; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.tx { width: 100%; border-collapse: collapse; font-size: 14.5px; }
.tx th { position: sticky; top: 0; background: var(--asphalt); color: #fff; text-align: left; font-weight: 600; padding: 9px 10px; white-space: nowrap; }
.tx td { padding: 8px 10px; border-top: 1px solid #ECEDE9; white-space: nowrap; }
.tx td.d { white-space: normal; min-width: 160px; }
.tx td.n { text-align: right; font-variant-numeric: tabular-nums; }
.tx .k { font-weight: 700; font-size: 12.5px; border-radius: 4px; padding: 1px 6px; }
.tx .k.cost { background: var(--red-t); color: var(--red-d); }
.tx .k.rev { background: var(--green-t); color: var(--green-d); }
.tx .src { color: var(--muted); font-size: 12.5px; display: block; }
.method-note { margin-top: 18px; font-size: 14px; color: var(--muted); }
.method-note p + p { margin-top: 6px; }

/* Prywatność */
.dark { background: var(--asphalt); color: #fff; }
.dark .sec-head p { color: #C3C7D3; }
.priv { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 40px; }
.pv { background: var(--night); border: 1px solid #2A2E39; border-radius: 16px; padding: 26px; }
.pv h3 { font-size: 22px; }
.pv p, .pv li { color: #C3C7D3; font-size: 16.5px; }
.pv p { margin-top: 10px; }
.pv ul { list-style: none; margin-top: 12px; display: grid; gap: 8px; }
.pv li { display: grid; grid-template-columns: 18px 1fr; gap: 10px; }
.pv li::before { content: ""; width: 11px; height: 11px; margin-top: 7px; background: var(--green); }
.pv.no li::before { background: var(--red); }
.bytes { font: 800 58px var(--display); color: var(--green); line-height: 1; margin-top: 10px; }

/* Metoda */
.method { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-top: 40px; }
.mt { padding: 24px; }
.mt i { display: block; width: 44px; height: 10px; border-radius: 2px; }
.mt h3 { font-size: 22px; margin-top: 14px; }
.mt p { color: var(--muted); font-size: 16px; margin-top: 8px; }
.c-green { background: var(--green); } .c-red { background: var(--red); } .c-yellow { background: var(--yellow); } .c-blue { background: var(--blue); }
.limits { margin-top: 18px; padding: 24px 26px; display: grid; grid-template-columns: 260px 1fr; gap: 24px; }
.limits h3 { font-size: 23px; }
.limits ul { columns: 2; column-gap: 32px; list-style: none; }
.limits li { break-inside: avoid; padding: 4px 0 4px 20px; position: relative; font-size: 16px; }
.limits li::before { content: ""; position: absolute; left: 0; top: 12px; width: 10px; height: 10px; background: var(--red); }

/* FAQ */
.faq-sec { display: grid; grid-template-columns: 360px 1fr; gap: 60px; }
.faq { display: grid; gap: 10px; }
.q { background: #fff; border-radius: 12px; border: 1px solid var(--line); padding: 18px 22px; }
.q summary { display: flex; justify-content: space-between; align-items: center; gap: 20px; font: 700 18.5px/1.3 var(--text); cursor: pointer; list-style: none; }
.q summary::-webkit-details-marker { display: none; }
.q summary::after { content: "+"; width: 32px; height: 32px; border-radius: 8px; background: var(--paper); display: grid; place-items: center; flex: none; font-size: 22px; }
.q[open] { border: 2px solid var(--ink); }
.q[open] summary::after { content: "–"; background: var(--red); color: #fff; }
.q p { margin-top: 10px; color: #3F4453; font-size: 16.5px; max-width: 46em; }

footer { background: var(--night); color: #A9AEBD; margin-top: 92px; font-size: 15px; }
footer .check { height: 20px; background: var(--check); background-size: 20px 20px; }
.foot { display: flex; justify-content: space-between; align-items: center; gap: 30px; padding-top: 42px; flex-wrap: wrap; }
footer .logo { color: #fff; }
.flinks { display: flex; gap: 26px; color: #fff; font-weight: 600; flex-wrap: wrap; }
.flinks a { text-decoration: none; }
footer p { margin-top: 22px; padding-bottom: 42px; max-width: 62em; }

/* Strony prawne */
.doc { max-width: 820px; padding: 56px 0 24px; }
.doc h1 { font-size: 44px; }
.doc h2 { font-size: 23px; margin-top: 36px; }
.doc p, .doc li { margin-top: 10px; font-size: 17px; color: #2D3140; }
.doc ol, .doc ul { padding-left: 22px; }
.doc .draft { background: var(--yellow-t); border-radius: 12px; padding: 14px 16px; margin-top: 18px; font-size: 15.5px; }
.doc mark { background: var(--yellow); padding: 0 3px; }
.top-light { background: var(--asphalt); color: #fff; }

@media (max-width: 980px) {
  .hero-in { grid-template-columns: 1fr; gap: 40px; }
  .howto, .pay-grid { grid-template-columns: 1fr; }
  .priv { grid-template-columns: 1fr; }
  .method { grid-template-columns: 1fr 1fr; }
  .limits { grid-template-columns: 1fr; }
  .faq-sec { grid-template-columns: 1fr; gap: 28px; }
}
@media (max-width: 640px) {
  body { font-size: 16.5px; }
  .wrap { width: calc(100% - 32px); }
  .nav .btn { padding: 9px 14px; font-size: 14.5px; }
  .logo { font-size: 25px; gap: 10px; }
  .logo .mark { width: 34px; height: 34px; }
  .logo .mark::after { inset: 8px; }
  .hero-in { padding: 14px 0 52px; gap: 34px; }
  .lights span { font-size: 17px; }
  .pod { width: 20px; height: 20px; }
  .hero h1 { font-size: 42px; }
  .hero .lead { font-size: 17px; }
  .ctas { flex-direction: column; }
  .ticks { flex-direction: column; gap: 10px; }
  .pos { grid-template-columns: 48px 1fr auto; gap: 10px; padding: 12px 14px; }
  .pos .pz b { font-size: 24px; }
  .pos .lbl { font-size: 14.5px; }
  .pos .val { font-size: 23px; }
  .pos.due .val { font-size: 27px; }
  .tower-h { padding: 14px; }
  .sec { padding: 60px 0; }
  .sec-head h2 { font-size: 34px; }
  .sec-head p { font-size: 16.5px; }
  .laps { margin-top: 28px; gap: 16px; }
  .lap { padding: 20px 18px; }
  .lap-num { width: 48px; height: 48px; font-size: 20px; }
  .lap-h h3 { font-size: 22px; }
  .drop { padding: 30px 16px; }
  .drop strong { font-size: 25px; }
  .files li { grid-template-columns: 1fr auto; }
  .files .fmt { justify-self: start; }
  .files .nm { grid-column: 1 / -1; grid-row: 2; }
  .files .ct { grid-column: 1 / -1; }
  .files .warns { grid-column: 1 / -1; }
  .settings { grid-template-columns: 1fr; }
  .fld + .fld { border-left: 0; border-top: 1px solid var(--line); }
  .chips { grid-template-columns: 1fr 1fr; }
  .plan { grid-template-columns: 22px 1fr; }
  .plan .price { grid-column: 2; text-align: left; }
  .plan .price small { display: inline; margin-left: 6px; }
  .rp-top h3 { font-size: 25px; }
  .rp-actions { width: 100%; }
  .rp-actions .btn { flex: 1; }
  .due-box { grid-template-columns: 1fr; padding: 20px; }
  .due-box b { grid-row: auto; font-size: 39px; }
  .pit th, .pit td { padding: 10px 10px; }
  .pit .pz { width: 58px; }
  .pit .pz span { font-size: 17px; padding: 2px 7px; }
  .pit td.num { font-size: 21px; }
  .pit .cp { display: none; }
  .pit td.lbl { font-size: 14.5px; }
  .summary { font-size: 13.5px; }
  .summary th, .summary td { padding: 8px 6px; }
  .sum-wrap { overflow-x: auto; }
  .method { grid-template-columns: 1fr; }
  .limits ul { columns: 1; }
  .bytes { font-size: 45px; }
  .pv { padding: 22px; }
  footer { margin-top: 60px; }
  .doc h1 { font-size: 33px; }
}

/* Druk / PDF – tylko raport */
@media print {
  @page { size: A4; margin: 14mm 12mm; }
  body { background: #fff; font-size: 11pt; }
  body > *:not(main), main > *:not(#narzedzie), .kerb, .no-print, .lap-1, .lap-2, .lap-3 > .lap-h, #narzedzie .sec-head { display: none !important; }
  #narzedzie { padding: 0; }
  .wrap { width: 100%; }
  .laps { margin: 0; display: block; }
  .lap, .card { border: 0; padding: 0; box-shadow: none; }
  .lap-body { margin: 0; }
  .print-head { display: flex; justify-content: space-between; border-bottom: 2px solid #000; padding-bottom: 6px; margin-bottom: 12px; font-size: 10pt; }
  .print-head b { font: 800 16pt var(--display); }
  .due-box { background: #fff; color: #000; border: 2px solid #000; }
  .due-box::after { display: none; }
  .due-box b, .due-box.zero b { color: #000; }
  .due-box span, .due-box small { color: #333; }
  .pit .pz span { background: #fff; color: #000; border: 1px solid #000; }
  .pit .cp { display: none; }
  .pit tr.hl td { background: #f0f0f0; }
  .tx-wrap { max-height: none; overflow: visible; border: 0; }
  .tx th { position: static; background: #fff; color: #000; border-bottom: 1.5px solid #000; }
  .tx tr { break-inside: avoid; }
  .tx { font-size: 8.5pt; }
  .summary tr.on td { background: #f0f0f0; }
  .rp-sub { break-after: avoid; }
}

/* Strona: staking vs lokata */
.hero-small .hero-text { position: relative; z-index: 1; padding: 20px 0 64px; max-width: 760px; }
.hero-small h1 { font-size: 61px; line-height: .94; }
.hero-small h1 em { color: var(--green); }
.hero-small .lead { font-size: 20px; color: #C3C7D3; margin-top: 18px; }
.note-bar { background: var(--night); color: #A9AEBD; font-size: 14px; padding: 8px 0; }
.calc-grid { display: grid; grid-template-columns: 440px 1fr; gap: 24px; align-items: start; }
.calc { padding: 26px; }
.calc + .calc { margin-top: 24px; }
.calc h2 { font-size: 27px; }
.calc h3 { font-size: 22px; }
.grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin-top: 16px; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }
.grid2 .fld { border-top: 1px solid var(--line); }
.grid2 .fld:nth-child(-n+2) { border-top: 0; }
.grid2 .fld:nth-child(even) { border-left: 1px solid var(--line); }
.grid2 .fld label { min-height: 2.6em; }
.calc .check { display: flex; gap: 10px; align-items: center; margin: 16px 0 8px; font-weight: 600; font-size: 15.5px; }
.calc .check input { width: 20px; height: 20px; accent-color: var(--ink); }
.calc #lbl-infl { border: 1px solid var(--line); border-radius: 12px; margin-bottom: 10px; }
.calc .small { margin-top: 12px; }
.res { display: grid; gap: 18px; margin: 18px 0; }
.res-top { display: flex; justify-content: space-between; align-items: baseline; gap: 14px; }
.res-top b { display: block; font-size: 17px; }
.res-top small { color: var(--muted); font-size: 14px; }
.res-val { font: 800 27px var(--display); white-space: nowrap; }
.res-row.best .res-val { color: var(--green-d); }
.res-row .lane { height: 22px; border-radius: 4px; background: #E8EAE5; margin-top: 8px; border-top: 0; overflow: hidden; }
.res-row .lane i { display: block; height: 100%; width: 0; transform-origin: left; transition: width .35s; }
.bar-st { background: var(--yellow); } .bar-dp { background: var(--blue); } .bar-bd { background: var(--green); }
.res-sub { font-size: 14.5px; color: var(--muted); margin-top: 6px; }
.res-sub b { color: var(--ink); }
.calc table.summary { margin-top: 12px; }
.calc .g { color: var(--green-d); font-weight: 700; } .calc .r { color: var(--red-d); font-weight: 700; }
.calc .notice { margin-top: 10px; }
.cta-strip { display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap; margin-top: 24px; }
.news-card { padding: 36px; display: grid; grid-template-columns: 1.1fr 1fr; gap: 40px; align-items: center; }
.news-card h2 { font-size: 34px; margin-top: 6px; }
.news-card .muted { margin-top: 10px; }
.nl-form { display: grid; gap: 12px; }
.nl-form input[type=email] { width: 100%; border: 1px solid var(--line); border-radius: 10px; padding: 15px 16px; font-size: 17px; background: var(--paper); }
.nl-form .btn { justify-self: start; }
@media (max-width: 980px) { .calc-grid, .news-card { grid-template-columns: 1fr; } }
@media (max-width: 640px) {
  .hero-small h1 { font-size: 39px; }
  .hero-small .hero-text { padding-bottom: 44px; }
  .calc { padding: 20px 18px; }
  .grid2 { grid-template-columns: 1fr; }
  .grid2 .fld:nth-child(even) { border-left: 0; }
  .grid2 .fld:nth-child(2) { border-top: 1px solid var(--line); }
  .res-val { font-size: 22px; }
  .news-card { padding: 24px 20px; gap: 22px; }
  .news-card h2 { font-size: 28px; }
}
.calc-grid > * { min-width: 0; }
@media (max-width: 640px) { .calc table.summary th, .calc table.summary td { white-space: normal; } }

/* Strona główna: karty kalkulatorów */
.calc-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-top: 40px; }
.cc { display: flex; flex-direction: column; gap: 8px; padding: 26px; text-decoration: none; transition: transform .15s, box-shadow .15s; position: relative; overflow: hidden; }
.cc:hover { transform: translateY(-3px); box-shadow: 0 18px 30px -22px rgba(0,0,0,.5); border-color: var(--ink); }
.cc i { display: block; width: 52px; height: 10px; border-radius: 2px; margin-bottom: 8px; }
.cc small { font-weight: 700; color: var(--muted); font-size: 14px; }
.cc h3 { font-size: 25px; }
.cc p { color: var(--muted); font-size: 16px; flex: 1; }
.cc .go { font: 800 18px var(--display); color: var(--red); margin-top: 8px; }
.small-cards { margin-top: 24px; }
.small-cards .cc { padding: 20px; }
.small-cards .cc h3 { font-size: 20px; }
.small-cards .cc p { font-size: 15px; }
.more { padding-top: 0; }
.chips-2 { grid-template-columns: 1fr 1fr; margin: 16px 0; }
@media (max-width: 980px) { .calc-cards { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .calc-cards { grid-template-columns: 1fr; margin-top: 24px; } .cc { padding: 20px; } .chips-2 { grid-template-columns: 1fr 1fr; } }

/* Formularze i podstrony tekstowe */
.form { display: grid; gap: 14px; }
.form .fld { border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.form .fld + .fld { border-left: 1px solid var(--line); }
.form input[type=text], .form input[type=email], .form select, .form textarea { width: 100%; border: 0; background: transparent; font-weight: 600; font-size: 17px; padding: 4px 0; font-family: var(--text); }
.form textarea { min-height: 150px; resize: vertical; font-weight: 400; line-height: 1.5; }
.form .row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.form .hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.form .counter { text-align: right; font-size: 13px; color: var(--muted); margin-top: -6px; }
.form-msg { border-radius: 12px; padding: 14px 16px; font-weight: 600; }
.form-msg.ok { background: var(--green-t); color: var(--green-d); }
.form-msg.err { background: var(--red-t); color: var(--red-d); }
.page-card { padding: 30px; }
.page-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 24px; align-items: start; }
.checklist { list-style: none; display: grid; gap: 10px; margin-top: 18px; }
.checklist label { display: grid; grid-template-columns: 28px 1fr; gap: 14px; align-items: start; padding: 14px 16px; border: 1px solid var(--line); border-radius: 12px; background: #fff; cursor: pointer; }
.checklist label:has(input:checked) { background: var(--green-t); border-color: var(--green); }
.checklist input { width: 22px; height: 22px; accent-color: var(--green-d); margin-top: 2px; }
.checklist b { display: block; font-size: 17px; }
.checklist span.d { color: var(--muted); font-size: 15px; }
.progress { margin-top: 14px; height: 14px; border-radius: 3px; background: #DDE3F4; overflow: hidden; }
.progress i { display: block; height: 100%; width: 0; background: var(--green); transition: width .3s; }
.prose { max-width: 760px; }
.prose h2 { font-size: 27px; margin-top: 34px; }
.prose p, .prose li { margin-top: 10px; font-size: 17.5px; color: #2D3140; }
.prose ul { padding-left: 22px; }
@media (max-width: 980px) { .page-grid { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .form .row2 { grid-template-columns: 1fr; } .page-card { padding: 20px; } }

/* ===== Motyw v2: jasny, kolorowy, zaokrąglony ===== */
:root {
  --ink: #15172B; --muted: #585D76; --paper: #F3F5FC; --line: #DCE1F0; --sky: #E4EBFF; --dim: #8B91AE;
  --blue: #3D5AFE; --yellow: #FFC53D; --teal: #12A58A; --coral: #FF6B4A;
  --green: #12A58A; --green-d: #0B7A64; --green-t: #D8F2EA;
  --red: #FF6B4A; --red-d: #C2401F; --red-t: #FFE2DA; --yellow-t: #FFF1CC;
  --asphalt: #15172B; --asphalt-2: #1F2340; --night: #15172B;
}
body { background: var(--paper); }
h1, h2, h3, h4 { font-style: normal; font-weight: 800; letter-spacing: -0.02em; line-height: 1.08; }
html { scroll-padding-top: 16px; }
.kerb, footer .check { display: none; }

/* Przyciski */
.btn { border-radius: 999px; padding: 14px 26px; font: 700 17px var(--text); gap: 8px; transition: background .15s, transform .15s; }
.btn:hover { transform: translateY(-1px); }
.btn-red, .btn-ink { background: var(--ink); color: #fff; }
.btn-red:hover, .btn-ink:hover { background: #2C3158; }
.btn-ghost, .btn-line { background: transparent; border: 2px solid var(--ink); color: var(--ink); padding: 12px 24px; font-size: 17px; }
.btn-ghost:hover, .btn-line:hover { background: rgba(21,23,43,.07); }
.btn-small, .btn-line.btn-small { padding: 8px 16px; font-size: 15px; }
.btn-yellow { background: var(--yellow); color: var(--ink); }
.btn-yellow:hover { background: #FFD267; }
.btn-white { background: #fff; color: var(--ink); }
.btn-white:hover { background: #F0F2FB; }
.btn[disabled] { transform: none; }

/* Górny pasek i nagłówek */
.note-bar { background: #fff; color: var(--muted); font-size: 14px; padding: 8px 0; border-bottom: 1px solid var(--line); }
.note-bar a { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
header.top { padding: 20px 0; position: relative; }
.logo { gap: 10px; font: 800 24px var(--display); letter-spacing: -0.02em; color: var(--ink); }
.logo svg { flex: none; display: block; }
.nav { color: var(--ink); gap: 30px; font-weight: 600; font-size: 16.5px; }
.nav a:hover { color: var(--blue); }
.nav .btn { padding: 10px 20px; font-size: 15.5px; color: #fff; }
.nav .btn:hover { color: #fff; }
.menu { display: none; }

/* Hero */
.hero { background: var(--sky); color: var(--ink); position: relative; overflow: hidden; }
.hero::before { content: ""; position: absolute; inset: auto; z-index: 0; width: 620px; height: 620px; border-radius: 50%; background: var(--yellow); right: -120px; top: -160px; opacity: .9; pointer-events: none; }
.hero::after { content: ""; position: absolute; inset: auto; z-index: 0; width: 220px; height: 220px; border-radius: 40px; background: var(--coral); right: 560px; bottom: -110px; transform: rotate(18deg); opacity: .9; pointer-events: none; }
.hero-in { grid-template-columns: 1fr 560px; gap: 56px; padding: 64px 0 88px; }
.hero h1 { font-size: 68px; line-height: 1; letter-spacing: -0.03em; margin-top: 0; }
.hero .lead, .hero-small .lead { font-size: 21px; color: #3E4462; margin-top: 24px; max-width: 30em; }
.hero h1 em, .hero-small h1 em { font-style: normal; color: var(--blue); }
.ctas { gap: 14px; margin-top: 34px; }
.ticks { color: var(--ink); gap: 12px 26px; margin-top: 30px; font-weight: 600; font-size: 16px; }
.ticks i, .tick { width: 22px; height: 22px; background: var(--teal); }
.pill { display: inline-flex; align-items: center; gap: 8px; background: #fff; border-radius: 999px; padding: 7px 16px; font-weight: 700; font-size: 15px; box-shadow: 0 8px 20px -12px rgba(21,23,43,.4); }
.pill::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: var(--teal); }
.lights { display: none; }
.hero-small .hero-text { padding: 24px 0 72px; max-width: 760px; position: relative; z-index: 1; }
.hero-small h1 { font-size: 56px; line-height: 1.02; letter-spacing: -0.03em; }
.hero-small::before { width: 460px; height: 460px; right: -130px; top: -200px; }
.hero-small::after { width: 190px; height: 190px; border-radius: 36px; right: 290px; bottom: -125px; }

/* Tablica z przykładem (PIT-38) */
.tower { background: #fff; border: 1px solid var(--line); border-radius: 28px; box-shadow: 0 30px 60px -20px rgba(21,23,43,.35); }
.tower-h { background: var(--yellow-t); }
.tower-h h3 i { display: none; }
.tower-h h3 { font-size: 21px; }
.tower-h span { color: var(--muted); border-color: var(--line); }
.pos { border-top-color: var(--line); }
.pos .pz { color: var(--muted); }
.pos .pz b, .pos .lbl { color: var(--ink); }
.pos.due { background: linear-gradient(90deg, rgba(255,197,61,.38), transparent 85%); }
.pos.due .pz b, .pos.due .val { color: var(--ink); }
.tower-note { color: var(--muted); border-top-color: var(--line); }

/* Sekcje i karty */
.sec { padding: 96px 0; }
.sec-head { max-width: 760px; }
.sec-head h2 { font-size: 48px; line-height: 1.05; margin-top: 8px; }
.sec-head p { color: var(--muted); font-size: 20px; margin-top: 14px; max-width: 36em; }
.tag { font: 700 14.5px var(--text); letter-spacing: .01em; color: var(--blue); gap: 8px; }
.tag::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: var(--coral); }
.card { background: #fff; border-radius: 24px; border: 1px solid var(--line); }
.notice { border-radius: 14px; }
.notice.ink { background: var(--yellow-t); color: var(--ink); }
.page-card { padding: 30px; }

/* Kroki w PIT-38 */
.lap-num { border-radius: 50%; width: 52px; height: 52px; font-size: 24px; }
.lap-1 .lap-num { background: var(--blue); } .lap-2 .lap-num { background: var(--teal); } .lap-3 .lap-num { background: var(--coral); color: var(--ink); }
.lap-h h3 { font-size: 27px; }
.howto li::before { border-radius: 50%; background: var(--sky); border-color: transparent; }
.drop { border-radius: 20px; border-color: #B9C1E2; background: var(--paper); }
.drop::after { display: none; }
.drop.over { border-color: var(--blue); background: var(--sky); }
.files .fmt { border-radius: 999px; }
.fld:focus-within { box-shadow: inset 0 0 0 2px var(--blue); }
.settings, .grid2 { border-radius: 14px; }
.chip { border-radius: 14px; background: var(--paper); }
.chip b { font-size: 24px; }
.due-box { background: var(--yellow); color: var(--ink); border-radius: 22px; }
.due-box::after { display: none; }
.due-box span, .due-box small { color: #3E4462; }
.due-box b, .due-box.zero b { color: var(--ink); }
.due-box.zero { background: var(--green-t); }
.due-box b { font-size: 50px; }
.pit { border-radius: 16px; }
.pit .pz span { border-radius: 999px; }
.pit td.num { font-size: 21px; }
.pit tr.hl td { background: var(--yellow-t); }
.copy.done { background: var(--green-t); border-color: var(--teal); }
.tx th { background: var(--ink); }
.sample-flag { border-radius: 14px; }
.res-row .lane, .res-row .lane i, .progress, .progress i { border-radius: 999px; }
.res-row .lane { background: #E3E8F6; }
.bar-st { background: var(--yellow); } .bar-dp { background: var(--blue); } .bar-bd { background: var(--teal); }
.res-val { font-size: 27px; }
.calc h2 { font-size: 27px; }
.calc h3 { font-size: 22px; }

/* Prywatność, metoda, FAQ */
.dark { background: #fff; color: var(--ink); border-block: 1px solid var(--line); }
.dark .sec-head p { color: var(--muted); }
.pv { background: var(--paper); border: 1px solid var(--line); border-radius: 20px; }
.pv p, .pv li { color: #3E4462; }
.pv li::before { border-radius: 50%; }
.bytes { color: var(--green-d); font-size: 56px; }
.mt { border-radius: 20px; }
.mt i { border-radius: 999px; }
.c-green { background: var(--teal); } .c-red { background: var(--coral); }
.limits li::before { border-radius: 50%; background: var(--coral); }
.q { border-radius: 18px; padding: 18px 22px; }
.q summary::after { border-radius: 50%; background: var(--sky); }
.q[open] { border: 1px solid var(--ink); }
.q[open] summary::after { background: var(--ink); color: #fff; }

/* Formularze */
.form .fld { border-radius: 14px; }
.nl-form input[type=email] { border-radius: 999px; background: #fff; padding: 14px 20px; }
.checklist label { border-radius: 16px; }
.checklist label:has(input:checked) { border-color: var(--teal); }
.news-card { background: var(--coral); border: 0; color: var(--ink); }
.news-card h2 { font-size: 34px; }
.news-card .muted, .news-card .tag { color: var(--ink); }
.news-card .tag::before { background: var(--ink); }
.news-card .consent { color: var(--ink); }
.news-card .consent a { text-decoration: underline; }

/* Strony tekstowe */
.top-light { background: var(--sky); color: var(--ink); }
.doc h1 { font-size: 44px; }
.doc h2 { font-size: 24px; }
.doc .draft { border-radius: 14px; }
.prose h2 { font-size: 27px; }

/* Stopka */
footer { background: var(--ink); color: #C6CAE0; margin-top: 96px; padding: 56px 0 46px; font-size: 15.5px; border-top: 0; }
footer .logo { color: #fff; }
.foot { padding-top: 0; gap: 30px; }
.flinks { color: #fff; gap: 12px 28px; }
.flinks a:hover { color: var(--yellow); }
footer p { margin-top: 26px; padding-bottom: 0; max-width: 60em; }

@media (max-width: 980px) {
  .hero-in { grid-template-columns: 1fr; gap: 40px; padding: 48px 0 72px; }
  .hero::after { display: none; }
  .menu { display: inline-flex; padding: 9px 18px; font-size: 15px; }
  .nav { display: none; position: absolute; z-index: 5; right: 0; top: calc(100% - 6px); width: min(320px, 100%); flex-direction: column; align-items: stretch; gap: 2px; background: #fff; border-radius: 22px; padding: 12px; box-shadow: 0 24px 50px -16px rgba(21,23,43,.4); }
  header.top.open .nav { display: flex; }
  .nav a { padding: 12px 14px; border-radius: 12px; }
  .nav a:not(.btn):hover { background: var(--paper); }
  .nav .btn { margin-top: 6px; padding: 13px 20px; text-align: center; }
  .hero-small::before { width: 360px; height: 360px; right: -140px; top: -160px; }
}
@media (max-width: 640px) {
  .logo { font-size: 21px; }
  .logo svg { width: 30px; height: 30px; }
  .hero::before { width: 360px; height: 360px; right: -170px; top: auto; bottom: 120px; }
  .hero-in { padding: 28px 0 56px; gap: 36px; }
  .hero h1 { font-size: 42px; }
  .hero .lead, .hero-small .lead { font-size: 18px; margin-top: 16px; }
  .hero-small h1 { font-size: 38px; }
  .hero-small .hero-text { padding: 12px 0 44px; }
  .hero-small::before { bottom: auto; top: -190px; }
  .ctas { flex-direction: column; margin-top: 28px; }
  .ticks { flex-direction: column; gap: 10px; margin-top: 24px; }
  .sec { padding: 64px 0; }
  .sec-head h2 { font-size: 34px; }
  .sec-head p { font-size: 17.5px; }
  .lap-h h3 { font-size: 22px; }
  .lap-num { width: 44px; height: 44px; font-size: 20px; }
  .due-box b { font-size: 38px; }
  .pos .val { font-size: 19px; }
  .pos.due .val { font-size: 28px; }
  .rp-top h3 { font-size: 25px; }
  .calc h2 { font-size: 23px; }
  .res-val { font-size: 23px; }
  .news-card h2 { font-size: 27px; }
  .doc h1 { font-size: 34px; }
  .bytes { font-size: 46px; }
  footer { margin-top: 64px; padding: 44px 0 36px; }
  .flinks { gap: 12px 20px; }
}
.pill { display: flex; width: fit-content; margin-bottom: 22px; }
.hero-pit::after { right: 470px; }
.hero-small::before { width: 400px; height: 400px; right: -110px; top: -200px; }
@media (max-width: 980px) { .hero-pit::after { display: none; } }
.nl-form .btn[disabled], .news-card .btn[disabled] { opacity: 1; background: rgba(255,255,255,.5); color: var(--ink); cursor: not-allowed; }
