/* STRONOSKOP – style marki (plik zgodny z ustalonym projektem).
   Wszystkie style są zamknięte w klasie .snp. Fonty są hostowane lokalnie przez motyw
   (assets/fonts) – bez łączenia z Google Fonts. Integracja z WordPressem: wp.css. */
.snp{--ink:#0E1F2B;--ink2:#17303F;--skan:#0B7C7C;--mieta:#5FD3C9;--puls:#C8F169;--papier:#F5F7F4;--grafit:#5C6B73;--linia:#DDE3E0;
--p0:#D7263D;--p1:#F28C28;--p2:#F2C14E;--p3:#2BA84A;
font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--ink);background:var(--papier);font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased}
.snp *{box-sizing:border-box}
.snp h1,.snp h2,.snp h3{font-family:'Space Grotesk','Inter',sans-serif;line-height:1.1;margin:0 0 .5em;letter-spacing:-.02em;color:inherit}
.snp h1{font-size:clamp(40px,6vw,72px);font-weight:700}
.snp h2{font-size:clamp(30px,4vw,46px);font-weight:700}
.snp h3{font-size:22px;font-weight:600}
.snp p{margin:0 0 1em}
.snp a{color:var(--skan)}
.snp .mono{font-family:'JetBrains Mono','DejaVu Sans Mono',ui-monospace,monospace}
.snp .wrap{max-width:1160px;margin:0 auto;padding:0 24px}
.snp section{padding:96px 0}
.snp .dark{background:var(--ink);color:var(--papier)}
.snp .dark a{color:var(--mieta)}
.snp .dark .muted{color:#A9B9C0}
.snp .muted{color:var(--grafit)}
.snp .eyebrow{font-family:'JetBrains Mono',monospace;font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--skan);margin-bottom:16px;display:block}
.snp .dark .eyebrow{color:var(--mieta)}
.snp .tag{display:inline-block;background:var(--puls);color:var(--ink);font-weight:600;font-size:14px;padding:6px 12px;border-radius:8px}
.snp .acc{color:var(--skan)} .snp .dark .acc{color:var(--mieta)}
.snp .btn{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:17px;padding:16px 26px;border-radius:12px;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:transform .15s ease}
.snp .btn:hover{transform:translateY(-2px)}
.snp .btn-puls{background:var(--puls);color:var(--ink)!important}
.snp .btn-out{border-color:currentColor;color:inherit!important;background:transparent}
.snp .btn-skan{background:var(--skan);color:#fff!important}
.snp .btn:focus-visible,.snp a:focus-visible,.snp input:focus-visible,.snp select:focus-visible,.snp textarea:focus-visible{outline:3px solid var(--mieta);outline-offset:2px}
/* nagłówek */
.snp .nav{position:sticky;top:0;z-index:20;background:rgba(14,31,43,.96);color:var(--papier)}
.snp .nav .wrap{display:flex;align-items:center;justify-content:space-between;height:72px;gap:16px}
.snp .logo{display:flex;align-items:center;gap:10px;font-family:'JetBrains Mono',monospace;font-size:20px;color:var(--papier)!important;text-decoration:none}
.snp .logo svg{width:34px;height:34px}
.snp .nav ul{display:flex;gap:28px;list-style:none;margin:0;padding:0}
.snp .nav ul a{color:var(--papier);text-decoration:none;font-size:16px}
.snp .nav ul a:hover{color:var(--mieta)}
.snp .nav .btn{padding:10px 18px;font-size:15px}
/* hero */
.snp .hero{position:relative;padding:120px 0 110px;overflow:hidden}
.snp .hero .frame{position:absolute;inset:28px;pointer-events:none}
.snp .hero .frame i{position:absolute;width:56px;height:56px;border:0 solid var(--mieta);opacity:.5}
.snp .hero .frame i:nth-child(1){top:0;left:0;border-top-width:3px;border-left-width:3px}
.snp .hero .frame i:nth-child(2){top:0;right:0;border-top-width:3px;border-right-width:3px}
.snp .hero .frame i:nth-child(3){bottom:0;left:0;border-bottom-width:3px;border-left-width:3px}
.snp .hero .frame i:nth-child(4){bottom:0;right:0;border-bottom-width:3px;border-right-width:3px}
.snp .hero-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:56px;align-items:center}
.snp .hero p.lead{font-size:21px;max-width:560px}
.snp .hero .ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}
.snp .pulse{display:block;width:100%;height:40px;margin-top:56px}
.snp .scorecard{background:var(--ink2);border-radius:20px;padding:28px}
.snp .scorecard .row{display:flex;align-items:center;gap:14px;margin:12px 0;font-size:15px}
.snp .scorecard .row span:first-child{width:150px;color:#C9D6DB}
.snp .scorecard .bar{flex:1;height:10px;background:#244354;border-radius:6px;overflow:hidden}
.snp .scorecard .bar b{display:block;height:100%}
.snp .scorecard .num{font-family:'JetBrains Mono',monospace;width:34px;text-align:right}
.snp .scorecard .big{font-family:'Space Grotesk','Inter',sans-serif;font-size:72px;font-weight:700;line-height:1;color:var(--p2)}
/* siatki i karty */
.snp .grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.snp .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.snp .grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.snp .grid5{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.snp .card{background:#fff;border:1px solid var(--linia);border-radius:18px;padding:28px}
.snp .dark .card{background:var(--ink2);border-color:#244354}
.snp .card .n{font-family:'JetBrains Mono',monospace;color:var(--skan);font-size:14px;display:block;margin-bottom:10px}
.snp .dark .card .n{color:var(--mieta)}
.snp .card p:last-child{margin-bottom:0}
/* cennik */
.snp .price{display:flex;flex-direction:column}
.snp .price .amount{font-family:'Space Grotesk','Inter',sans-serif;font-size:44px;font-weight:700;margin:8px 0 4px}
.snp .price ul{list-style:none;padding:0;margin:18px 0 24px;flex:1}
.snp .price li{padding:8px 0 8px 28px;position:relative;border-top:1px solid var(--linia);font-size:16px}
.snp .price li::before{content:"";position:absolute;left:4px;top:15px;width:12px;height:7px;border-left:2px solid var(--skan);border-bottom:2px solid var(--skan);transform:rotate(-45deg)}
.snp .price.featured{border:2px solid var(--skan);position:relative}
.snp .price .badge{position:absolute;top:-14px;left:24px;background:var(--skan);color:#fff;font-size:13px;font-weight:600;padding:4px 10px;border-radius:6px}
/* proces */
.snp .steps{counter-reset:s;display:grid;gap:16px}
.snp .step{display:grid;grid-template-columns:64px 1fr;gap:20px;align-items:start;background:#fff;border:1px solid var(--linia);border-radius:16px;padding:22px 24px}
.snp .step::before{counter-increment:s;content:counter(s,decimal-leading-zero);font-family:'JetBrains Mono',monospace;font-size:28px;color:var(--skan)}
.snp .step h3{margin-bottom:4px}
.snp .step p{margin:0;color:var(--grafit);font-size:16px}
.snp .step .mail{display:inline-block;margin-top:8px;font-size:13px;font-family:'JetBrains Mono',monospace;background:#E6F4F2;color:var(--skan);padding:3px 8px;border-radius:6px}
/* priorytety */
.snp .pill{display:inline-block;font-family:'JetBrains Mono',monospace;font-size:13px;font-weight:700;padding:3px 8px;border-radius:6px;color:var(--ink)}
/* FAQ */
.snp details{background:#fff;border:1px solid var(--linia);border-radius:14px;padding:18px 22px;margin-bottom:12px}
.snp summary{font-weight:600;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px}
.snp summary::-webkit-details-marker{display:none}
.snp summary::after{content:"+";font-family:'JetBrains Mono';color:var(--skan);font-size:22px;line-height:1}
.snp details[open] summary::after{content:"–"}
.snp details p{margin:12px 0 0;color:var(--grafit)}
/* formularz (podgląd – w WordPressie zastąp shortcode'em wtyczki formularzy) */
.snp form.order{display:grid;gap:18px}
.snp label{font-weight:600;font-size:15px;display:block;margin-bottom:6px}
.snp input[type=text],.snp input[type=email],.snp input[type=tel],.snp input[type=url],.snp select,.snp textarea{width:100%;font:inherit;font-size:16px;padding:13px 14px;border:1px solid #C5CFCB;border-radius:10px;background:#fff;color:var(--ink)}
.snp .check{display:flex;gap:12px;align-items:flex-start;font-size:15px;font-weight:400}
.snp .check input{margin-top:5px;width:18px;height:18px;flex:none}
.snp .hint{font-size:14px;color:var(--grafit);margin-top:6px}
.snp .notice{background:#FFF6E0;border:1px solid #F2C14E;border-radius:14px;padding:18px 22px;font-size:16px}
/* stopka */
.snp footer{background:var(--ink);color:#A9B9C0;padding:56px 0 36px;font-size:15px}
.snp footer a{color:var(--papier);text-decoration:none}
.snp footer .cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px}
.snp footer ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.snp footer .legal{border-top:1px solid #244354;margin-top:36px;padding-top:20px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}
/* dokumenty prawne */
.snp .doc{max-width:820px}
.snp .doc h2{font-size:26px;margin-top:40px}
.snp .doc ol{padding-left:22px} .snp .doc li{margin-bottom:8px}
.snp .placeholder{background:#FFF0B3;padding:0 4px;border-radius:4px}
/* responsywność */
@media (max-width:900px){
 .snp section{padding:64px 0}
 .snp .hero{padding:72px 0}
 .snp .hero-grid,.snp .grid2,.snp .grid3{grid-template-columns:1fr}
 .snp .grid4{grid-template-columns:repeat(2,1fr)}
 .snp .grid5{grid-template-columns:1fr}
 .snp .first-mobile{order:-1}
 .snp .nav ul{display:none}
 .snp footer .cols{grid-template-columns:1fr}
 .snp .step{grid-template-columns:44px 1fr;padding:18px}
 .snp .step::before{font-size:22px}
}
@media (max-width:520px){.snp .grid4{grid-template-columns:1fr}.snp .hero .frame{inset:12px}}
@media (prefers-reduced-motion:reduce){.snp .btn{transition:none}.snp .btn:hover{transform:none}}
