/* =========================================================================
   CloudOS — warstwa wygladu 2026 (2026-10-28)
   Ladowana PO style.css na kazdej stronie (prefiks .p-).
   Kierunek: spokojny, redakcyjny uklad. Jednolite kolory marki, prawdziwe
   zdjecia i logotypy, podkreslenie slowa w naglowku (jak dawne <u>).
   Swiadomie BEZ: tekstu w gradiencie, swiecacych plam, siatek i szumu w tle,
   pigulek z kropka, makiet "na zywo", poswiaty pod kursorem.
   ========================================================================= */

:root {
    --p-ink: #0b1220;
    --p-ink-2: #111a2e;
    --p-line: rgba(255, 255, 255, 0.1);
    --p-blue: #0066ff;
    --p-blue-dark: #0052cc;
    --p-teal: #00d4aa;
    --p-ease: cubic-bezier(0.22, 1, 0.36, 1);
    --p-radius: 14px;
    --p-tile-bg: #ffffff;
    --p-tile-border: #e3e8ef;
    --p-tile-text: #4b5563;
    --p-tile-title: #0b1220;
    --p-soft-bg: #f5f7fa;
    --p-label: #0066ff;
}
[data-theme="dark"] {
    --p-tile-bg: #111a2e;
    --p-tile-border: #1f2a40;
    --p-tile-text: #9aa6b8;
    --p-tile-title: #f1f5f9;
    --p-soft-bg: #0d1424;
    --p-label: #6ea2ff;
}

/* ---------- Typografia ---------- */
html { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
h1, h2, h3 { letter-spacing: -0.02em; }
h1 { font-weight: 800; }
::selection { background: rgba(0, 102, 255, 0.2); }

/* Podkreslenie kluczowego slowa — nawiazanie do dotychczasowego <u> na stronie */
.p-mark {
    text-decoration: underline;
    text-decoration-color: var(--p-teal);
    text-decoration-thickness: 0.12em;
    text-underline-offset: 0.14em;
    text-decoration-skip-ink: none;
}

/* Cienki pasek postepu przewijania */
.p-progress {
    position: fixed; top: 0; left: 0; z-index: 10001;
    width: 100%; height: 2px; background: var(--p-blue);
    transform: scaleX(0); transform-origin: 0 50%; pointer-events: none;
}

/* Etykieta sekcji: kreska + tekst, bez pigulki */
.p-label {
    display: flex; align-items: center; gap: 12px; margin-bottom: 1rem;
    color: var(--p-label); font-size: 0.85rem; font-weight: 700; letter-spacing: 0.04em;
}
.p-label::before { content: ""; width: 28px; height: 2px; background: currentColor; }
.p-dark .p-label { color: var(--p-teal); }

/* ---------- Przyciski: jednolite, bez blysku ---------- */
.btn-primary { background: var(--p-blue); box-shadow: none; }
.btn-primary:hover { background: var(--p-blue-dark); box-shadow: none; }
.btn i.fa-arrow-right { transition: transform 0.25s var(--p-ease); }
.btn:hover i.fa-arrow-right { transform: translateX(3px); }
.p-btn-ghost { background: transparent; color: #fff !important; border: 1px solid rgba(255, 255, 255, 0.35); }
.p-btn-ghost:hover { background: rgba(255, 255, 255, 0.08); border-color: rgba(255, 255, 255, 0.6); }

/* ---------- Pojawianie sie: krotko i spokojnie ---------- */
.animate-on-scroll { transition: opacity 0.7s var(--p-ease), transform 0.7s var(--p-ease); }

/* ---------- Sekcje ---------- */
.p-section { padding: clamp(72px, 9vw, 120px) 0; position: relative; }
.p-section-soft { background: var(--p-soft-bg); }
.p-head { max-width: 720px; margin: 0 0 clamp(2.25rem, 4vw, 3.25rem); }
.p-head h2 { font-size: clamp(1.9rem, 3.2vw, 2.75rem); line-height: 1.15; margin: 0 0 1rem; color: var(--p-tile-title); }
.p-head p { color: var(--p-tile-text); font-size: 1.08rem; line-height: 1.7; margin: 0; }
.p-head-row { display: flex; justify-content: space-between; align-items: flex-end; gap: 2rem; margin-bottom: clamp(2.25rem, 4vw, 3.25rem); }
.p-head-row .p-head { margin-bottom: 0; }
.p-head-link { color: var(--p-label); font-weight: 600; white-space: nowrap; text-decoration: none; display: inline-flex; gap: 8px; align-items: center; }
.p-head-link:hover { text-decoration: underline; }

.p-dark { background: var(--p-ink); color: #c4cdda; position: relative; }
.p-dark h1, .p-dark h2, .p-dark h3 { color: #fff; }
.p-dark .p-head h2 { color: #fff; }
.p-dark .p-head p { color: #a7b2c3; }
.p-head .p-label { color: var(--p-label); font-size: 0.85rem; line-height: 1.4; margin: 0 0 1rem; }
.p-dark .p-head .p-label { color: var(--p-teal); }

/* ---------- HERO strony glownej ---------- */
.p-hero { padding: clamp(120px, 14vw, 170px) 0 clamp(56px, 7vw, 90px); }
.p-hero-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); gap: clamp(2.5rem, 5vw, 4.5rem); align-items: center; }
.p-hero h1 { font-size: clamp(2.5rem, 5vw, 4.25rem); line-height: 1.05; margin: 0 0 1.5rem; }
.p-hero-lead { font-size: clamp(1.05rem, 1.35vw, 1.2rem); line-height: 1.7; color: #b3bdcc; max-width: 560px; margin: 0 0 2.25rem; }
.p-hero-cta { display: flex; flex-wrap: wrap; gap: 12px; }
.p-hero .btn, .p-cta .btn, .p-hero-page .btn { width: auto; padding: 14px 28px; font-size: 1rem; }
.p-hero-photo { position: relative; }
.p-hero-photo img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 18px; }
.p-hero-note {
    position: absolute; left: -28px; bottom: 28px;
    background: #fff; color: #0b1220; border-radius: 12px; padding: 16px 20px;
    box-shadow: 0 18px 40px -18px rgba(0, 0, 0, 0.55);
    display: flex; align-items: center; gap: 14px; max-width: 290px;
}
.p-hero-note strong { font-size: 1.9rem; line-height: 1; font-weight: 800; color: var(--p-blue); }
.p-hero-note span { font-size: 0.88rem; line-height: 1.4; color: #4b5563; }
.p-facts { display: flex; flex-wrap: wrap; margin-top: clamp(3rem, 5vw, 4.5rem); border-top: 1px solid var(--p-line); }
.p-fact { flex: 1 1 0; min-width: 160px; padding: 22px 24px 0 0; }
.p-fact + .p-fact { padding-left: 24px; border-left: 1px solid var(--p-line); }
.p-fact strong { display: block; color: #fff; font-size: 1.6rem; font-weight: 800; letter-spacing: -0.02em; }
.p-fact span { color: #8f9bb0; font-size: 0.92rem; }

/* ---------- Pasek logotypow ---------- */
.p-logos { padding: 2.5rem 0; border-bottom: 1px solid var(--p-tile-border); background: var(--p-tile-bg); }
.p-logos-label { color: var(--p-tile-text); font-size: 0.9rem; margin: 0 0 1.25rem; }
.p-marquee { overflow: hidden; display: flex; -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.p-marquee-track { display: flex; align-items: center; gap: 56px; padding-right: 56px; flex-shrink: 0; animation: p-przesuw 50s linear infinite; }
.p-marquee:hover .p-marquee-track { animation-play-state: paused; }
@keyframes p-przesuw { to { transform: translateX(-100%); } }
.p-logo { display: block; opacity: 0.85; transition: opacity 0.25s; }
.p-logo:hover { opacity: 1; }
.p-logo img { display: block; height: 30px; width: auto; max-width: 140px; object-fit: contain; }
[data-theme="dark"] .p-logos .p-logo img { background: #fff; border-radius: 8px; padding: 6px 10px; box-sizing: content-box; }

/* ---------- Siatka uslug ---------- */
.p-bento { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.p-tile {
    display: flex; flex-direction: column;
    padding: 26px; border-radius: var(--p-radius);
    background: var(--p-tile-bg); border: 1px solid var(--p-tile-border);
    color: var(--p-tile-text); text-decoration: none !important;
    transition: border-color 0.25s, transform 0.3s var(--p-ease);
}
a.p-tile:hover { border-color: var(--p-blue); transform: translateY(-3px); }
.p-tile h3 { color: var(--p-tile-title); font-size: 1.15rem; margin: 16px 0 8px; line-height: 1.3; }
.p-tile p { margin: 0; font-size: 0.95rem; line-height: 1.6; color: var(--p-tile-text); }
.p-tile-ico { width: 42px; height: 42px; border-radius: 10px; display: grid; place-items: center; background: rgba(0, 102, 255, 0.08); color: var(--p-blue); font-size: 1.1rem; }
[data-theme="dark"] .p-tile-ico { background: rgba(110, 162, 255, 0.12); color: #8db4ff; }
.p-tile-more { margin-top: auto; padding-top: 18px; display: inline-flex; align-items: center; gap: 8px; color: var(--p-label); font-weight: 600; font-size: 0.9rem; }
.p-tile-more i { transition: transform 0.25s var(--p-ease); }
a.p-tile:hover .p-tile-more i { transform: translateX(3px); }

.p-tile-big { grid-column: span 2; grid-row: span 2; padding: 0; overflow: hidden; }
.p-tile-big .p-tile-body { padding: 32px 32px 0; display: flex; flex-direction: column; flex: 1; }
.p-tile-big .p-tile-more { padding-bottom: 26px; }
.p-tile-big h3 { font-size: clamp(1.5rem, 2.2vw, 1.9rem); margin-top: 0; }
.p-tile-big p { font-size: 1.02rem; }
.p-tile-photo { display: block; width: 100%; height: 190px; object-fit: cover; border-top: 1px solid var(--p-tile-border); }
.p-tile-wide { grid-column: span 2; }

.p-tile-list { list-style: none; margin: 18px 0 0; padding: 0; display: grid; gap: 10px; }
.p-tile-list li { display: flex; align-items: flex-start; gap: 10px; color: var(--p-tile-title); font-size: 0.97rem; line-height: 1.45; }
.p-tile-list li i { flex-shrink: 0; margin-top: 3px; color: var(--p-teal); }

/* Kafel wyrozniony: jednolity granat */
.p-tile-feature { background: var(--p-ink); border-color: var(--p-ink); color: #b3bdcc; }
.p-tile-feature h3 { color: #fff; }
.p-tile-feature p { color: #b3bdcc; }
.p-tile-feature .p-tile-ico { background: rgba(0, 212, 170, 0.12); color: var(--p-teal); }
.p-tile-feature .p-tile-more { color: var(--p-teal); }
a.p-tile-feature:hover { border-color: var(--p-teal); }
[data-theme="dark"] .p-tile-feature { background: #050a14; border-color: #1f2a40; }
.p-tile-new { align-self: flex-start; margin-bottom: 14px; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.04em; color: var(--p-ink); background: var(--p-teal); padding: 3px 9px; border-radius: 6px; }

.p-tile-logos { display: flex; flex-wrap: wrap; align-items: center; gap: 22px; margin-top: 18px; }
.p-tile-logos img { height: 26px; width: auto; }
[data-theme="dark"] .p-tile-logos img { background: #fff; border-radius: 6px; padding: 5px 8px; box-sizing: content-box; }

/* ---------- Proces ---------- */
.p-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--p-tile-border); }
.p-step { padding: 28px 28px 0 0; }
.p-step + .p-step { padding-left: 28px; border-left: 1px solid var(--p-tile-border); }
.p-step-num { display: block; font-size: 0.9rem; font-weight: 700; color: var(--p-label); margin-bottom: 14px; font-variant-numeric: tabular-nums; }
.p-step h3 { color: var(--p-tile-title); font-size: 1.15rem; margin: 0 0 8px; }
.p-step p { color: var(--p-tile-text); font-size: 0.95rem; line-height: 1.6; margin: 0; }

/* ---------- Liczby ---------- */
.p-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.p-stat { padding: 8px 28px; border-left: 1px solid var(--p-line); }
.p-stat:first-child { border-left: 0; padding-left: 0; }
.p-stat-num { font-size: clamp(2.4rem, 4vw, 3.4rem); font-weight: 800; letter-spacing: -0.03em; line-height: 1; color: #fff; }
.p-stat-label { margin-top: 10px; color: #8f9bb0; font-size: 0.95rem; }

/* ---------- Cytat ze zdjeciem ---------- */
.p-quote { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; margin: 0; }
.p-quote-photo img { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; object-position: 50% 30%; border-radius: 18px; }
.p-quote blockquote { margin: 0 0 1.75rem; font-size: clamp(1.3rem, 2.2vw, 1.8rem); line-height: 1.45; font-weight: 600; color: var(--p-tile-title); letter-spacing: -0.015em; }
.p-quote blockquote::before { content: "\201D"; display: block; height: 0.45em; font-size: 4.5rem; line-height: 0.9; color: var(--p-blue); margin-bottom: 0.9rem; font-weight: 800; font-family: Georgia, serif; }
.p-quote-author strong { display: block; color: var(--p-tile-title); font-size: 1.05rem; }
.p-quote-author span { color: var(--p-tile-text); font-size: 0.95rem; }

/* ---------- CTA ---------- */
.p-cta { border-radius: 18px; padding: clamp(40px, 6vw, 72px); display: grid; grid-template-columns: minmax(0, 1.3fr) auto; gap: 2rem; align-items: center; background: var(--p-blue); color: #fff; }
.p-cta h2 { color: #fff; font-size: clamp(1.8rem, 3.2vw, 2.6rem); line-height: 1.15; margin: 0 0 0.75rem; }
.p-cta p { color: rgba(255, 255, 255, 0.88); margin: 0; font-size: 1.08rem; line-height: 1.6; max-width: 560px; }
.p-cta .btn-light { background: #fff; color: var(--p-blue) !important; }
.p-cta .btn-light:hover { background: #eef4ff; }
.p-cta .p-hero-cta { justify-content: flex-end; }

/* ---------- Podstrona: hero ---------- */
.p-hero-page { padding: clamp(130px, 14vw, 170px) 0 clamp(60px, 7vw, 96px); }
.p-hero-page h1 { font-size: clamp(2.3rem, 4.6vw, 3.9rem); line-height: 1.08; max-width: 860px; margin: 0 0 1.5rem; }
.p-hero-page .p-hero-lead { max-width: 680px; }

/* Porownanie */
.p-compare { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.p-compare-col { padding: 30px; border-radius: var(--p-radius); background: var(--p-tile-bg); border: 1px solid var(--p-tile-border); }
.p-compare-col h3 { color: var(--p-tile-title); font-size: 1.2rem; margin: 0 0 18px; }
.p-compare-col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.p-compare-col li { display: flex; gap: 12px; align-items: flex-start; color: var(--p-tile-text); line-height: 1.55; }
.p-compare-col li i { margin-top: 4px; flex-shrink: 0; }
.p-compare-old li i { color: #9aa6b8; }
.p-compare-new { background: var(--p-ink); border-color: var(--p-ink); }
.p-compare-new h3 { color: #fff; }
.p-compare-new li { color: #c4cdda; }
.p-compare-new li i { color: var(--p-teal); }
[data-theme="dark"] .p-compare-new { background: #050a14; border-color: #1f2a40; }

/* Lista zabezpieczen (na ciemnym tle) */
.p-checks { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--p-line); }
.p-check { padding: 28px 28px 28px 0; border-bottom: 1px solid var(--p-line); }
.p-check:not(:nth-child(3n+1)) { padding-left: 28px; border-left: 1px solid var(--p-line); }
.p-check-ico { color: var(--p-teal); font-size: 1.25rem; margin-bottom: 14px; display: block; }
.p-check h3 { font-size: 1.08rem; margin: 0 0 6px; }
.p-check p { margin: 0; font-size: 0.94rem; line-height: 1.6; color: #a7b2c3; }

/* FAQ */
.p-faq { max-width: 860px; border-top: 1px solid var(--p-tile-border); }
.p-faq details { border-bottom: 1px solid var(--p-tile-border); }
.p-faq summary { list-style: none; cursor: pointer; padding: 22px 0; display: flex; justify-content: space-between; align-items: center; gap: 16px; color: var(--p-tile-title); font-weight: 600; font-size: 1.08rem; }
.p-faq summary::-webkit-details-marker { display: none; }
.p-faq summary i { flex-shrink: 0; color: var(--p-label); transition: transform 0.3s var(--p-ease); }
.p-faq details[open] summary i { transform: rotate(45deg); }
.p-faq details p { margin: 0 0 22px; color: var(--p-tile-text); line-height: 1.7; max-width: 760px; }

/* ---------- Naglowki podstron: bez animowanej sieci kropek, jednolity granat ---------- */
.page-hero { background: var(--p-ink); }
.page-hero canvas, .page-hero .page-hero-overlay { display: none; }

/* ---------- Formularz i stopka ---------- */
.section-contact input, .section-contact textarea { transition: border-color 0.2s, box-shadow 0.2s; }
.section-contact input:focus, .section-contact textarea:focus { border-color: var(--p-blue) !important; box-shadow: 0 0 0 3px rgba(0, 102, 255, 0.12) !important; outline: none; }
.footer { background: var(--p-ink); }

/* ---------- Responsywnosc ---------- */
@media (max-width: 1080px) {
    .p-hero-grid { grid-template-columns: 1fr; }
    .p-hero-photo { max-width: 620px; }
    .p-hero-note { left: 16px; }
    .p-bento { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .p-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 0; }
    .p-step, .p-step + .p-step { padding: 24px 24px 24px 0; border-left: 0; border-top: 1px solid var(--p-tile-border); }
    .p-step:nth-child(2n) { padding-left: 24px; border-left: 1px solid var(--p-tile-border); }
    .p-checks { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .p-check, .p-check:not(:nth-child(3n+1)) { padding: 24px 24px 24px 0; border-left: 0; }
    .p-check:nth-child(2n) { padding-left: 24px; border-left: 1px solid var(--p-line); }
    .p-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 32px; }
    .p-stat:nth-child(3) { border-left: 0; padding-left: 0; }
    .p-quote { grid-template-columns: minmax(0, 0.7fr) minmax(0, 1.3fr); }
    .p-cta { grid-template-columns: 1fr; }
    .p-cta .p-hero-cta { justify-content: flex-start; }
}
@media (max-width: 640px) {
    .p-hero-cta { flex-direction: column; align-items: stretch; }
    .p-hero .btn, .p-cta .btn, .p-hero-page .btn { width: 100%; }
    .p-hero-note { position: relative; left: auto; bottom: auto; margin: -36px 16px 0; max-width: none; }
    .p-fact { flex: 1 1 50%; min-width: 0; padding: 18px 12px 0 0; }
    .p-fact + .p-fact { padding-left: 12px; }
    .p-fact:nth-child(3) { border-left: 0; padding-left: 0; }
    .p-bento, .p-compare, .p-steps, .p-checks { grid-template-columns: 1fr; }
    .p-tile-big, .p-tile-wide { grid-column: span 1; grid-row: span 1; }
    .p-tile-big .p-tile-body { padding: 24px 24px 0; }
    .p-tile { padding: 24px; }
    .p-tile-big { padding: 0; }
    .p-step, .p-step + .p-step, .p-step:nth-child(2n) { padding: 22px 0; border-left: 0; }
    .p-check, .p-check:not(:nth-child(3n+1)), .p-check:nth-child(2n) { padding: 22px 0; border-left: 0; }
    .p-stat { padding: 0 12px; }
    .p-stat:nth-child(odd) { border-left: 0; padding-left: 0; }
    .p-quote { grid-template-columns: 1fr; }
    .p-quote-photo { max-width: 220px; }
    .p-head-row { flex-direction: column; align-items: flex-start; }
}

/* =========================================================================
   Opowiesc przy przewijaniu (2026-10-28, runda 2)
   Elementy powoli wjezdzaja przy przewijaniu, zdjecia odslaniaja sie
   kurtyna, tekst wstepu "zapala sie" slowo po slowie, proces jedzie w poziomie.
   Klasy .is-in nadaje premium.js (IntersectionObserver).
   ========================================================================= */

/* Wjazd elementow: domyslnie z dolu, data-dir="left|right" z boku, --d = opoznienie */
.p-reveal {
    opacity: 0;
    transform: translate3d(0, 56px, 0);
    transition: opacity 1.1s var(--p-ease), transform 1.3s var(--p-ease);
    transition-delay: var(--d, 0s);
    will-change: opacity, transform;
}
.p-reveal[data-dir="left"] { transform: translate3d(-80px, 0, 0); }
.p-reveal[data-dir="right"] { transform: translate3d(80px, 0, 0); }
.p-reveal[data-dir="zoom"] { transform: scale(0.94); }
.p-reveal.is-in { opacity: 1; transform: none; }

/* Zdjecie odslaniane kurtyna + lekki ruch wewnatrz (parallax) */
.p-wipe {
    position: relative; overflow: hidden; border-radius: 18px;
    clip-path: inset(0 100% 0 0 round 18px);
    transition: clip-path 1.6s cubic-bezier(0.77, 0, 0.18, 1);
    transition-delay: var(--d, 0s);
    background: #0b1220;
}
.p-wipe[data-dir="right"] { clip-path: inset(0 0 0 100% round 18px); }
.p-wipe.is-in { clip-path: inset(0 0 0 0 round 18px); }
.p-wipe-in { position: absolute; left: 0; right: 0; top: -9%; bottom: -9%; transform: translate3d(0, var(--py, 0px), 0); }
.p-wipe img { display: block; width: 100%; height: 100%; object-fit: cover; transform: scale(1.16); transition: transform 2s var(--p-ease); transition-delay: var(--d, 0s); }
.p-wipe.is-in img { transform: scale(1.02); }

/* Naglowek z wjezdzajacymi liniami */
.p-lines { display: block; }
.p-line { display: block; overflow: hidden; padding-bottom: 0.08em; margin-bottom: -0.08em; }
.p-line > span { display: inline-block; transform: translate3d(0, 105%, 0); transition: transform 1.2s var(--p-ease); transition-delay: var(--d, 0s); }
.is-in .p-line > span, .p-line.is-in > span { transform: none; }

/* ---------- HERO pelnoekranowe ---------- */
/* Pierwszy ekran: wjazd na czystym CSS, bez czekania na skrypt */
.p-load { animation: p-wjazd 1.2s var(--p-ease) var(--d, 0s) both; }
.p-lines-load .p-line > span { animation: p-linia 1.2s var(--p-ease) var(--d, 0s) both; transform: none; }
@keyframes p-wjazd { from { opacity: 0; transform: translate3d(0, 40px, 0); } to { opacity: 1; transform: none; } }
@keyframes p-linia { from { transform: translate3d(0, 105%, 0); } to { transform: none; } }
.p-hero-full { min-height: 100svh; display: flex; align-items: center; position: relative; overflow: hidden; padding: 130px 0 110px; }
.p-hero-full .container { position: relative; z-index: 2; width: 100%; }
.p-hero-bg { position: absolute; inset: 0; z-index: 0; }
.p-hero-bg img { position: absolute; right: 0; top: 0; width: 58%; height: 115%; object-fit: cover; transform: translate3d(0, var(--py, 0px), 0) scale(var(--ps, 1.08)); transition: transform 0.2s linear; }
.p-hero-bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, #0b1220 0%, #0b1220 42%, rgba(11, 18, 32, 0.55) 70%, rgba(11, 18, 32, 0.25) 100%); }
.p-hero-full h1 { font-size: clamp(2.8rem, 6.4vw, 5.6rem); line-height: 1.02; margin: 0 0 1.75rem; max-width: 820px; }
.p-hero-full .p-hero-lead { max-width: 560px; }
.p-hero-full .btn { width: auto; padding: 15px 30px; font-size: 1rem; }
.p-scroll-hint { position: absolute; left: 50%; bottom: 28px; transform: translateX(-50%); z-index: 2; display: flex; flex-direction: column; align-items: center; gap: 10px; color: #8f9bb0; font-size: 0.78rem; letter-spacing: 0.12em; text-transform: uppercase; }
.p-scroll-hint::after { content: ""; width: 1px; height: 44px; background: linear-gradient(#8f9bb0, transparent); transform-origin: top; animation: p-zjazd 2.2s var(--p-ease) infinite; }
@keyframes p-zjazd { 0% { transform: scaleY(0); opacity: 1; } 70% { transform: scaleY(1); opacity: 1; } 100% { transform: scaleY(1); opacity: 0; } }

/* ---------- Wstep: slowa zapalaja sie przy przewijaniu ---------- */
.p-intro { padding: clamp(90px, 13vw, 180px) 0; }
.p-words { font-size: clamp(1.7rem, 3.6vw, 3.1rem); line-height: 1.3; font-weight: 700; letter-spacing: -0.02em; max-width: 1040px; margin: 0; color: var(--p-tile-title); }
.p-words .w { opacity: 0.16; transition: opacity 0.35s ease; }
.p-words .w.on { opacity: 1; }
.p-words .w.p-hl { color: var(--p-blue); }
[data-theme="dark"] .p-words .w.p-hl { color: #6ea2ff; }

/* ---------- Rozdzialy uslug ---------- */
.p-chapters { padding: 0 0 clamp(60px, 8vw, 110px); }
.p-chapter { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: clamp(2.5rem, 6vw, 6rem); align-items: center; padding: clamp(44px, 6vw, 80px) 0; }
.p-chapter:nth-child(even) .p-chapter-media { order: 2; }
.p-chapter-media .p-wipe { aspect-ratio: 4 / 3; }
.p-chapter-num { display: flex; align-items: center; gap: 14px; color: var(--p-label); font-weight: 700; font-size: 0.95rem; margin-bottom: 1.1rem; font-variant-numeric: tabular-nums; }
.p-chapter-num::after { content: ""; height: 1px; width: 64px; background: currentColor; opacity: 0.5; }
.p-chapter h3 { font-size: clamp(1.9rem, 3.4vw, 2.9rem); line-height: 1.1; margin: 0 0 1.1rem; color: var(--p-tile-title); }
.p-chapter-text > p { font-size: 1.1rem; line-height: 1.75; color: var(--p-tile-text); margin: 0 0 1.5rem; }
.p-chapter ul { list-style: none; margin: 0 0 1.75rem; padding: 0; display: grid; gap: 12px; }
.p-chapter li { display: flex; gap: 12px; align-items: flex-start; color: var(--p-tile-title); line-height: 1.5; }
.p-chapter li i { color: var(--p-teal); margin-top: 4px; flex-shrink: 0; }
.p-chapter-link { display: inline-flex; align-items: center; gap: 10px; font-weight: 700; color: var(--p-label); text-decoration: none; border-bottom: 2px solid currentColor; padding-bottom: 4px; }
.p-chapter-link i { transition: transform 0.3s var(--p-ease); }
.p-chapter-link:hover i { transform: translateX(4px); }
.p-chapter-logos { display: flex; flex-wrap: wrap; gap: 20px; align-items: center; margin: 0 0 1.75rem; }
.p-chapter-logos img { height: 28px; width: auto; }
[data-theme="dark"] .p-chapter-logos img { background: #fff; border-radius: 6px; padding: 5px 8px; box-sizing: content-box; }
.p-chapter-new { display: inline-block; margin-left: 10px; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.05em; color: #0b1220; background: var(--p-teal); padding: 3px 8px; border-radius: 6px; vertical-align: middle; }

/* Rozdzial wyrozniony (aplikacje AI) na granacie, na pelna szerokosc */
.p-chapter-band { background: var(--p-ink); }
.p-chapter-band .p-chapter h3 { color: #fff; }
.p-chapter-band .p-chapter-text > p { color: #b3bdcc; }
.p-chapter-band .p-chapter li { color: #e2e8f0; }
.p-chapter-band .p-chapter-num, .p-chapter-band .p-chapter-link { color: var(--p-teal); }

/* Pozostale uslugi: trzy karty */
.p-more { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.p-more a { display: block; padding: 30px; border-radius: var(--p-radius); border: 1px solid var(--p-tile-border); background: var(--p-tile-bg); text-decoration: none !important; transition: border-color 0.25s, transform 0.4s var(--p-ease); }
.p-more a:hover { border-color: var(--p-blue); transform: translateY(-4px); }
.p-more h3 { color: var(--p-tile-title); font-size: 1.2rem; margin: 14px 0 8px; }
.p-more p { color: var(--p-tile-text); margin: 0 0 16px; line-height: 1.6; font-size: 0.97rem; }
.p-more .p-tile-more { padding-top: 0; }

/* ---------- Proces jadacy w poziomie ---------- */
.p-hscroll { position: relative; background: var(--p-soft-bg); }
.p-hscroll-sticky { position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; justify-content: center; overflow: hidden; }
.p-hscroll-track { display: flex; gap: 24px; padding: 0 max(24px, calc((100vw - 1200px) / 2 + 24px)); will-change: transform; }
.p-hcard { flex: 0 0 min(500px, 78vw); min-height: 360px; padding: 40px; border-radius: 20px; background: var(--p-tile-bg); border: 1px solid var(--p-tile-border); display: flex; flex-direction: column; }
.p-hcard-num { font-size: 4.5rem; font-weight: 800; line-height: 1; letter-spacing: -0.04em; color: var(--p-blue); margin-bottom: auto; }
.p-hcard h3 { font-size: 1.6rem; margin: 28px 0 10px; color: var(--p-tile-title); }
.p-hcard p { margin: 0; color: var(--p-tile-text); line-height: 1.65; font-size: 1.02rem; }
.p-hcard-dark { background: var(--p-ink); border-color: var(--p-ink); }
.p-hcard-dark h3 { color: #fff; }
.p-hcard-dark p { color: #b3bdcc; }
.p-hcard-dark .p-hcard-num { color: var(--p-teal); }
.p-hscroll-head { padding: 0 max(24px, calc((100vw - 1200px) / 2 + 24px)); margin-bottom: 2.5rem; }
.p-hscroll-head h2 { font-size: clamp(1.9rem, 3.2vw, 2.75rem); margin: 0; color: var(--p-tile-title); }
.p-hscroll-bar { margin: 2.5rem max(24px, calc((100vw - 1200px) / 2 + 24px)) 0; height: 2px; background: var(--p-tile-border); position: relative; }
.p-hscroll-bar span { position: absolute; inset: 0; background: var(--p-blue); transform-origin: 0 50%; transform: scaleX(var(--hp, 0)); }
/* Bez JS / telefon / ograniczony ruch: zwykla lista */
.p-hscroll.is-static .p-hscroll-sticky { position: static; height: auto; padding: clamp(70px, 9vw, 110px) 0; }
.p-hscroll.is-static .p-hscroll-track { flex-direction: column; padding: 0 24px; transform: none !important; }
.p-hscroll.is-static .p-hcard { flex: none; min-height: 0; }
.p-hscroll.is-static .p-hcard-num { font-size: 3rem; margin-bottom: 0; }
.p-hscroll.is-static .p-hscroll-bar { display: none; }

/* Elementy czekajace z boku nie moga rozpychac strony w poziomie (clip nie psuje sticky) */
.p-chapters, .p-section, .p-intro, .section { overflow-x: clip; }

/* ---------- Podstrony: bloki tekst+zdjecie wjezdzaja z przeciwnych stron ---------- */
.row > .col-half.animate-on-scroll:first-child { transform: translate3d(-70px, 0, 0); }
.row > .col-half.animate-on-scroll:last-child { transform: translate3d(70px, 0, 0); transition-delay: 0.15s; }
.animate-on-scroll { transition-duration: 1.1s, 1.2s; }
.row-reverse > .col-half.animate-on-scroll:first-child { transform: translate3d(70px, 0, 0); }
.row-reverse > .col-half.animate-on-scroll:last-child { transform: translate3d(-70px, 0, 0); }
.row > .col-half.animate-on-scroll.visible { transform: none; }
.section-image { transition: transform 1.2s var(--p-ease); }
.animate-on-scroll:not(.visible) .section-image { transform: scale(1.06); }

@media (max-width: 991px) {
    .p-hero-bg img { width: 100%; opacity: 0.35; }
    .p-hero-bg::after { background: linear-gradient(180deg, rgba(11, 18, 32, 0.6), #0b1220 85%); }
    .p-chapter { grid-template-columns: 1fr; gap: 2rem; }
    .p-chapter:nth-child(even) .p-chapter-media { order: 0; }
    .p-more { grid-template-columns: 1fr; }
    .row > .col-half.animate-on-scroll:first-child, .row > .col-half.animate-on-scroll:last-child { transform: translate3d(0, 40px, 0); }
}
@media (max-width: 640px) {
    .p-hero-full { min-height: 0; padding: 120px 0 90px; }
    .p-hero-full h1 { font-size: 2.35rem; }
    .p-hero-full .btn { width: 100%; }
    .p-scroll-hint { display: none; }
    .p-reveal[data-dir="left"], .p-reveal[data-dir="right"] { transform: translate3d(0, 48px, 0); }
    .p-hcard { padding: 28px; }
}
@media (prefers-reduced-motion: reduce) {
    .p-scroll-hint::after { animation: none; }
}

/* Ikony dodane 2026-10-28 (Font Awesome 6 Free, solid; MIT / CC BY 4.0) */
.fa-search{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z'/%3E%3C/svg%3E");}
.fa-headset{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M256 48C141.1 48 48 141.1 48 256l0 40c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-40C0 114.6 114.6 0 256 0S512 114.6 512 256l0 144.1c0 48.6-39.4 88-88.1 88L313.6 488c-8.3 14.3-23.8 24-41.6 24l-32 0c-26.5 0-48-21.5-48-48s21.5-48 48-48l32 0c17.8 0 33.3 9.7 41.6 24l110.4 .1c22.1 0 40-17.9 40-40L464 256c0-114.9-93.1-208-208-208zM144 208l16 0c17.7 0 32 14.3 32 32l0 112c0 17.7-14.3 32-32 32l-16 0c-35.3 0-64-28.7-64-64l0-48c0-35.3 28.7-64 64-64zm224 0c35.3 0 64 28.7 64 64l0 48c0 35.3-28.7 64-64 64l-16 0c-17.7 0-32-14.3-32-32l0-112c0-17.7 14.3-32 32-32l16 0z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M256 48C141.1 48 48 141.1 48 256l0 40c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-40C0 114.6 114.6 0 256 0S512 114.6 512 256l0 144.1c0 48.6-39.4 88-88.1 88L313.6 488c-8.3 14.3-23.8 24-41.6 24l-32 0c-26.5 0-48-21.5-48-48s21.5-48 48-48l32 0c17.8 0 33.3 9.7 41.6 24l110.4 .1c22.1 0 40-17.9 40-40L464 256c0-114.9-93.1-208-208-208zM144 208l16 0c17.7 0 32 14.3 32 32l0 112c0 17.7-14.3 32-32 32l-16 0c-35.3 0-64-28.7-64-64l0-48c0-35.3 28.7-64 64-64zm224 0c35.3 0 64 28.7 64 64l0 48c0 35.3-28.7 64-64 64l-16 0c-17.7 0-32-14.3-32-32l0-112c0-17.7 14.3-32 32-32l16 0z'/%3E%3C/svg%3E");}
.fa-gauge-high{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM288 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM256 416c35.3 0 64-28.7 64-64c0-17.4-6.9-33.1-18.1-44.6L366 161.7c5.3-12.1-.2-26.3-12.3-31.6s-26.3 .2-31.6 12.3L257.9 288c-.6 0-1.3 0-1.9 0c-35.3 0-64 28.7-64 64s28.7 64 64 64zM176 144a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM96 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm352-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM288 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM256 416c35.3 0 64-28.7 64-64c0-17.4-6.9-33.1-18.1-44.6L366 161.7c5.3-12.1-.2-26.3-12.3-31.6s-26.3 .2-31.6 12.3L257.9 288c-.6 0-1.3 0-1.9 0c-35.3 0-64 28.7-64 64s28.7 64 64 64zM176 144a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM96 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm352-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z'/%3E%3C/svg%3E");}
.fa-shield-halved{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M256 0c4.6 0 9.2 1 13.4 2.9L457.7 82.8c22 9.3 38.4 31 38.3 57.2c-.5 99.2-41.3 280.7-213.6 363.2c-16.7 8-36.1 8-52.8 0C57.3 420.7 16.5 239.2 16 140c-.1-26.2 16.3-47.9 38.3-57.2L242.7 2.9C246.8 1 251.4 0 256 0zm0 66.8l0 378.1C394 378 431.1 230.1 432 141.4L256 66.8s0 0 0 0z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M256 0c4.6 0 9.2 1 13.4 2.9L457.7 82.8c22 9.3 38.4 31 38.3 57.2c-.5 99.2-41.3 280.7-213.6 363.2c-16.7 8-36.1 8-52.8 0C57.3 420.7 16.5 239.2 16 140c-.1-26.2 16.3-47.9 38.3-57.2L242.7 2.9C246.8 1 251.4 0 256 0zm0 66.8l0 378.1C394 378 431.1 230.1 432 141.4L256 66.8s0 0 0 0z'/%3E%3C/svg%3E");}
.fa-shield-alt{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M256 0c4.6 0 9.2 1 13.4 2.9L457.7 82.8c22 9.3 38.4 31 38.3 57.2c-.5 99.2-41.3 280.7-213.6 363.2c-16.7 8-36.1 8-52.8 0C57.3 420.7 16.5 239.2 16 140c-.1-26.2 16.3-47.9 38.3-57.2L242.7 2.9C246.8 1 251.4 0 256 0zm0 66.8l0 378.1C394 378 431.1 230.1 432 141.4L256 66.8s0 0 0 0z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M256 0c4.6 0 9.2 1 13.4 2.9L457.7 82.8c22 9.3 38.4 31 38.3 57.2c-.5 99.2-41.3 280.7-213.6 363.2c-16.7 8-36.1 8-52.8 0C57.3 420.7 16.5 239.2 16 140c-.1-26.2 16.3-47.9 38.3-57.2L242.7 2.9C246.8 1 251.4 0 256 0zm0 66.8l0 378.1C394 378 431.1 230.1 432 141.4L256 66.8s0 0 0 0z'/%3E%3C/svg%3E");}
.fa-clock{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zM232 120l0 136c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2 280 120c0-13.3-10.7-24-24-24s-24 10.7-24 24z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zM232 120l0 136c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2 280 120c0-13.3-10.7-24-24-24s-24 10.7-24 24z'/%3E%3C/svg%3E");}
.fa-handshake{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath fill='%23000' d='M323.4 85.2l-96.8 78.4c-16.1 13-19.2 36.4-7 53.1c12.9 17.8 38 21.3 55.3 7.8l99.3-77.2c7-5.4 17-4.2 22.5 2.8s4.2 17-2.8 22.5l-20.9 16.2L512 316.8 512 128l-.7 0-3.9-2.5L434.8 79c-15.3-9.8-33.2-15-51.4-15c-21.8 0-43 7.5-60 21.2zm22.8 124.4l-51.7 40.2C263 274.4 217.3 268 193.7 235.6c-22.2-30.5-16.6-73.1 12.7-96.8l83.2-67.3c-11.6-4.9-24.1-7.4-36.8-7.4C234 64 215.7 69.6 200 80l-72 48 0 224 28.2 0 91.4 83.4c19.6 17.9 49.9 16.5 67.8-3.1c5.5-6.1 9.2-13.2 11.1-20.6l17 15.6c19.5 17.9 49.9 16.6 67.8-2.9c4.5-4.9 7.8-10.6 9.9-16.5c19.4 13 45.8 10.3 62.1-7.5c17.9-19.5 16.6-49.9-2.9-67.8l-134.2-123zM16 128c-8.8 0-16 7.2-16 16L0 352c0 17.7 14.3 32 32 32l32 0c17.7 0 32-14.3 32-32l0-224-80 0zM48 320a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM544 128l0 224c0 17.7 14.3 32 32 32l32 0c17.7 0 32-14.3 32-32l0-208c0-8.8-7.2-16-16-16l-80 0zm32 208a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath fill='%23000' d='M323.4 85.2l-96.8 78.4c-16.1 13-19.2 36.4-7 53.1c12.9 17.8 38 21.3 55.3 7.8l99.3-77.2c7-5.4 17-4.2 22.5 2.8s4.2 17-2.8 22.5l-20.9 16.2L512 316.8 512 128l-.7 0-3.9-2.5L434.8 79c-15.3-9.8-33.2-15-51.4-15c-21.8 0-43 7.5-60 21.2zm22.8 124.4l-51.7 40.2C263 274.4 217.3 268 193.7 235.6c-22.2-30.5-16.6-73.1 12.7-96.8l83.2-67.3c-11.6-4.9-24.1-7.4-36.8-7.4C234 64 215.7 69.6 200 80l-72 48 0 224 28.2 0 91.4 83.4c19.6 17.9 49.9 16.5 67.8-3.1c5.5-6.1 9.2-13.2 11.1-20.6l17 15.6c19.5 17.9 49.9 16.6 67.8-2.9c4.5-4.9 7.8-10.6 9.9-16.5c19.4 13 45.8 10.3 62.1-7.5c17.9-19.5 16.6-49.9-2.9-67.8l-134.2-123zM16 128c-8.8 0-16 7.2-16 16L0 352c0 17.7 14.3 32 32 32l32 0c17.7 0 32-14.3 32-32l0-224-80 0zM48 320a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM544 128l0 224c0 17.7 14.3 32 32 32l32 0c17.7 0 32-14.3 32-32l0-208c0-8.8-7.2-16-16-16l-80 0zm32 208a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z'/%3E%3C/svg%3E");}
.fa-plus{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23000' d='M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 144L48 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l144 0 0 144c0 17.7 14.3 32 32 32s32-14.3 32-32l0-144 144 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-144 0 0-144z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23000' d='M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 144L48 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l144 0 0 144c0 17.7 14.3 32 32 32s32-14.3 32-32l0-144 144 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-144 0 0-144z'/%3E%3C/svg%3E");}
.fa-quote-left{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23000' d='M0 216C0 149.7 53.7 96 120 96l8 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-8 0c-30.9 0-56 25.1-56 56l0 8 64 0c35.3 0 64 28.7 64 64l0 64c0 35.3-28.7 64-64 64l-64 0c-35.3 0-64-28.7-64-64l0-32 0-32 0-72zm256 0c0-66.3 53.7-120 120-120l8 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-8 0c-30.9 0-56 25.1-56 56l0 8 64 0c35.3 0 64 28.7 64 64l0 64c0 35.3-28.7 64-64 64l-64 0c-35.3 0-64-28.7-64-64l0-32 0-32 0-72z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23000' d='M0 216C0 149.7 53.7 96 120 96l8 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-8 0c-30.9 0-56 25.1-56 56l0 8 64 0c35.3 0 64 28.7 64 64l0 64c0 35.3-28.7 64-64 64l-64 0c-35.3 0-64-28.7-64-64l0-32 0-32 0-72zm256 0c0-66.3 53.7-120 120-120l8 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-8 0c-30.9 0-56 25.1-56 56l0 8 64 0c35.3 0 64 28.7 64 64l0 64c0 35.3-28.7 64-64 64l-64 0c-35.3 0-64-28.7-64-64l0-32 0-32 0-72z'/%3E%3C/svg%3E");}
.fa-fingerprint{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M48 256C48 141.1 141.1 48 256 48c63.1 0 119.6 28.1 157.8 72.5c8.6 10.1 23.8 11.2 33.8 2.6s11.2-23.8 2.6-33.8C403.3 34.6 333.7 0 256 0C114.6 0 0 114.6 0 256l0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40zm458.5-52.9c-2.7-13-15.5-21.3-28.4-18.5s-21.3 15.5-18.5 28.4c2.9 13.9 4.5 28.3 4.5 43.1l0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40c0-18.1-1.9-35.8-5.5-52.9zM256 80c-19 0-37.4 3-54.5 8.6c-15.2 5-18.7 23.7-8.3 35.9c7.1 8.3 18.8 10.8 29.4 7.9c10.6-2.9 21.8-4.4 33.4-4.4c70.7 0 128 57.3 128 128l0 24.9c0 25.2-1.5 50.3-4.4 75.3c-1.7 14.6 9.4 27.8 24.2 27.8c11.8 0 21.9-8.6 23.3-20.3c3.3-27.4 5-55 5-82.7l0-24.9c0-97.2-78.8-176-176-176zM150.7 148.7c-9.1-10.6-25.3-11.4-33.9-.4C93.7 178 80 215.4 80 256l0 24.9c0 24.2-2.6 48.4-7.8 71.9C68.8 368.4 80.1 384 96.1 384c10.5 0 19.9-7 22.2-17.3c6.4-28.1 9.7-56.8 9.7-85.8l0-24.9c0-27.2 8.5-52.4 22.9-73.1c7.2-10.4 8-24.6-.2-34.2zM256 160c-53 0-96 43-96 96l0 24.9c0 35.9-4.6 71.5-13.8 106.1c-3.8 14.3 6.7 29 21.5 29c9.5 0 17.9-6.2 20.4-15.4c10.5-39 15.9-79.2 15.9-119.7l0-24.9c0-28.7 23.3-52 52-52s52 23.3 52 52l0 24.9c0 36.3-3.5 72.4-10.4 107.9c-2.7 13.9 7.7 27.2 21.8 27.2c10.2 0 19-7 21-17c7.7-38.8 11.6-78.3 11.6-118.1l0-24.9c0-53-43-96-96-96zm24 96c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 24.9c0 59.9-11 119.3-32.5 175.2l-5.9 15.3c-4.8 12.4 1.4 26.3 13.8 31s26.3-1.4 31-13.8l5.9-15.3C267.9 411.9 280 346.7 280 280.9l0-24.9z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M48 256C48 141.1 141.1 48 256 48c63.1 0 119.6 28.1 157.8 72.5c8.6 10.1 23.8 11.2 33.8 2.6s11.2-23.8 2.6-33.8C403.3 34.6 333.7 0 256 0C114.6 0 0 114.6 0 256l0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40zm458.5-52.9c-2.7-13-15.5-21.3-28.4-18.5s-21.3 15.5-18.5 28.4c2.9 13.9 4.5 28.3 4.5 43.1l0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40c0-18.1-1.9-35.8-5.5-52.9zM256 80c-19 0-37.4 3-54.5 8.6c-15.2 5-18.7 23.7-8.3 35.9c7.1 8.3 18.8 10.8 29.4 7.9c10.6-2.9 21.8-4.4 33.4-4.4c70.7 0 128 57.3 128 128l0 24.9c0 25.2-1.5 50.3-4.4 75.3c-1.7 14.6 9.4 27.8 24.2 27.8c11.8 0 21.9-8.6 23.3-20.3c3.3-27.4 5-55 5-82.7l0-24.9c0-97.2-78.8-176-176-176zM150.7 148.7c-9.1-10.6-25.3-11.4-33.9-.4C93.7 178 80 215.4 80 256l0 24.9c0 24.2-2.6 48.4-7.8 71.9C68.8 368.4 80.1 384 96.1 384c10.5 0 19.9-7 22.2-17.3c6.4-28.1 9.7-56.8 9.7-85.8l0-24.9c0-27.2 8.5-52.4 22.9-73.1c7.2-10.4 8-24.6-.2-34.2zM256 160c-53 0-96 43-96 96l0 24.9c0 35.9-4.6 71.5-13.8 106.1c-3.8 14.3 6.7 29 21.5 29c9.5 0 17.9-6.2 20.4-15.4c10.5-39 15.9-79.2 15.9-119.7l0-24.9c0-28.7 23.3-52 52-52s52 23.3 52 52l0 24.9c0 36.3-3.5 72.4-10.4 107.9c-2.7 13.9 7.7 27.2 21.8 27.2c10.2 0 19-7 21-17c7.7-38.8 11.6-78.3 11.6-118.1l0-24.9c0-53-43-96-96-96zm24 96c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 24.9c0 59.9-11 119.3-32.5 175.2l-5.9 15.3c-4.8 12.4 1.4 26.3 13.8 31s26.3-1.4 31-13.8l5.9-15.3C267.9 411.9 280 346.7 280 280.9l0-24.9z'/%3E%3C/svg%3E");}
.fa-clipboard-check{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath fill='%23000' d='M192 0c-41.8 0-77.4 26.7-90.5 64L64 64C28.7 64 0 92.7 0 128L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64l-37.5 0C269.4 26.7 233.8 0 192 0zm0 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM305 273L177 401c-9.4 9.4-24.6 9.4-33.9 0L79 337c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L271 239c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath fill='%23000' d='M192 0c-41.8 0-77.4 26.7-90.5 64L64 64C28.7 64 0 92.7 0 128L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64l-37.5 0C269.4 26.7 233.8 0 192 0zm0 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM305 273L177 401c-9.4 9.4-24.6 9.4-33.9 0L79 337c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L271 239c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z'/%3E%3C/svg%3E");}
.fa-laptop-code{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath fill='%23000' d='M64 96c0-35.3 28.7-64 64-64l384 0c35.3 0 64 28.7 64 64l0 256-64 0 0-256L128 96l0 256-64 0L64 96zM0 403.2C0 392.6 8.6 384 19.2 384l601.6 0c10.6 0 19.2 8.6 19.2 19.2c0 42.4-34.4 76.8-76.8 76.8L76.8 480C34.4 480 0 445.6 0 403.2zM281 209l-31 31 31 31c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-48-48c-9.4-9.4-9.4-24.6 0-33.9l48-48c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9zM393 175l48 48c9.4 9.4 9.4 24.6 0 33.9l-48 48c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l31-31-31-31c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath fill='%23000' d='M64 96c0-35.3 28.7-64 64-64l384 0c35.3 0 64 28.7 64 64l0 256-64 0 0-256L128 96l0 256-64 0L64 96zM0 403.2C0 392.6 8.6 384 19.2 384l601.6 0c10.6 0 19.2 8.6 19.2 19.2c0 42.4-34.4 76.8-76.8 76.8L76.8 480C34.4 480 0 445.6 0 403.2zM281 209l-31 31 31 31c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-48-48c-9.4-9.4-9.4-24.6 0-33.9l48-48c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9zM393 175l48 48c9.4 9.4 9.4 24.6 0 33.9l-48 48c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l31-31-31-31c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0z'/%3E%3C/svg%3E");}
.fa-microchip{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M176 24c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40c-35.3 0-64 28.7-64 64l-40 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l40 0 0 56-40 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l40 0 0 56-40 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l40 0c0 35.3 28.7 64 64 64l0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40 56 0 0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40 56 0 0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40c35.3 0 64-28.7 64-64l40 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-40 0 0-56 40 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-40 0 0-56 40 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-40 0c0-35.3-28.7-64-64-64l0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40-56 0 0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40-56 0 0-40zM160 128l192 0c17.7 0 32 14.3 32 32l0 192c0 17.7-14.3 32-32 32l-192 0c-17.7 0-32-14.3-32-32l0-192c0-17.7 14.3-32 32-32zm192 32l-192 0 0 192 192 0 0-192z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M176 24c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40c-35.3 0-64 28.7-64 64l-40 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l40 0 0 56-40 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l40 0 0 56-40 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l40 0c0 35.3 28.7 64 64 64l0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40 56 0 0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40 56 0 0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40c35.3 0 64-28.7 64-64l40 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-40 0 0-56 40 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-40 0 0-56 40 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-40 0c0-35.3-28.7-64-64-64l0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40-56 0 0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40-56 0 0-40zM160 128l192 0c17.7 0 32 14.3 32 32l0 192c0 17.7-14.3 32-32 32l-192 0c-17.7 0-32-14.3-32-32l0-192c0-17.7 14.3-32 32-32zm192 32l-192 0 0 192 192 0 0-192z'/%3E%3C/svg%3E");}
.fa-circle-check{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM369 209L241 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM369 209L241 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z'/%3E%3C/svg%3E");}
.fa-cogs{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath fill='%23000' d='M308.5 135.3c7.1-6.3 9.9-16.2 6.2-25c-2.3-5.3-4.8-10.5-7.6-15.5L304 89.4c-3-5-6.3-9.9-9.8-14.6c-5.7-7.6-15.7-10.1-24.7-7.1l-28.2 9.3c-10.7-8.8-23-16-36.2-20.9L199 27.1c-1.9-9.3-9.1-16.7-18.5-17.8C173.9 8.4 167.2 8 160.4 8l-.7 0c-6.8 0-13.5 .4-20.1 1.2c-9.4 1.1-16.6 8.6-18.5 17.8L115 56.1c-13.3 5-25.5 12.1-36.2 20.9L50.5 67.8c-9-3-19-.5-24.7 7.1c-3.5 4.7-6.8 9.6-9.9 14.6l-3 5.3c-2.8 5-5.3 10.2-7.6 15.6c-3.7 8.7-.9 18.6 6.2 25l22.2 19.8C32.6 161.9 32 168.9 32 176s.6 14.1 1.7 20.9L11.5 216.7c-7.1 6.3-9.9 16.2-6.2 25c2.3 5.3 4.8 10.5 7.6 15.6l3 5.2c3 5.1 6.3 9.9 9.9 14.6c5.7 7.6 15.7 10.1 24.7 7.1l28.2-9.3c10.7 8.8 23 16 36.2 20.9l6.1 29.1c1.9 9.3 9.1 16.7 18.5 17.8c6.7 .8 13.5 1.2 20.4 1.2s13.7-.4 20.4-1.2c9.4-1.1 16.6-8.6 18.5-17.8l6.1-29.1c13.3-5 25.5-12.1 36.2-20.9l28.2 9.3c9 3 19 .5 24.7-7.1c3.5-4.7 6.8-9.5 9.8-14.6l3.1-5.4c2.8-5 5.3-10.2 7.6-15.5c3.7-8.7 .9-18.6-6.2-25l-22.2-19.8c1.1-6.8 1.7-13.8 1.7-20.9s-.6-14.1-1.7-20.9l22.2-19.8zM112 176a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM504.7 500.5c6.3 7.1 16.2 9.9 25 6.2c5.3-2.3 10.5-4.8 15.5-7.6l5.4-3.1c5-3 9.9-6.3 14.6-9.8c7.6-5.7 10.1-15.7 7.1-24.7l-9.3-28.2c8.8-10.7 16-23 20.9-36.2l29.1-6.1c9.3-1.9 16.7-9.1 17.8-18.5c.8-6.7 1.2-13.5 1.2-20.4s-.4-13.7-1.2-20.4c-1.1-9.4-8.6-16.6-17.8-18.5L583.9 307c-5-13.3-12.1-25.5-20.9-36.2l9.3-28.2c3-9 .5-19-7.1-24.7c-4.7-3.5-9.6-6.8-14.6-9.9l-5.3-3c-5-2.8-10.2-5.3-15.6-7.6c-8.7-3.7-18.6-.9-25 6.2l-19.8 22.2c-6.8-1.1-13.8-1.7-20.9-1.7s-14.1 .6-20.9 1.7l-19.8-22.2c-6.3-7.1-16.2-9.9-25-6.2c-5.3 2.3-10.5 4.8-15.6 7.6l-5.2 3c-5.1 3-9.9 6.3-14.6 9.9c-7.6 5.7-10.1 15.7-7.1 24.7l9.3 28.2c-8.8 10.7-16 23-20.9 36.2L315.1 313c-9.3 1.9-16.7 9.1-17.8 18.5c-.8 6.7-1.2 13.5-1.2 20.4s.4 13.7 1.2 20.4c1.1 9.4 8.6 16.6 17.8 18.5l29.1 6.1c5 13.3 12.1 25.5 20.9 36.2l-9.3 28.2c-3 9-.5 19 7.1 24.7c4.7 3.5 9.5 6.8 14.6 9.8l5.4 3.1c5 2.8 10.2 5.3 15.5 7.6c8.7 3.7 18.6 .9 25-6.2l19.8-22.2c6.8 1.1 13.8 1.7 20.9 1.7s14.1-.6 20.9-1.7l19.8 22.2zM464 304a48 48 0 1 1 0 96 48 48 0 1 1 0-96z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath fill='%23000' d='M308.5 135.3c7.1-6.3 9.9-16.2 6.2-25c-2.3-5.3-4.8-10.5-7.6-15.5L304 89.4c-3-5-6.3-9.9-9.8-14.6c-5.7-7.6-15.7-10.1-24.7-7.1l-28.2 9.3c-10.7-8.8-23-16-36.2-20.9L199 27.1c-1.9-9.3-9.1-16.7-18.5-17.8C173.9 8.4 167.2 8 160.4 8l-.7 0c-6.8 0-13.5 .4-20.1 1.2c-9.4 1.1-16.6 8.6-18.5 17.8L115 56.1c-13.3 5-25.5 12.1-36.2 20.9L50.5 67.8c-9-3-19-.5-24.7 7.1c-3.5 4.7-6.8 9.6-9.9 14.6l-3 5.3c-2.8 5-5.3 10.2-7.6 15.6c-3.7 8.7-.9 18.6 6.2 25l22.2 19.8C32.6 161.9 32 168.9 32 176s.6 14.1 1.7 20.9L11.5 216.7c-7.1 6.3-9.9 16.2-6.2 25c2.3 5.3 4.8 10.5 7.6 15.6l3 5.2c3 5.1 6.3 9.9 9.9 14.6c5.7 7.6 15.7 10.1 24.7 7.1l28.2-9.3c10.7 8.8 23 16 36.2 20.9l6.1 29.1c1.9 9.3 9.1 16.7 18.5 17.8c6.7 .8 13.5 1.2 20.4 1.2s13.7-.4 20.4-1.2c9.4-1.1 16.6-8.6 18.5-17.8l6.1-29.1c13.3-5 25.5-12.1 36.2-20.9l28.2 9.3c9 3 19 .5 24.7-7.1c3.5-4.7 6.8-9.5 9.8-14.6l3.1-5.4c2.8-5 5.3-10.2 7.6-15.5c3.7-8.7 .9-18.6-6.2-25l-22.2-19.8c1.1-6.8 1.7-13.8 1.7-20.9s-.6-14.1-1.7-20.9l22.2-19.8zM112 176a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM504.7 500.5c6.3 7.1 16.2 9.9 25 6.2c5.3-2.3 10.5-4.8 15.5-7.6l5.4-3.1c5-3 9.9-6.3 14.6-9.8c7.6-5.7 10.1-15.7 7.1-24.7l-9.3-28.2c8.8-10.7 16-23 20.9-36.2l29.1-6.1c9.3-1.9 16.7-9.1 17.8-18.5c.8-6.7 1.2-13.5 1.2-20.4s-.4-13.7-1.2-20.4c-1.1-9.4-8.6-16.6-17.8-18.5L583.9 307c-5-13.3-12.1-25.5-20.9-36.2l9.3-28.2c3-9 .5-19-7.1-24.7c-4.7-3.5-9.6-6.8-14.6-9.9l-5.3-3c-5-2.8-10.2-5.3-15.6-7.6c-8.7-3.7-18.6-.9-25 6.2l-19.8 22.2c-6.8-1.1-13.8-1.7-20.9-1.7s-14.1 .6-20.9 1.7l-19.8-22.2c-6.3-7.1-16.2-9.9-25-6.2c-5.3 2.3-10.5 4.8-15.6 7.6l-5.2 3c-5.1 3-9.9 6.3-14.6 9.9c-7.6 5.7-10.1 15.7-7.1 24.7l9.3 28.2c-8.8 10.7-16 23-20.9 36.2L315.1 313c-9.3 1.9-16.7 9.1-17.8 18.5c-.8 6.7-1.2 13.5-1.2 20.4s.4 13.7 1.2 20.4c1.1 9.4 8.6 16.6 17.8 18.5l29.1 6.1c5 13.3 12.1 25.5 20.9 36.2l-9.3 28.2c-3 9-.5 19 7.1 24.7c4.7 3.5 9.5 6.8 14.6 9.8l5.4 3.1c5 2.8 10.2 5.3 15.5 7.6c8.7 3.7 18.6 .9 25-6.2l19.8-22.2c6.8 1.1 13.8 1.7 20.9 1.7s14.1-.6 20.9-1.7l19.8 22.2zM464 304a48 48 0 1 1 0 96 48 48 0 1 1 0-96z'/%3E%3C/svg%3E");}
.fa-puzzle-piece{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M192 104.8c0-9.2-5.8-17.3-13.2-22.8C167.2 73.3 160 61.3 160 48c0-26.5 28.7-48 64-48s64 21.5 64 48c0 13.3-7.2 25.3-18.8 34c-7.4 5.5-13.2 13.6-13.2 22.8c0 12.8 10.4 23.2 23.2 23.2l56.8 0c26.5 0 48 21.5 48 48l0 56.8c0 12.8 10.4 23.2 23.2 23.2c9.2 0 17.3-5.8 22.8-13.2c8.7-11.6 20.7-18.8 34-18.8c26.5 0 48 28.7 48 64s-21.5 64-48 64c-13.3 0-25.3-7.2-34-18.8c-5.5-7.4-13.6-13.2-22.8-13.2c-12.8 0-23.2 10.4-23.2 23.2L384 464c0 26.5-21.5 48-48 48l-56.8 0c-12.8 0-23.2-10.4-23.2-23.2c0-9.2 5.8-17.3 13.2-22.8c11.6-8.7 18.8-20.7 18.8-34c0-26.5-28.7-48-64-48s-64 21.5-64 48c0 13.3 7.2 25.3 18.8 34c7.4 5.5 13.2 13.6 13.2 22.8c0 12.8-10.4 23.2-23.2 23.2L48 512c-26.5 0-48-21.5-48-48L0 343.2C0 330.4 10.4 320 23.2 320c9.2 0 17.3 5.8 22.8 13.2C54.7 344.8 66.7 352 80 352c26.5 0 48-28.7 48-64s-21.5-64-48-64c-13.3 0-25.3 7.2-34 18.8C40.5 250.2 32.4 256 23.2 256C10.4 256 0 245.6 0 232.8L0 176c0-26.5 21.5-48 48-48l120.8 0c12.8 0 23.2-10.4 23.2-23.2z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M192 104.8c0-9.2-5.8-17.3-13.2-22.8C167.2 73.3 160 61.3 160 48c0-26.5 28.7-48 64-48s64 21.5 64 48c0 13.3-7.2 25.3-18.8 34c-7.4 5.5-13.2 13.6-13.2 22.8c0 12.8 10.4 23.2 23.2 23.2l56.8 0c26.5 0 48 21.5 48 48l0 56.8c0 12.8 10.4 23.2 23.2 23.2c9.2 0 17.3-5.8 22.8-13.2c8.7-11.6 20.7-18.8 34-18.8c26.5 0 48 28.7 48 64s-21.5 64-48 64c-13.3 0-25.3-7.2-34-18.8c-5.5-7.4-13.6-13.2-22.8-13.2c-12.8 0-23.2 10.4-23.2 23.2L384 464c0 26.5-21.5 48-48 48l-56.8 0c-12.8 0-23.2-10.4-23.2-23.2c0-9.2 5.8-17.3 13.2-22.8c11.6-8.7 18.8-20.7 18.8-34c0-26.5-28.7-48-64-48s-64 21.5-64 48c0 13.3 7.2 25.3 18.8 34c7.4 5.5 13.2 13.6 13.2 22.8c0 12.8-10.4 23.2-23.2 23.2L48 512c-26.5 0-48-21.5-48-48L0 343.2C0 330.4 10.4 320 23.2 320c9.2 0 17.3 5.8 22.8 13.2C54.7 344.8 66.7 352 80 352c26.5 0 48-28.7 48-64s-21.5-64-48-64c-13.3 0-25.3 7.2-34 18.8C40.5 250.2 32.4 256 23.2 256C10.4 256 0 245.6 0 232.8L0 176c0-26.5 21.5-48 48-48l120.8 0c12.8 0 23.2-10.4 23.2-23.2z'/%3E%3C/svg%3E");}
.fa-file-shield{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath fill='%23000' d='M0 64C0 28.7 28.7 0 64 0L224 0l0 128c0 17.7 14.3 32 32 32l128 0 0 47-92.8 37.1c-21.3 8.5-35.2 29.1-35.2 52c0 56.6 18.9 148 94.2 208.3c-9 4.8-19.3 7.6-30.2 7.6L64 512c-35.3 0-64-28.7-64-64L0 64zm384 64l-128 0L256 0 384 128zm39.1 97.7c5.7-2.3 12.1-2.3 17.8 0l120 48C570 277.4 576 286.2 576 296c0 63.3-25.9 168.8-134.8 214.2c-5.9 2.5-12.6 2.5-18.5 0C313.9 464.8 288 359.3 288 296c0-9.8 6-18.6 15.1-22.3l120-48zM527.4 312L432 273.8l0 187.8c68.2-33 91.5-99 95.4-149.7z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath fill='%23000' d='M0 64C0 28.7 28.7 0 64 0L224 0l0 128c0 17.7 14.3 32 32 32l128 0 0 47-92.8 37.1c-21.3 8.5-35.2 29.1-35.2 52c0 56.6 18.9 148 94.2 208.3c-9 4.8-19.3 7.6-30.2 7.6L64 512c-35.3 0-64-28.7-64-64L0 64zm384 64l-128 0L256 0 384 128zm39.1 97.7c5.7-2.3 12.1-2.3 17.8 0l120 48C570 277.4 576 286.2 576 296c0 63.3-25.9 168.8-134.8 214.2c-5.9 2.5-12.6 2.5-18.5 0C313.9 464.8 288 359.3 288 296c0-9.8 6-18.6 15.1-22.3l120-48zM527.4 312L432 273.8l0 187.8c68.2-33 91.5-99 95.4-149.7z'/%3E%3C/svg%3E");}
.fa-hard-drive{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M0 96C0 60.7 28.7 32 64 32l384 0c35.3 0 64 28.7 64 64l0 184.4c-17-15.2-39.4-24.4-64-24.4L64 256c-24.6 0-47 9.2-64 24.4L0 96zM64 288l384 0c35.3 0 64 28.7 64 64l0 64c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64l0-64c0-35.3 28.7-64 64-64zM320 416a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm128-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M0 96C0 60.7 28.7 32 64 32l384 0c35.3 0 64 28.7 64 64l0 184.4c-17-15.2-39.4-24.4-64-24.4L64 256c-24.6 0-47 9.2-64 24.4L0 96zM64 288l384 0c35.3 0 64 28.7 64 64l0 64c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64l0-64c0-35.3 28.7-64 64-64zM320 416a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm128-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z'/%3E%3C/svg%3E");}
.fa-sparkles{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath fill='%23000' d='M234.7 42.7L197 56.8c-3 1.1-5 4-5 7.2s2 6.1 5 7.2l37.7 14.1L248.8 123c1.1 3 4 5 7.2 5s6.1-2 7.2-5l14.1-37.7L315 71.2c3-1.1 5-4 5-7.2s-2-6.1-5-7.2L277.3 42.7 263.2 5c-1.1-3-4-5-7.2-5s-6.1 2-7.2 5L234.7 42.7zM46.1 395.4c-18.7 18.7-18.7 49.1 0 67.9l34.6 34.6c18.7 18.7 49.1 18.7 67.9 0L529.9 116.5c18.7-18.7 18.7-49.1 0-67.9L495.3 14.1c-18.7-18.7-49.1-18.7-67.9 0L46.1 395.4zM484.6 82.6l-105 105-23.3-23.3 105-105 23.3 23.3zM7.5 117.2C3 118.9 0 123.2 0 128s3 9.1 7.5 10.8L64 160l21.2 56.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L128 160l56.5-21.2c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L128 96 106.8 39.5C105.1 35 100.8 32 96 32s-9.1 3-10.8 7.5L64 96 7.5 117.2zm352 256c-4.5 1.7-7.5 6-7.5 10.8s3 9.1 7.5 10.8L416 416l21.2 56.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L480 416l56.5-21.2c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L480 352l-21.2-56.5c-1.7-4.5-6-7.5-10.8-7.5s-9.1 3-10.8 7.5L416 352l-56.5 21.2z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath fill='%23000' d='M234.7 42.7L197 56.8c-3 1.1-5 4-5 7.2s2 6.1 5 7.2l37.7 14.1L248.8 123c1.1 3 4 5 7.2 5s6.1-2 7.2-5l14.1-37.7L315 71.2c3-1.1 5-4 5-7.2s-2-6.1-5-7.2L277.3 42.7 263.2 5c-1.1-3-4-5-7.2-5s-6.1 2-7.2 5L234.7 42.7zM46.1 395.4c-18.7 18.7-18.7 49.1 0 67.9l34.6 34.6c18.7 18.7 49.1 18.7 67.9 0L529.9 116.5c18.7-18.7 18.7-49.1 0-67.9L495.3 14.1c-18.7-18.7-49.1-18.7-67.9 0L46.1 395.4zM484.6 82.6l-105 105-23.3-23.3 105-105 23.3 23.3zM7.5 117.2C3 118.9 0 123.2 0 128s3 9.1 7.5 10.8L64 160l21.2 56.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L128 160l56.5-21.2c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L128 96 106.8 39.5C105.1 35 100.8 32 96 32s-9.1 3-10.8 7.5L64 96 7.5 117.2zm352 256c-4.5 1.7-7.5 6-7.5 10.8s3 9.1 7.5 10.8L416 416l21.2 56.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L480 416l56.5-21.2c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L480 352l-21.2-56.5c-1.7-4.5-6-7.5-10.8-7.5s-9.1 3-10.8 7.5L416 352l-56.5 21.2z'/%3E%3C/svg%3E");}
