/* ================================================================
   SEO MIASTO - warstwa UI dla satelickich landingow SEO
   (Zgierz / Aleksandrow Lodzki / Konstantynow Lodzki)

   Strategia: satelita laduje TEN SAM plik akcentu co hub
   (pozycjonowanie-lodz-neural.css, klasa .neural-page--seo), wiec
   wyglada jak jego rodzenstwo - zero rozjazdu kolorow. Ten plik dokłada
   premium-hero (aurora WebGL + canvas wykresu + orby + dryfujace badge
   + liczniki) oraz komponenty pod jasne sekcje - wzorzec sprawdzony
   na landingu CRM.

   Paleta = paleta huba SEO: szmaragd #10B981 / mieta #5EEAD4 / #22D3A8
   ================================================================ */

/* ============================================================
   HERO - ciemne, warstwowe tlo
   ============================================================ */
.seom-hero{
	position:relative;overflow:hidden;
	padding:7rem 0 4.5rem;
	background:
		radial-gradient(ellipse at 78% 18%, rgba(16,185,129,.17) 0%, transparent 55%),
		radial-gradient(ellipse at 14% 84%, rgba(34,211,168,.15) 0%, transparent 55%),
		radial-gradient(ellipse at 52% 52%, rgba(94,234,212,.07) 0%, transparent 62%),
		linear-gradient(180deg, #02100B 0%, #05231A 55%, #02100B 100%);
}
.seom-hero__aurora{position:absolute;inset:0;width:100%;height:100%;z-index:0;opacity:.40;pointer-events:none}
.seom-hero__chart{position:absolute;inset:0;width:100%;height:100%;z-index:1;opacity:.55;pointer-events:none}
.seom-hero__grid{
	position:absolute;inset:0;pointer-events:none;z-index:1;
	background-image:
		linear-gradient(rgba(255,255,255,.038) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,.038) 1px, transparent 1px);
	background-size:60px 60px;
	-webkit-mask-image:radial-gradient(ellipse at center, black 30%, transparent 80%);
	mask-image:radial-gradient(ellipse at center, black 30%, transparent 80%);
}
.seom-hero__orb{position:absolute;border-radius:50%;filter:blur(85px);pointer-events:none;mix-blend-mode:screen;z-index:1}
.seom-hero__orb--1{width:430px;height:430px;top:-90px;right:4%;background:radial-gradient(circle,#10B981 0%,transparent 70%);opacity:.8;animation:seomOrbA 18s ease-in-out infinite alternate}
.seom-hero__orb--2{width:390px;height:390px;bottom:-80px;left:-5%;background:radial-gradient(circle,#22D3A8 0%,transparent 70%);opacity:.75;animation:seomOrbB 22s ease-in-out infinite alternate}
.seom-hero__orb--3{width:270px;height:270px;top:52%;left:44%;background:radial-gradient(circle,#5EEAD4 0%,transparent 70%);opacity:.3;animation:seomOrbC 26s ease-in-out infinite alternate}
@keyframes seomOrbA{to{transform:translate(-60px,40px) scale(1.1)}}
@keyframes seomOrbB{to{transform:translate(40px,-30px) scale(1.05)}}
@keyframes seomOrbC{to{transform:translate(30px,30px) scale(1.15)}}

/* Dryfujace badge metryk SEO */
.seom-hero__drifters{position:absolute;inset:0;pointer-events:none;z-index:2;overflow:hidden}
.seom-drifter{
	position:absolute;display:inline-flex;align-items:center;gap:.45rem;
	padding:.45rem .85rem;border-radius:999px;
	background:rgba(255,255,255,.04);border:1px solid rgba(16,185,129,.28);
	font-family:var(--font-mono);font-size:.72rem;font-weight:700;letter-spacing:.04em;
	color:rgba(255,255,255,.72);backdrop-filter:blur(8px);white-space:nowrap;
	opacity:0;animation:seomDrift 19s linear infinite;
}
.seom-drifter i{font-size:.78rem}
.seom-drifter--1{left:7%;animation-delay:0s;color:#6EE7B7}    .seom-drifter--1 i{color:#10B981}
.seom-drifter--2{left:21%;animation-delay:3.2s;color:#A7F3D0} .seom-drifter--2 i{color:#22D3A8}
.seom-drifter--3{left:37%;animation-delay:6.4s;color:#5EEAD4} .seom-drifter--3 i{color:#5EEAD4}
.seom-drifter--4{left:57%;animation-delay:9.6s;color:#6EE7B7} .seom-drifter--4 i{color:#10B981}
.seom-drifter--5{left:73%;animation-delay:12.8s;color:#A7F3D0}.seom-drifter--5 i{color:#22D3A8}
.seom-drifter--6{left:87%;animation-delay:16s;color:#5EEAD4}  .seom-drifter--6 i{color:#5EEAD4}
@keyframes seomDrift{
	0%{transform:translateY(110vh) scale(.85);opacity:0}
	8%{opacity:.8}
	50%{transform:translateY(50vh) scale(1);opacity:.8}
	92%{opacity:.38}
	100%{transform:translateY(-15vh) scale(.85);opacity:0}
}

/* Punkty z checkiem */
.seom-hero__features{display:grid;gap:.6rem;margin:0 0 1.9rem;font-size:.94rem}
.seom-hero__feature{display:flex;align-items:center;gap:.62rem;color:#fff}
.seom-hero__feature i{
	width:20px;height:20px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;
	background:linear-gradient(135deg,#10B981,#5EEAD4);color:#02100B;font-size:.65rem;
}

/* Liczniki w kartach */
.seom-hero__counters{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-top:2.4rem}
.seom-hero__counter{
	--cc:#10B981;--cc2:#6EE7B7;
	position:relative;overflow:hidden;
	display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;
	padding:1.15rem 1.1rem 1.25rem;border-radius:14px;
	background:linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.025));
	border:1px solid rgba(16,185,129,.26);
	box-shadow:0 10px 24px -12px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.05);
}
.seom-hero__counter::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--cc);opacity:.95}
.seom-hero__counter:nth-child(1){--cc:#10B981;--cc2:#6EE7B7}
.seom-hero__counter:nth-child(2){--cc:#22D3A8;--cc2:#A7F3D0}
.seom-hero__counter:nth-child(3){--cc:#5EEAD4;--cc2:#CCFBF1}
.seom-hero__counter-val{
	display:flex;align-items:baseline;gap:.08rem;
	font-family:var(--font-mono);font-size:1.85rem;font-weight:800;
	line-height:1;letter-spacing:-.035em;color:#fff;
}
.seom-hero__counter-val>span[data-counter]{background:linear-gradient(135deg,var(--cc),var(--cc2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.seom-hero__counter-val small{font-size:1.05rem;font-weight:800;color:var(--cc2)}
.seom-hero__counter-lbl{font-size:.78rem;line-height:1.4;color:rgba(255,255,255,.85);font-weight:500}
@media(max-width:1080px){.seom-hero__counters{gap:.55rem;margin-top:1.9rem}.seom-hero__counter{padding:.95rem .7rem 1rem;border-radius:12px}.seom-hero__counter-val{font-size:1.5rem}.seom-hero__counter-lbl{font-size:.72rem}}

/* H1 mniejszy niz bazowy neural */
.neural-page--seom .nhero__title{font-size:clamp(1.8rem,3.05vw,2.7rem);margin-bottom:20px}
.neural-page--seom .nhero__subtitle{font-size:1rem;max-width:540px}

/* ============================================================
   Canvas tla w sekcjach (cs-dataviz)
   ============================================================ */
.seom-sec{position:relative;overflow:hidden}
.seom-sec__canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.seom-sec--dark .seom-sec__canvas{opacity:.5}
.seom-sec--light .seom-sec__canvas{opacity:.75}
.seom-sec>.container{position:relative;z-index:2}
.seom-aurora-sec{position:relative;overflow:hidden}
.seom-aurora-sec__canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0;opacity:.40;pointer-events:none}
.seom-aurora-sec>.container{position:relative;z-index:2}

/* ============================================================
   Band statystyk (jasna sekcja)
   ============================================================ */
.seom-results{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
@media(max-width:980px){.seom-results{grid-template-columns:repeat(2,1fr)}}
@media(max-width:540px){.seom-results{grid-template-columns:1fr}}
.seom-stat{
	position:relative;background:#fff;border:1px solid var(--line-l);border-radius:18px;
	padding:28px 24px;overflow:hidden;
	transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s,border-color .35s;
}
.seom-stat::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--sh-grad);transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.16,1,.3,1)}
.seom-stat:hover{transform:translateY(-6px);border-color:rgba(16,185,129,.4);box-shadow:0 28px 56px -28px rgba(16,185,129,.35)}
.seom-stat:hover::before{transform:scaleX(1)}
.seom-stat__ic{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.05rem;background:var(--sh-grad);box-shadow:0 12px 26px -12px rgba(16,185,129,.55);margin-bottom:16px}
.seom-stat__num{font-family:var(--font-display);font-weight:800;font-size:clamp(1.9rem,3.2vw,2.5rem);line-height:1;background:var(--sh-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.seom-stat__lbl{font-size:.9rem;color:var(--muted-l);line-height:1.5;margin-top:8px}

/* ============================================================
   SEO vs Ads - porownanie (jasna sekcja)
   ============================================================ */
.seom-vs{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}
@media(max-width:860px){.seom-vs{grid-template-columns:1fr}}
.seom-vs__col{background:#fff;border:1px solid var(--line-l);border-radius:20px;padding:30px 28px}
.seom-vs__col--us{border-color:rgba(16,185,129,.45);box-shadow:0 30px 64px -34px rgba(16,185,129,.45);position:relative;overflow:hidden}
.seom-vs__col--us::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:var(--sh-grad)}
.seom-vs__badge{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-mono);font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:5px 12px;border-radius:999px;margin-bottom:16px}
.seom-vs__col--ads .seom-vs__badge{background:#FFF7ED;color:#C2410C;border:1px solid #FED7AA}
.seom-vs__col--us .seom-vs__badge{background:linear-gradient(135deg,rgba(16,185,129,.14),rgba(94,234,212,.14));color:#047857;border:1px solid rgba(16,185,129,.3)}
.seom-vs__h{font-family:var(--font-display);font-weight:700;font-size:1.3rem;color:var(--ink);margin:0 0 18px}
.seom-vs__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:13px}
.seom-vs__list li{display:flex;gap:11px;align-items:flex-start;font-size:.94rem;line-height:1.55;color:var(--muted-l)}
.seom-vs__list li i{margin-top:3px;flex-shrink:0;font-size:.85rem}
.seom-vs__col--ads li i{color:#F59E0B}
.seom-vs__col--us li i{color:#10B981}
.seom-vs__col--us li strong{color:var(--ink);font-weight:600}
.seom-vs__score{margin-top:22px;padding-top:18px;border-top:1px dashed var(--line-l);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;display:flex;justify-content:space-between;align-items:center}
.seom-vs__col--ads .seom-vs__score{color:#C2410C}
.seom-vs__col--us .seom-vs__score{color:#047857}
.seom-vs__score b{font-family:var(--font-display);font-size:1.1rem}

/* ============================================================
   Proces - poziomy timeline (bez pionowego scrollowania)
   ============================================================ */
.seom-flow{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.seom-flow__line{
	position:absolute;top:27px;left:10%;right:10%;height:2px;z-index:0;
	background:linear-gradient(90deg,transparent,rgba(16,185,129,.55) 15%,rgba(94,234,212,.6) 50%,rgba(34,211,168,.55) 85%,transparent);
}
.seom-flow__step{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center}
.seom-flow__node{
	position:relative;width:54px;height:54px;border-radius:16px;display:grid;place-items:center;
	font-size:1.15rem;color:#fff;background:linear-gradient(135deg,#10B981,#22D3A8);
	box-shadow:0 14px 30px -12px rgba(16,185,129,.65),0 0 0 5px rgba(2,16,11,.9);
	margin-bottom:14px;transition:transform .35s cubic-bezier(.16,1,.3,1);
}
.seom-flow__step:hover .seom-flow__node{transform:translateY(-5px) scale(1.06)}
.seom-flow__num{
	position:absolute;top:-7px;right:-7px;min-width:20px;height:20px;padding:0 5px;
	border-radius:999px;display:grid;place-items:center;
	font-family:var(--font-mono);font-size:.56rem;font-weight:700;
	color:#02100B;background:#5EEAD4;box-shadow:0 0 0 3px rgba(2,16,11,.9);
}
.seom-flow__step h3{font-family:var(--font-display);font-weight:700;font-size:.98rem;color:#fff;margin:0 0 8px;line-height:1.3}
.seom-flow__step p{font-size:.8rem;line-height:1.55;color:var(--muted-d);margin:0}
@media(max-width:1180px){.seom-flow{grid-template-columns:repeat(3,1fr);gap:26px 18px}.seom-flow__line{display:none}}
@media(max-width:680px){.seom-flow{grid-template-columns:repeat(2,1fr)}}
@media(max-width:440px){.seom-flow{grid-template-columns:1fr}}

/* ============================================================
   Ciemne warianty komponentow wspoldzielonych
   ============================================================ */
.neural-page--seom .shfeat--dark .shfeat__card{
	background:linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.02));
	border-color:rgba(16,185,129,.24);
}
.neural-page--seom .shfeat--dark .shfeat__card:hover{border-color:rgba(16,185,129,.55);box-shadow:0 30px 60px -30px rgba(16,185,129,.5)}
.neural-page--seom .shfeat--dark .shfeat__card h3{color:#fff}
.neural-page--seom .shfeat--dark .shfeat__card p{color:var(--muted-d)}
.neural-page--seom .shtesti--dark .shtesti__card{
	background:linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.02));
	border-color:rgba(16,185,129,.24);
}
.neural-page--seom .shtesti--dark .shtesti__card:hover{border-color:rgba(16,185,129,.55);box-shadow:0 30px 60px -30px rgba(16,185,129,.5)}
.neural-page--seom .shtesti--dark .shtesti__card blockquote{color:rgba(255,255,255,.9)}
.neural-page--seom .shtesti--dark .shtesti__author strong{color:#fff}
.neural-page--seom .shtesti--dark .shtesti__author span{color:var(--muted-d)}
.neural-page--seom .shtesti--dark .shtesti__av{background:rgba(255,255,255,.08);color:#6EE7B7}

/* Checkbox RODO - akcent w palecie SEO
   (jawny display:block, bo .contact-form__checkmark to <span>) */
.neural-page--seom .contact-form__checkbox{
	display:grid;grid-template-columns:20px 1fr;gap:12px;align-items:start;
	position:relative;cursor:pointer;padding-top:4px;
}
.neural-page--seom .contact-form__checkbox input{position:absolute;top:4px;left:0;width:20px;height:20px;margin:0;opacity:0;pointer-events:none}
.neural-page--seom .contact-form__checkmark{
	display:block;width:20px;height:20px;border-radius:6px;flex-shrink:0;
	border:1.5px solid rgba(148,163,184,.55);background:rgba(255,255,255,.07);
	position:relative;transition:border-color .2s,background .2s;
}
.neural-page--seom .contact-form__checkbox input:checked ~ .contact-form__checkmark{border-color:#10B981;background:#10B981}
.neural-page--seom .contact-form__checkbox:hover .contact-form__checkmark{border-color:#5EEAD4}
.neural-page--seom .contact-form__checkbox-text{font-size:.82rem;line-height:1.55;color:rgba(255,255,255,.62)}
.neural-page--seom .contact-form__checkbox-text strong{color:rgba(255,255,255,.85)}
.neural-page--seom .contact-form__checkbox-text a{color:#5EEAD4}

@media(prefers-reduced-motion:reduce){
	.seom-drifter,.seom-hero__orb--1,.seom-hero__orb--2,.seom-hero__orb--3{animation:none!important}
	.seom-drifter{opacity:.6}
	.seom-stat{transition:none!important}
}

/* Animacja wskoku "Ty" na wyzsza pozycje (JS dodaje .is-up) */
.neural-page--seom .serp__item--you.is-up{animation:seomJump .6s cubic-bezier(.16,1,.3,1)}
@keyframes seomJump{0%{transform:translateY(14px) scale(.97);opacity:.55}55%{transform:translateY(-3px) scale(1.03)}100%{transform:none;opacity:1}}
.neural-page--seom .serp__list{transition:none}
@media(prefers-reduced-motion:reduce){.neural-page--seom .serp__item--you.is-up{animation:none!important}}

/* Proza na ciemnej sekcji */
.seom-prose{font-size:1.02rem;line-height:1.78;color:var(--muted-d)}
.seom-prose p{margin:0 0 18px}
.seom-prose p:last-child{margin-bottom:0}
.seom-prose strong{color:#fff;font-weight:600}
.seom-prose a{color:#5EEAD4;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.seom-prose a:hover{color:#A7F3D0}
