@font-face { font-family: "Plus Jakarta Sans"; font-style: normal; font-weight: 400; font-display: swap; src: url("fonts/plus-jakarta-sans-latin-ext-400.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Plus Jakarta Sans"; font-style: normal; font-weight: 400; font-display: swap; src: url("fonts/plus-jakarta-sans-latin-400.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Plus Jakarta Sans"; font-style: normal; font-weight: 600; font-display: swap; src: url("fonts/plus-jakarta-sans-latin-ext-600.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Plus Jakarta Sans"; font-style: normal; font-weight: 600; font-display: swap; src: url("fonts/plus-jakarta-sans-latin-600.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Plus Jakarta Sans"; font-style: normal; font-weight: 700; font-display: swap; src: url("fonts/plus-jakarta-sans-latin-ext-700.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Plus Jakarta Sans"; font-style: normal; font-weight: 700; font-display: swap; src: url("fonts/plus-jakarta-sans-latin-700.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Plus Jakarta Sans"; font-style: normal; font-weight: 800; font-display: swap; src: url("fonts/plus-jakarta-sans-latin-ext-800.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Plus Jakarta Sans"; font-style: normal; font-weight: 800; font-display: swap; src: url("fonts/plus-jakarta-sans-latin-800.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

:root {
  --ap-green: #13783F;
  --ap-green-dark: #0E5E31;
  --ap-text: #10231A;
  --ap-muted: #4A5B52;
  --ap-surface: #F5F8F5;
  --ap-surface-hero: #F2F7F3;
  --ap-border: #E3E8E4;
  --ap-border-soft: #DCE7DF;
  --ap-white: #FFFFFF;
  --ap-header-bg: #FFFFFF;
  --ap-error: #A4261A;
  --ap-error-bg: #FDF1EF;
  --ap-font: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --ap-radius-pill: 999px;
  --ap-radius-card: 20px;
  --ap-radius-field: 12px;
  --ap-gap: 16px;
  --ap-gap-lg: 32px;
  --ap-touch: 44px;
  --ap-max: 1160px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--ap-white); color: var(--ap-text); font-family: var(--ap-font); font-size: 17px; line-height: 1.55; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--ap-green); }
a:hover { color: var(--ap-green-dark); }
:focus-visible { outline: 3px solid var(--ap-green); outline-offset: 2px; }
h1, h2, h3 { line-height: 1.15; letter-spacing: -0.02em; margin: 0; }
p { margin: 0; }
[hidden] { display: none !important; }

.ap-wersja-robocza { background: var(--ap-text); color: var(--ap-white); text-align: center; font-weight: 700; font-size: 14px; padding: 8px 20px; }
.ap-wrap { max-width: var(--ap-max); margin: 0 auto; padding: 0 20px; }
.ap-section { padding: clamp(40px, 6vw, 80px) 0; }
.ap-section--tint { background: var(--ap-surface); }
.ap-h2 { font-size: clamp(26px, 3.4vw, 38px); font-weight: 800; margin-bottom: var(--ap-gap); }
.ap-lead { color: var(--ap-muted); font-size: 18px; max-width: 62ch; }
.ap-small { font-size: 14px; }

.ap-header { position: sticky; top: 0; z-index: 10; background: var(--ap-header-bg); border-bottom: 1px solid var(--ap-border); }
.ap-header .ap-wrap { display: flex; align-items: center; justify-content: space-between; gap: var(--ap-gap); padding-top: 12px; padding-bottom: 12px; }
.ap-logo { display: inline-flex; align-items: center; gap: 10px; min-height: var(--ap-touch); text-decoration: none; color: var(--ap-text); font-weight: 800; font-size: 20px; letter-spacing: -0.02em; }
.ap-logo__text span { color: var(--ap-green); }
.ap-logo__dot { fill: var(--ap-green); }
.ap-logo__p { fill: none; stroke: var(--ap-white); }

.ap-button { display: inline-flex; align-items: center; justify-content: center; min-height: var(--ap-touch); min-width: var(--ap-touch); padding: 11px 22px; border: 0; border-radius: var(--ap-radius-pill); background: var(--ap-green); color: var(--ap-white); font: inherit; font-weight: 700; font-size: 16px; text-decoration: none; cursor: pointer; }
.ap-header .ap-button { background: var(--ap-white); color: var(--ap-green-dark); border: 1.5px solid var(--ap-green); padding: 9.5px 20.5px; }
.ap-header .ap-button:hover { background: var(--ap-surface-hero); color: var(--ap-green-dark); }
.ap-button:hover { background: var(--ap-green-dark); color: var(--ap-white); }

.ap-hero { position: relative; overflow: hidden; background: var(--ap-surface-hero); padding-top: clamp(40px, 7vw, 96px); }
.ap-hero__art { position: absolute; left: 0; bottom: 0; width: 100%; height: clamp(180px, 22vw, 340px); object-fit: cover; object-position: center 55%; }
.ap-hero__copy { position: relative; max-width: 640px; padding-bottom: clamp(220px, 34vw, 400px); }
.ap-hero h1 { font-size: clamp(34px, 5.6vw, 60px); font-weight: 800; margin-bottom: 20px; }
.ap-hero p { font-size: 19px; color: var(--ap-muted); margin-bottom: 28px; }

.ap-cards { display: grid; gap: var(--ap-gap); grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); margin-top: var(--ap-gap-lg); }
.ap-card { background: var(--ap-white); border: 1px solid var(--ap-border); border-radius: var(--ap-radius-card); padding: 24px; }
.ap-section--tint .ap-card { background: var(--ap-white); }
.ap-card h3 { font-size: 20px; font-weight: 700; margin-bottom: 8px; }
.ap-card p { color: var(--ap-muted); }
.ap-step { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; background: var(--ap-green); color: var(--ap-white); font-weight: 800; margin-bottom: 12px; }
.ap-split { display: grid; gap: var(--ap-gap-lg); grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); align-items: center; margin-top: var(--ap-gap-lg); }
.ap-split img { border-radius: var(--ap-radius-field); }
.ap-list { margin: 0; padding-left: 20px; color: var(--ap-muted); display: grid; gap: 8px; }

.ap-plan { display: flex; flex-direction: column; gap: 12px; }
.ap-plan__head { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.ap-badge { display: inline-flex; align-items: center; background: var(--ap-surface-hero); border: 1px solid var(--ap-border-soft); color: var(--ap-green-dark); border-radius: var(--ap-radius-pill); padding: 2px 12px; font-size: 14px; font-weight: 700; }
.ap-row { display: flex; justify-content: space-between; align-items: baseline; gap: var(--ap-gap); border-top: 1px solid var(--ap-border); padding-top: 12px; }
.ap-row__label { color: var(--ap-muted); font-size: 15px; }
.ap-row__price { text-align: right; }
.ap-brutto { display: block; font-size: 26px; font-weight: 800; }
.ap-netto { display: block; font-size: 14px; color: var(--ap-muted); font-weight: 400; }
.ap-network { margin-top: var(--ap-gap-lg); border: 1px solid var(--ap-border-soft); border-radius: var(--ap-radius-card); padding: 24px; background: var(--ap-surface-hero); }
.ap-network h3 { font-size: 22px; margin-bottom: 8px; }
.ap-rules { margin-top: var(--ap-gap-lg); display: grid; gap: 8px; }

.ap-section[id] { scroll-margin-top: 80px; }
.ap-form { margin-top: var(--ap-gap-lg); scroll-margin-top: 80px; display: grid; gap: 20px; max-width: 720px; }
.ap-field { display: grid; gap: 6px; }
.ap-label, .ap-legend { font-weight: 600; font-size: 15px; padding: 0; }
fieldset { border: 0; margin: 0; padding: 0; min-width: 0; display: grid; gap: 8px; }
.ap-input { width: 100%; min-height: 48px; border: 1.5px solid var(--ap-muted); border-radius: var(--ap-radius-field); padding: 10px 14px; font: inherit; color: var(--ap-text); background: var(--ap-white); }
.ap-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.ap-pill { position: relative; display: inline-flex; min-height: var(--ap-touch); min-width: var(--ap-touch); }
.ap-pill input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.ap-pill span { display: inline-flex; align-items: center; padding: 8px 18px; border: 1.5px solid var(--ap-muted); border-radius: var(--ap-radius-pill); background: var(--ap-white); font-weight: 600; font-size: 15px; }
.ap-pill input:checked + span { background: var(--ap-green); color: var(--ap-white); border-color: var(--ap-green); }
.ap-pill input:focus-visible + span { outline: 3px solid var(--ap-green); outline-offset: 2px; }
.ap-consent { position: relative; display: flex; align-items: center; gap: 12px; min-height: var(--ap-touch); }
.ap-consent input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.ap-consent .ap-box { flex: none; width: 28px; height: 28px; border: 2px solid var(--ap-muted); border-radius: 8px; background: var(--ap-white); }
.ap-consent input:checked + .ap-box { background: var(--ap-green); border-color: var(--ap-green); box-shadow: inset 0 0 0 5px var(--ap-white); }
.ap-consent input:focus-visible + .ap-box { outline: 3px solid var(--ap-green); outline-offset: 2px; }
.ap-clause { color: var(--ap-muted); font-size: 14px; }
.ap-trap { position: absolute; left: -10000px; }
.ap-nojs, .ap-blad, .ap-sukces { border-radius: var(--ap-radius-field); padding: 14px 16px; }
.ap-nojs { background: var(--ap-surface-hero); border: 1px solid var(--ap-border-soft); }
.ap-blad { background: var(--ap-error-bg); border: 1px solid var(--ap-error); color: var(--ap-error); font-weight: 600; }
.ap-blad a { color: var(--ap-error); }
.ap-sukces { background: var(--ap-surface-hero); border: 1px solid var(--ap-green); color: var(--ap-green-dark); font-weight: 600; }
.ap-nojs a, .ap-blad a { display: inline-flex; align-items: center; min-height: var(--ap-touch); }

.ap-footer { border-top: 1px solid var(--ap-border); padding: 32px 0; background: var(--ap-surface); color: var(--ap-muted); font-size: 15px; }
.ap-footer .ap-wrap { display: grid; gap: 8px; }
.ap-footer a { display: inline-flex; align-items: center; min-height: var(--ap-touch); }
.ap-prose { padding: 48px 0; max-width: 760px; }

@media (max-width: 640px) {
  .ap-row { flex-direction: column; align-items: flex-start; gap: 4px; }
  .ap-row__price { text-align: left; }
}
