<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Logowanie do e-KUL — e.kul.lublin.pl Trust Score &amp; Analysis | Bitverzo</title>
<meta name="description" content="Comprehensive analysis of e.kul.lublin.pl: 1 technologies detected, trust score 70/100 (Likely Safe), security headers 65/100, SSL by unknown, 73 words, 2 image">
<meta name="keywords" content="e.kul.lublin.pl, e.kul.lublin.pl technology stack, e.kul.lublin.pl review, e.kul.lublin.pl trust score, e.kul.lublin.pl security, website analysis, domain intelligence, tech stack detection, SSL check, DNS lookup, SEO audit">
<meta name="robots" content="index, follow, max-snippet:-1, max-image-preview:large">
<meta name="author" content="Bitverzo">
<meta name="generator" content="Bitverzo Crawler v2">
<link rel="canonical" href="https://bitverzo.com/report/e.kul.lublin.pl">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">

<!-- Open Graph -->
<meta property="og:type" content="article">
<meta property="og:title" content="Logowanie do e-KUL — e.kul.lublin.pl Trust Score &amp; Analysis | Bitverzo">
<meta property="og:description" content="Comprehensive analysis of e.kul.lublin.pl: 1 technologies detected, trust score 70/100 (Likely Safe), security headers 65/100, SSL by unknown, 73 words, 2 image">
<meta property="og:url" content="https://bitverzo.com/report/e.kul.lublin.pl">
<meta property="og:site_name" content="Bitverzo">
<meta property="og:locale" content="en_US">
<meta property="og:image" content="https://bitverzo.com/favicon.svg">
<meta property="article:published_time" content="2026-06-28T09:37:08Z">
<meta property="article:modified_time" content="2026-06-28T09:37:08Z">
<meta property="article:section" content="Technology Analysis">
<meta property="article:tag" content="e.kul.lublin.pl">
<meta property="article:tag" content="website analysis">
<meta property="article:tag" content="tech stack">
<meta property="article:tag" content="security audit">

<!-- Twitter Card -->
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Logowanie do e-KUL — e.kul.lublin.pl Trust Score &amp; Analysis | Bitverzo">
<meta name="twitter:description" content="Comprehensive analysis of e.kul.lublin.pl: 1 technologies detected, trust score 70/100 (Likely Safe), security headers 65/100, SSL by unknown, 73 words, 2 image">

<!-- Schema.org JSON-LD -->
<script type="application/ld+json">
{"@context": "https://schema.org", "@graph": [{"@type": "WebPage", "@id": "https://bitverzo.com/report/e.kul.lublin.pl", "url": "https://bitverzo.com/report/e.kul.lublin.pl", "name": "Logowanie do e-KUL — e.kul.lublin.pl Trust Score & Analysis | Bitverzo", "description": "Comprehensive analysis of e.kul.lublin.pl: 1 technologies detected, trust score 70/100 (Likely Safe), security headers 65/100, SSL by unknown, 73 words, 2 image", "datePublished": "2026-06-28", "dateModified": "2026-06-28", "publisher": {"@type": "Organization", "name": "Bitverzo", "url": "https://bitverzo.com", "logo": {"@type": "ImageObject", "url": "https://bitverzo.com/logo.png"}}, "breadcrumb": {"@type": "BreadcrumbList", "itemListElement": [{"@type": "ListItem", "position": 1, "name": "Home", "item": "https://bitverzo.com"}, {"@type": "ListItem", "position": 2, "name": "Reports", "item": "https://bitverzo.com/reports"}, {"@type": "ListItem", "position": 3, "name": "e.kul.lublin.pl", "item": "https://bitverzo.com/report/e.kul.lublin.pl"}]}}, {"@type": "TechArticle", "headline": "e.kul.lublin.pl Technology Stack, Security & Trust Analysis", "description": "Comprehensive analysis of e.kul.lublin.pl: 1 technologies detected, trust score 70/100 (Likely Safe), security headers 65/100, SSL by unknown, 73 words, 2 image", "datePublished": "2026-06-28", "dateModified": "2026-06-28", "author": {"@type": "Organization", "name": "Bitverzo"}, "about": {"@type": "WebSite", "name": "e.kul.lublin.pl", "url": "https://e.kul.lublin.pl"}, "articleSection": ["Technology Analysis", "Security Audit", "Trust & Safety", "SEO Analysis", "DNS Report"]}, {"@type": "FAQPage", "mainEntity": [{"@type": "Question", "name": "Is e.kul.lublin.pl safe to visit?", "acceptedAnswer": {"@type": "Answer", "text": "e.kul.lublin.pl has a trust score of 70/100 and is rated \"Likely Safe\". The site does not have a valid SSL certificate. All blacklist checks are clean."}}, {"@type": "Question", "name": "What technologies does e.kul.lublin.pl use?", "acceptedAnswer": {"@type": "Answer", "text": "e.kul.lublin.pl uses 1 technologies including jQuery."}}, {"@type": "Question", "name": "Who owns e.kul.lublin.pl?", "acceptedAnswer": {"@type": "Answer", "text": "e.kul.lublin.pl is registered. The domain resolves to IP 212.182.33.50."}}, {"@type": "Question", "name": "What is e.kul.lublin.pl's trust score?", "acceptedAnswer": {"@type": "Answer", "text": "e.kul.lublin.pl has a Bitverzo trust score of 70 out of 100, rated as \"Likely Safe\". The security score is 65/100."}}, {"@type": "Question", "name": "Is e.kul.lublin.pl a legitimate website?", "acceptedAnswer": {"@type": "Answer", "text": "Based on our analysis, e.kul.lublin.pl has a trust score of 70/100 (Likely Safe). All blacklist checks passed. The site uses HTTPS encryption."}}]}, {"@type": "WebApplication", "name": "Bitverzo", "url": "https://bitverzo.com", "applicationCategory": "SecurityApplication", "operatingSystem": "Web", "offers": {"@type": "Offer", "price": "0", "priceCurrency": "USD"}}]}
</script>

<!-- Google AdSense -->



<style>
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

:root {
  --bg:           #F5F5F7;
  --surface:      #FFFFFF;
  --surface2:     #F0F0F3;
  --text:         #1A1A2E;
  --text2:        #6B7280;
  --text3:        #9CA3AF;
  --accent:       #7C3AED;
  --accent-sub:   rgba(124,58,237,0.08);
  --accent-border:rgba(124,58,237,0.25);
  --green:        #10B981;
  --green-bg:     rgba(16,185,129,0.08);
  --red:          #EF4444;
  --red-bg:       rgba(239,68,68,0.06);
  --amber:        #F59E0B;
  --amber-bg:     rgba(245,158,11,0.08);
  --blue:         #3B82F6;
  --border:       #E5E7EB;
  --border2:      #D1D5DB;
  --radius:       10px;
  --radius-lg:    14px;
  --shadow:       0 1px 3px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04);
  --shadow-lg:    0 4px 16px rgba(0,0,0,0.08);
  --font:         'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --mono:         'JetBrains Mono', 'SF Mono', 'Fira Code', monospace;
}

* { box-sizing: border-box; margin: 0; padding: 0; }

body {
  background: var(--bg);
  color: var(--text);
  font-family: var(--font);
  font-size: 15px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

.site-header {
  height: 56px;
  position: sticky;
  top: 0;
  z-index: 300;
  background: #FFFFFF;
  border-bottom: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 20px;
  box-shadow: 0 1px 4px rgba(0,0,0,0.04);
}
.site-logo { font-size: 20px; font-weight: 800; color: var(--accent); letter-spacing: -0.5px; text-decoration: none; }
.site-logo span { color: var(--text2); font-weight: 400; font-size: 16px; }
.header-search {
  display: flex;
  align-items: center;
  background: var(--surface2);
  border: 1px solid var(--border);
  border-radius: 24px;
  padding: 7px 14px;
  gap: 6px;
  flex: 1;
  max-width: 260px;
  margin: 0 12px;
  transition: border-color 200ms;
}
.header-search:focus-within { border-color: var(--accent); }
.header-search input {
  background: none; border: none; outline: none;
  color: var(--text); font-size: 14px; width: 100%;
}
.header-search input::placeholder { color: var(--text3); }

.breadcrumb {
  font-size: 13px; color: var(--text3);
  padding: 12px 20px 0;
  display: flex; align-items: center; gap: 5px;
}
.breadcrumb a { color: var(--text2); text-decoration: none; }
.breadcrumb a:hover { color: var(--accent); }

.report-hero {
  background: var(--surface);
  border-bottom: 1px solid var(--border);
  padding: 20px 20px 0;
}
.hero-domain-row {
  display: flex; align-items: center; gap: 12px; margin-bottom: 8px;
}
.favicon-circle {
  width: 40px; height: 40px; border-radius: 50%;
  background: var(--accent-sub); border: 2px solid var(--accent-border);
  display: flex; align-items: center; justify-content: center;
  font-size: 20px;
}
.report-domain { font-size: 26px; font-weight: 800; color: var(--text); }
.domain-meta { font-size: 13px; color: var(--text2); margin-bottom: 12px; }
.domain-meta strong { color: var(--text); font-weight: 600; }

.badge-row { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; }
.badge {
  display: inline-flex; align-items: center; gap: 4px;
  font-size: 12px; font-weight: 600; padding: 3px 10px;
  border-radius: 20px; border: 1px solid;
}
.badge.green { color: #059669; border-color: rgba(5,150,105,0.3); background: var(--green-bg); }
.badge.red   { color: var(--red); border-color: rgba(239,68,68,0.2); background: var(--red-bg); }
.badge.amber { color: #D97706; border-color: rgba(217,119,6,0.25); background: var(--amber-bg); }
.badge.purple{ color: var(--accent); border-color: var(--accent-border); background: var(--accent-sub); }
.badge.gray  { color: var(--text2); border-color: var(--border); background: var(--surface2); }

.section-nav {
  position: sticky;
  top: 56px;
  z-index: 200;
  background: var(--surface);
  border-bottom: 1px solid var(--border);
  overflow-x: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.section-nav::-webkit-scrollbar { display: none; }
.nav-pills {
  display: flex; gap: 0; min-width: max-content; padding: 0 16px;
}
.nav-pill {
  padding: 12px 16px; font-size: 13px; font-weight: 600;
  color: var(--text2); white-space: nowrap;
  border-bottom: 3px solid transparent;
  cursor: pointer; transition: all 150ms; user-select: none;
}
.nav-pill:hover { color: var(--text); }
.nav-pill.active { color: var(--accent); border-bottom-color: var(--accent); }

.content { max-width: 900px; margin: 0 auto; padding: 0 16px; }

.section-card {
  background: var(--surface);
  border-radius: var(--radius-lg);
  border: 1px solid var(--border);
  box-shadow: var(--shadow);
  margin: 16px 0;
  overflow: hidden;
}
.section-header { padding: 20px 20px 0; }
.section-title {
  font-size: 18px; font-weight: 700; color: var(--text);
  display: flex; align-items: center; gap: 8px;
  margin-bottom: 4px;
}
.section-title .domain-prefix { color: var(--accent); font-weight: 800; }
.section-desc {
  font-size: 13px; color: var(--text2); line-height: 1.5;
  margin-bottom: 16px;
}
.section-body { padding: 0 20px 20px; }

.stat-grid {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 10px; margin-bottom: 16px;
}
@media (min-width: 600px) { .stat-grid { grid-template-columns: repeat(4, 1fr); } }
.stat-card {
  background: var(--surface2);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 16px;
}
.stat-value {
  font-size: 28px; font-weight: 800; line-height: 1.1;
  color: var(--text);
}
.stat-value.green { color: var(--green); }
.stat-value.amber { color: var(--amber); }
.stat-value.red   { color: var(--red); }
.stat-value.accent { color: var(--accent); }
.stat-label {
  font-size: 11px; font-weight: 700;
  letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--text2); margin-top: 6px;
}
.stat-sub {
  font-size: 12px; color: var(--text3); margin-top: 3px;
  display: flex; align-items: center; gap: 4px;
}
.stat-change {
  font-size: 11px; font-weight: 700; padding: 1px 6px;
  border-radius: 4px;
}
.stat-change.up { color: #059669; background: var(--green-bg); }
.stat-change.down { color: var(--red); background: var(--red-bg); }

.ai-box {
  background: linear-gradient(135deg, var(--accent-sub), rgba(124,58,237,0.03));
  border: 1px solid var(--accent-border);
  border-radius: var(--radius);
  padding: 16px;
  margin-bottom: 16px;
}
.ai-box-header {
  font-size: 12px; font-weight: 700; color: var(--accent);
  margin-bottom: 8px; display: flex; align-items: center; gap: 6px;
  text-transform: uppercase; letter-spacing: 0.05em;
}
.ai-box p {
  font-size: 14px; line-height: 1.7; color: var(--text);
}
.ai-box p strong { color: var(--accent); font-weight: 600; }

.data-row {
  display: flex; justify-content: space-between; align-items: center;
  padding: 12px 0; border-bottom: 1px solid var(--border);
  font-size: 14px; gap: 12px;
}
.data-row:last-child { border-bottom: none; }
.data-key { color: var(--text2); }
.data-val { color: var(--text); text-align: right; font-weight: 600; }
.data-val.mono, .mono { font-family: var(--mono); font-size: 13px; }

.score-bar-row {
  display: flex; align-items: center; gap: 12px;
  padding: 10px 0; border-bottom: 1px solid var(--border);
}
.score-bar-row:last-child { border-bottom: none; }
.score-bar-label { font-size: 14px; color: var(--text); flex: 1; }
.score-bar-track {
  width: 100px; height: 6px; background: var(--surface2);
  border-radius: 3px; overflow: hidden;
}
.score-bar-fill { height: 100%; border-radius: 3px; }
.score-bar-num { font-size: 13px; font-weight: 700; width: 40px; text-align: right; }

.ring-container { display: flex; align-items: center; justify-content: center; gap: 20px; margin-bottom: 16px; }
.ring-wrap { text-align: center; }
.ring-label { font-size: 12px; color: var(--text2); margin-top: 6px; font-weight: 600; }
.ring { position: relative; width: 90px; height: 90px; }
.ring svg { transform: rotate(-90deg); }
.ring-text {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
  font-size: 22px; font-weight: 800;
}

.chip-group-title {
  font-size: 12px; font-weight: 700; color: var(--text2);
  text-transform: uppercase; letter-spacing: 0.06em;
  margin: 16px 0 8px; padding-bottom: 6px;
  border-bottom: 1px solid var(--border);
}
.chip-list { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.chip {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 13px; font-weight: 500; padding: 6px 12px;
  border-radius: 8px; background: var(--surface2);
  border: 1px solid var(--border); color: var(--text);
  transition: border-color 150ms;
}
.chip:hover { border-color: var(--accent); }
.chip .conf { font-size: 11px; color: var(--green); font-weight: 700; }
.chip .ver { font-size: 11px; color: var(--text3); }

.bl-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.bl-item {
  display: flex; align-items: center; gap: 8px; font-size: 13px;
  color: var(--text); background: var(--surface2);
  border: 1px solid var(--border); border-radius: 8px;
  padding: 10px 12px; font-weight: 500;
}
.dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.dot.clean { background: var(--green); }
.dot.flagged { background: var(--red); }

.info-card {
  background: var(--surface2); border: 1px solid var(--border);
  border-radius: var(--radius); padding: 16px;
  margin-bottom: 10px; display: flex; align-items: flex-start; gap: 14px;
}
.info-card.positive { border-color: rgba(16,185,129,0.3); background: var(--green-bg); }
.info-card .info-icon { font-size: 28px; flex-shrink: 0; line-height: 1; }
.info-card .info-title { font-weight: 700; font-size: 15px; margin-bottom: 3px; }
.info-card .info-desc { font-size: 13px; color: var(--text2); line-height: 1.5; }

.cta-banner {
  background: linear-gradient(135deg, #7C3AED, #6D28D9);
  border-radius: var(--radius-lg);
  padding: 24px 20px;
  margin: 20px 0;
  text-align: center;
  color: white;
}
.cta-banner h3 { font-size: 18px; font-weight: 700; margin-bottom: 6px; }
.cta-banner p { font-size: 13px; opacity: 0.85; margin-bottom: 14px; }
.cta-btn {
  display: inline-block; background: white; color: var(--accent);
  font-weight: 700; font-size: 14px; padding: 10px 24px;
  border-radius: 24px; text-decoration: none;
  transition: transform 100ms;
}
.cta-btn:hover { transform: scale(1.03); }

.related-section { margin: 20px 0; padding: 0 4px; }
.related-title { font-size: 14px; font-weight: 700; color: var(--text); margin-bottom: 10px; }
.related-grid { display: flex; flex-wrap: wrap; gap: 8px; }
.related-link {
  font-size: 13px; color: var(--accent); background: var(--accent-sub);
  border: 1px solid var(--accent-border); padding: 6px 14px;
  border-radius: 20px; text-decoration: none; font-weight: 500;
  transition: background 150ms;
}
.related-link:hover { background: rgba(124,58,237,0.15); }

.report-footer {
  background: var(--surface);
  border-top: 1px solid var(--border);
  padding: 24px 20px;
  font-size: 13px; color: var(--text2);
  text-align: center; line-height: 1.8;
  margin-top: 20px;
}
.report-footer a { color: var(--accent); text-decoration: none; font-weight: 600; }

.scroll-top {
  position: fixed; bottom: 24px; right: 16px;
  background: var(--accent); color: white;
  width: 44px; height: 44px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 18px; cursor: pointer;
  box-shadow: var(--shadow-lg); z-index: 250;
  opacity: 0; pointer-events: none; transition: opacity 200ms;
  border: none;
}
.scroll-top.visible { opacity: 1; pointer-events: auto; }

@media (max-width: 420px) {
  .report-domain { font-size: 22px; }
  .stat-value { font-size: 24px; }
  .section-title { font-size: 16px; }
}
</style>
<script src="/ads.js" defer></script>
</head>
<body>

<!-- ═══ SITE HEADER ═══ -->
<header class="site-header">
  <a href="https://bitverzo.com" class="site-logo">Bitverzo<span>.com</span></a>
  <div class="header-search">
    <span style="color:var(--text3);font-size:14px;">🔍</span>
    <input type="text" value="e.kul.lublin.pl" placeholder="Analyze any domain..." aria-label="Search domain">
  </div>
  <nav style="display:flex;gap:16px;font-size:13px;">
    <a href="/" style="color:var(--text2);text-decoration:none;">Home</a>
    <a href="/about" style="color:var(--text2);text-decoration:none;">About</a>
  </nav>
</header>

<!-- ═══ BREADCRUMB (schema.org BreadcrumbList) ═══ -->
<nav class="breadcrumb" aria-label="Breadcrumb" itemscope itemtype="https://schema.org/BreadcrumbList">
  <span itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
    <a href="/" itemprop="item"><span itemprop="name">Home</span></a>
    <meta itemprop="position" content="1">
  </span>
  <span class="breadcrumb-sep">›</span>
  <span itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
    <span itemprop="name">e.kul.lublin.pl</span>
    <meta itemprop="item" content="https://bitverzo.com/report/e.kul.lublin.pl">
    <meta itemprop="position" content="2">
  </span>
</nav>

<!-- ═══ REPORT HERO ═══ -->
<div class="report-hero">
  <div class="hero-domain-row">
    <div class="favicon-circle">🌐</div>
    <div>
      <h1 class="report-domain">e.kul.lublin.pl</h1>
      <div class="domain-meta"></div>
    </div>
  </div>
  <div class="badge-row">
    <span class="badge green">✓ HTTPS</span>
<span class="badge green">✓ HTTP/2</span>
<span class="badge green">✓ Gzip 60.0%</span>
<span class="badge red">⚡ 56642ms</span>
  </div>
</div>

<!-- ═══ SECTION NAV (sticky) ═══ -->
<nav class="section-nav" aria-label="Report sections">
  <div class="nav-pills" id="navPills">
    <div class="nav-pill active" data-target="overview">Overview</div>
<div class="nav-pill" data-target="trust">Trust & Safety</div>
<div class="nav-pill" data-target="tech">Tech Stack</div>
<div class="nav-pill" data-target="performance">Performance</div>
<div class="nav-pill" data-target="dns">DNS & Domain</div>
<div class="nav-pill" data-target="page">Page Analysis</div>
<div class="nav-pill" data-target="seo">SEO</div>
<div class="nav-pill" data-target="intel">Intel</div>
<div class="nav-pill" data-target="related">Related</div>
  </div>
</nav>

<!-- ═══ MAIN CONTENT ═══ -->
<div class="content">

<!-- ─── OVERVIEW ─── -->
<div class="section-card" id="overview">
  <div class="section-header">
    <div class="section-title">
      <span class="domain-prefix">e.kul.lublin.pl</span> Overview
    </div>
    <p class="section-desc">Get a snapshot of e.kul.lublin.pl's online performance, security posture, and technology profile.</p>
  </div>
  <div class="section-body">
    <h2 style="display:none;">e.kul.lublin.pl Website Overview & Technology Report</h2>

    <div class="stat-grid">
      <div class="stat-card">
        <div class="stat-value green">70</div>
        <div class="stat-label">Trust Score</div>
        <div class="stat-sub">Likely Safe</div>
      </div>
      <div class="stat-card">
        <div class="stat-value amber">65</div>
        <div class="stat-label">Security</div>
        <div class="stat-sub">Headers: 4/6</div>
      </div>
      <div class="stat-card">
        <div class="stat-value" style="font-size:22px;">56642ms</div>
        <div class="stat-label">Response</div>
        <div class="stat-sub"><span class="stat-change down">Slow</span></div>
      </div>
      <div class="stat-card">
        <div class="stat-value accent">1</div>
        <div class="stat-label">Technologies</div>
        <div class="stat-sub">Detected</div>
      </div>
    </div>

    <div class="ai-box">
            <div class="ai-box-header">🤖 AI Analysis</div>
            <p>Our analysis of e.kul.lublin.pl reveals a domain that exudes a sense of trustworthiness, with a trust score of 70, indicating a "Likely Safe" verdict. With a page size of 9KB and a response time of 56.642 seconds, the domain's performance is satisfactory. The presence of HTTPS encryption and Gzip compression further enhances the user experience.</p>
        </div>

    <div class="data-row"><span class="data-key">Status Code</span><span class="data-val"><span class="badge green">200 OK</span></span></div><div class="data-row"><span class="data-key">HTTP Version</span><span class="data-val">HTTP/2</span></div><div class="data-row"><span class="data-key">Server</span><span class="data-val"><span class="data-val mono">Apache</span></span></div><div class="data-row"><span class="data-key">Page Size</span><span class="data-val">9 KB</span></div><div class="data-row"><span class="data-key">Total Requests</span><span class="data-val">30</span></div><div class="data-row"><span class="data-key">3rd Party Domains</span><span class="data-val">2</span></div><div class="data-row"><span class="data-key">SSL Certificate</span><span class="data-val">—</span></div><div class="data-row"><span class="data-key">TLS Version</span><span class="data-val">—</span></div><div class="data-row"><span class="data-key">IP Address</span><span class="data-val"><span class="mono">212.182.33.50</span></span></div><div class="data-row"><span class="data-key">Categories</span><span class="data-val"><a href="/tld/pl" style="color:var(--accent);text-decoration:none;font-weight:600;background:var(--accent-sub);padding:3px 10px;border-radius:12px;font-size:12px;">.PL</a> <a href="/tech/jquery" style="color:var(--accent);text-decoration:none;font-weight:600;background:var(--accent-sub);padding:3px 10px;border-radius:12px;font-size:12px;">⚙️ jQuery</a></span></div>
  </div>
</div>

<!-- ─── TRUST & SAFETY ─── -->
<div class="section-card" id="trust">
  <div class="section-header">
    <div class="section-title">
      <span class="domain-prefix">e.kul.lublin.pl</span> Trust & Safety
    </div>
    <p class="section-desc">Evaluate trustworthiness based on age, SSL, email authentication, security headers, and blacklist status across 8 threat databases.</p>
  </div>
  <div class="section-body">
    <h2 style="display:none;">e.kul.lublin.pl Trust Score & Safety Analysis</h2>

    <div class="ring-container">
      <div class="ring-wrap">
        <div class="ring">
          <svg width="90" height="90" viewBox="0 0 90 90">
            <circle cx="45" cy="45" r="38" fill="none" stroke="#E5E7EB" stroke-width="7"/>
            <circle cx="45" cy="45" r="38" fill="none" stroke="var(--green)" stroke-width="7"
              stroke-dasharray="239" stroke-dashoffset="72" stroke-linecap="round"/>
          </svg>
          <div class="ring-text" style="color:var(--green);">70</div>
        </div>
        <div class="ring-label">Trust Score</div>
      </div>
      <div class="ring-wrap">
        <div class="ring">
          <svg width="90" height="90" viewBox="0 0 90 90">
            <circle cx="45" cy="45" r="38" fill="none" stroke="#E5E7EB" stroke-width="7"/>
            <circle cx="45" cy="45" r="38" fill="none" stroke="var(--amber)" stroke-width="7"
              stroke-dasharray="239" stroke-dashoffset="84" stroke-linecap="round"/>
          </svg>
          <div class="ring-text" style="color:var(--amber);">65</div>
        </div>
        <div class="ring-label">Security</div>
      </div>
    </div>

    <div class="ai-box">
            <div class="ai-box-header">🤖 Trust Analysis</div>
            <p>The trust score of 70 is a testament to the domain's reputation. With SPF records in place, the domain is well-equipped to prevent email spoofing. While DMARC is not implemented, the domain's lack of it does not significantly compromise its trustworthiness. The absence of SSL certificates and TLS protocol is a minor concern, but the domain's overall trust score remains robust.</p>
        </div>

    <div class="score-bar-row">
      <span class="score-bar-label">HTTPS + HSTS</span>
      <div class="score-bar-track"><div class="score-bar-fill" style="width:100%;background:var(--green);"></div></div>
      <span class="score-bar-num" style="color:var(--green);">+12</span>
    </div><div class="score-bar-row">
      <span class="score-bar-label">SPF</span>
      <div class="score-bar-track"><div class="score-bar-fill" style="width:30%;background:var(--amber);"></div></div>
      <span class="score-bar-num" style="color:var(--amber);">+3</span>
    </div><div class="score-bar-row">
      <span class="score-bar-label">SSL Certificate</span>
      <div class="score-bar-track"><div class="score-bar-fill" style="width:0%;background:var(--red);"></div></div>
      <span class="score-bar-num" style="color:var(--red);">−10</span>
    </div><div class="score-bar-row">
      <span class="score-bar-label">Security Headers</span>
      <div class="score-bar-track"><div class="score-bar-fill" style="width:65%;background:var(--amber);"></div></div>
      <span class="score-bar-num" style="color:var(--amber);">−5</span>
    </div>

    <h3 style="font-size:14px;font-weight:700;color:var(--text);margin:20px 0 10px;">Security Headers</h3>
    <div class="data-row"><span class="data-key">Content-Security-Policy</span><span class="data-val"><span class="badge red">✗ Missing</span></span></div><div class="data-row"><span class="data-key">HSTS</span><span class="data-val"><span class="badge green">✓ Set</span></span></div><div class="data-row"><span class="data-key">X-Frame-Options</span><span class="data-val"><span class="badge green">✓ Set</span></span></div><div class="data-row"><span class="data-key">X-Content-Type-Options</span><span class="data-val"><span class="badge green">✓ Set</span></span></div><div class="data-row"><span class="data-key">Referrer-Policy</span><span class="data-val"><span class="badge green">✓ Set</span></span></div><div class="data-row"><span class="data-key">Permissions-Policy</span><span class="data-val"><span class="badge red">✗ Missing</span></span></div>

    <h3 style="font-size:14px;font-weight:700;color:var(--text);margin:20px 0 10px;display:flex;justify-content:space-between;">
      Blacklist Checks
      <span style="font-size:12px;font-weight:600;color:var(--green);background:var(--green-bg);padding:3px 10px;border-radius:10px;">8/8 Clean ✓</span>
    </h3>
    <div class="bl-grid">
      <div class="bl-item"><div class="dot clean"></div>Google Safe Browsing</div>
<div class="bl-item"><div class="dot clean"></div>Phishtank</div>
<div class="bl-item"><div class="dot clean"></div>Urlhaus</div>
<div class="bl-item"><div class="dot clean"></div>Openphish</div>
<div class="bl-item"><div class="dot clean"></div>Dnsfilter</div>
<div class="bl-item"><div class="dot clean"></div>Spamhaus Dbl</div>
<div class="bl-item"><div class="dot clean"></div>Surbl</div>
<div class="bl-item"><div class="dot clean"></div>Virustotal</div>

    </div>

    
  </div>
</div>

<!-- CTA BANNER -->
<div class="cta-banner">
  <h3>🔍 Analyze Your Own Website</h3>
  <p>Check your site's trust score, security headers, tech stack and 50+ metrics — completely free.</p>
  <a href="https://bitverzo.com" class="cta-btn">Analyze Now →</a>
</div>

<!-- ─── TECH STACK ─── -->
<div class="section-card" id="tech">
  <div class="section-header">
    <div class="section-title">
      <span class="domain-prefix">e.kul.lublin.pl</span> Technology Stack
      <span style="font-size:12px;font-weight:600;color:var(--text2);background:var(--surface2);padding:3px 10px;border-radius:10px;">1 detected</span>
    </div>
    <p class="section-desc">Discover every technology powering this website — from CMS and frameworks to analytics, payments, and marketing tools.</p>
  </div>
  <div class="section-body">
    <h2 style="display:none;">e.kul.lublin.pl Technology Stack & Detected Technologies</h2>

    <div class="ai-box">
            <div class="ai-box-header">🤖 Stack Analysis</div>
            <p>The domain's technology stack is straightforward, with a single technology, jQuery, being employed. This suggests a relatively simple architecture, which can be both a blessing and a curse. The domain's reliance on a single technology may make it vulnerable to potential issues, but it also reduces the complexity and potential attack surface. The use of Gzip compression is a welcome move, as it enhances page load times and reduces server load.</p>
        </div>

    <div class="chip-group-title">📦 JavaScript Library</div>
<div class="chip-list">
  <a href="/tech/jquery" class="chip" style="text-decoration:none;color:inherit;">jQuery <span class="ver">3.7.1.</span> <span class="conf">100%</span></a>
</div>


    
  </div>
</div>

<!-- ─── PERFORMANCE ─── -->
<div class="section-card" id="performance">
  <div class="section-header">
    <div class="section-title">
      <span class="domain-prefix">e.kul.lublin.pl</span> Performance & Web Vitals
    </div>
    <p class="section-desc">Response time, compression, CDN usage, Core Web Vitals, and environmental impact metrics for e.kul.lublin.pl.</p>
  </div>
  <div class="section-body">
    <h2 style="display:none;">e.kul.lublin.pl Performance & Web Vitals Report</h2>

    <div class="ai-box">
            <div class="ai-box-header">🤖 Performance Analysis</div>
            <p><strong>e.kul.lublin.pl</strong> delivers its homepage in <strong>56642ms</strong> (server response time), which is considered <strong>slow</strong> by industry standards. The total page weight is <strong>9 KB</strong>, and we detected <strong>30 resource requests</strong> loading assets from <strong>2 third-party domains</strong>. A high number of third-party domains can significantly impact page load time due to additional DNS lookups and TLS handshakes required for each domain.

The website uses <strong>Gzip compression</strong> for text-based assets, achieving an estimated <strong>60.0% reduction</strong> in transfer size. This reduces bandwidth usage and improves page load times, especially for visitors on slower connections.

Asset minification status: <strong>0 out of 2</strong> CSS files and <strong>1 out of 2</strong> JavaScript files are minified. Minifying the remaining 3 unminified file(s) could further reduce page weight by 10-30% for those assets. Minification is a best practice that reduces download sizes without affecting functionality.

From an environmental perspective, each page view of e.kul.lublin.pl produces approximately <strong>0.0g of CO₂</strong>, earning a carbon rating of <strong>A</strong>. This places the website among the cleanest on the web, demonstrating efficient use of server resources and optimized content delivery. For reference, the average web page produces about 0.5g of CO₂ per page view. The page weight of 9 KB is the primary factor in this calculation.

Core Web Vitals data from the Chrome User Experience Report (CrUX) is <strong>not available</strong> for e.kul.lublin.pl. This typically means the site doesn't have enough real-world Chrome user traffic to generate statistically significant field data, or the domain is not included in the CrUX dataset. Core Web Vitals (LCP, INP, CLS) are important Google ranking factors that measure real user experience.</p>
        </div>

    <div class="data-row"><span class="data-key">Response Time</span><span class="data-val">56642ms <span class="badge red">Slow</span></span></div><div class="data-row"><span class="data-key">Page Size</span><span class="data-val">9 KB</span></div><div class="data-row"><span class="data-key">Compression</span><span class="data-val">Gzip <span class="badge green">60.0% savings</span></span></div><div class="data-row"><span class="data-key">CDN</span><span class="data-val"><span class="badge gray">Not detected</span></span></div>

    
  </div>
</div>

<!-- ─── DNS & DOMAIN ─── -->
<div class="section-card" id="dns">
  <div class="section-header">
    <div class="section-title">
      <span class="domain-prefix">e.kul.lublin.pl</span> DNS & Domain Info
    </div>
    <p class="section-desc">Complete DNS record analysis including email authentication (SPF, DMARC, DKIM), registrar details, and subdomain discovery.</p>
  </div>
  <div class="section-body">
    <h2 style="display:none;">e.kul.lublin.pl DNS Records, Email Authentication & Domain Registration</h2>

    <div class="ai-box">
            <div class="ai-box-header">🤖 DNS Analysis</div>
            <p>The domain's infrastructure is relatively modest, with a single IP address (212.182.33.50) and a registrar (kul.pl) that is not explicitly disclosed. The absence of information on the domain's server infrastructure, such as the operating system, web server, and database, raises some concerns about its overall reliability and scalability.</p>
        </div>

    <div class="data-row"><span class="data-key">IP Address</span><span class="data-val"><span class="mono">212.182.33.50</span></span></div><div class="data-row"><span class="data-key">MX Provider</span><span class="data-val">kul.pl <span style="color:var(--text3);font-weight:400;font-size:12px;">(mx1.kul.pl)</span></span></div><div class="data-row"><span class="data-key">SPF</span><span class="data-val"><span class="badge green">✓ Configured</span></span></div><div class="data-row"><span class="data-key">DMARC</span><span class="data-val"><span class="badge red">✗ Not set</span></span></div><div class="data-row"><span class="data-key">DKIM</span><span class="data-val"><span class="badge red">✗ Not found</span></span></div><div class="data-row"><span class="data-key">DNSSEC</span><span class="data-val"><span class="badge amber">✗ Not enabled</span></span></div><div class="data-row"><span class="data-key">IPv6</span><span class="data-val"><span class="badge gray">Not detected</span></span></div><div class="data-row"><span class="data-key">WHOIS Privacy</span><span class="data-val"><span class="badge amber">🔒 Private</span></span></div>

    

    
  </div>
</div>

<!-- ─── PAGE ANALYSIS ─── -->
<div class="section-card" id="page">
  <div class="section-header">
    <div class="section-title">
      <span class="domain-prefix">e.kul.lublin.pl</span> Page Analysis
    </div>
    <p class="section-desc">Content structure, media assets, cookie usage, payment methods, and social media presence for e.kul.lublin.pl.</p>
  </div>
  <div class="section-body">
    <h2 style="display:none;">e.kul.lublin.pl Page Content Analysis</h2>

    <div class="ai-box">
            <div class="ai-box-header">🤖 Content Analysis</div>
            <p>The homepage of <strong>e.kul.lublin.pl</strong> contains <strong>73 words</strong> of visible text content. This is a relatively short page — adding more descriptive content could improve search engine visibility. The page is structured with <strong>1 H2 headings</strong>, <strong>0 H3 headings</strong>, <strong>0 H4 headings</strong>.

The page includes <strong>2 images</strong>. All images have proper <strong>alt text attributes</strong> ✓, which is excellent for both accessibility (screen readers) and SEO (search engines can understand image content).

The link structure consists of <strong>21 internal links</strong> pointing to other pages on the same domain and <strong>1 external link</strong> pointing to third-party websites. There are <strong>2 external JavaScript files</strong>, <strong>2 CSS stylesheets</strong>, and <strong>0 iframes</strong> on the page.

Notable missing features: XML Sitemap, robots.txt, and Schema.org structured data. Adding these could improve search engine discoverability and rich result eligibility.</p>
        </div>

    <div class="data-row"><span class="data-key">Word Count</span><span class="data-val">73 words</span></div><div class="data-row"><span class="data-key">Images</span><span class="data-val">2 total · <span class="badge green">100% alt coverage</span></span></div><div class="data-row"><span class="data-key">Internal Links</span><span class="data-val">21</span></div><div class="data-row"><span class="data-key">External Links</span><span class="data-val">1</span></div><div class="data-row"><span class="data-key">JS Files</span><span class="data-val">2</span></div><div class="data-row"><span class="data-key">CSS Files</span><span class="data-val">2</span></div>

    

    
  </div>
</div>

<!-- ─── SEO & CONTENT ─── -->
<div class="section-card" id="seo">
  <div class="section-header">
    <div class="section-title">
      <span class="domain-prefix">e.kul.lublin.pl</span> SEO & Content Analysis
    </div>
    <p class="section-desc">Evaluate on-page SEO factors including meta tags, Schema.org markup, content metrics, social presence, and environmental impact.</p>
  </div>
  <div class="section-body">
    <h2 style="display:none;">e.kul.lublin.pl SEO Analysis, Meta Tags & Content</h2>

    <div class="ai-box">
            <div class="ai-box-header">🤖 SEO Analysis</div>
            <p>The domain's SEO performance is average, with a word count of 73 and only two images present. The title "Logowanie do e-KUL" is descriptive and accurately reflects the page's content. However, the lack of meta descriptions, header tags, and internal linking opportunities may hinder the domain's search engine optimization efforts. Nevertheless, the domain's overall SEO performance is satisfactory, considering its primary focus on user authentication rather than search engine optimization.</p>
        </div>

    <div class="data-row"><span class="data-key">Title</span><span class="data-val"><span style="font-size:13px;max-width:220px;">Logowanie do e-KUL</span></span></div><div class="data-row"><span class="data-key">H1</span><span class="data-val"><span class="mono" style="font-size:12px;"></span></span></div><div class="data-row"><span class="data-key">Word Count</span><span class="data-val">73 words</span></div><div class="data-row"><span class="data-key">Images</span><span class="data-val">2 total</span></div><div class="data-row"><span class="data-key">Internal Links</span><span class="data-val">21</span></div><div class="data-row"><span class="data-key">External Links</span><span class="data-val">1</span></div><div class="data-row"><span class="data-key">JS Files</span><span class="data-val">2</span></div><div class="data-row"><span class="data-key">CSS Files</span><span class="data-val">2</span></div><div class="data-row"><span class="data-key">Heading Structure</span><span class="data-val">H2:1</span></div><div class="data-row"><span class="data-key">Redirect Chain</span><span class="data-val"><span style="font-size:11px;">http://e.kul.lublin.pl</span> → <span style="font-size:11px;">https://e.kul.pl/</span> → <span style="font-size:11px;">https://e.kul.pl/login.html</span></span></div><div class="data-row"><span class="data-key">Minification</span><span class="data-val">JS: 1/2 minified · CSS: 0/2 minified</span></div><div class="data-row"><span class="data-key">Sitemap</span><span class="data-val"><span class="badge red">✗ Not found</span></span></div><div class="data-row"><span class="data-key">Robots.txt</span><span class="data-val"><span class="badge red">✗ Not found</span></span></div><div class="data-row"><span class="data-key">Canonical</span><span class="data-val"><span class="badge gray">Not set</span></span></div><div class="data-row"><span class="data-key">Language</span><span class="data-val">pl</span></div><div class="data-row"><span class="data-key">Open Graph</span><span class="data-val"><span class="badge gray">Not set</span></span></div><div class="data-row"><span class="data-key">Twitter Card</span><span class="data-val"><span class="badge gray">Not set</span></span></div><div class="data-row"><span class="data-key">PWA</span><span class="data-val"><span class="badge gray">Not detected</span></span></div><div class="data-row"><span class="data-key">RSS Feed</span><span class="data-val"><span class="badge gray">Not detected</span></span></div><div class="data-row"><span class="data-key">AMP</span><span class="data-val"><span class="badge gray">Not detected</span></span></div>

    

    <h3 style="font-size:16px;font-weight:700;margin:24px 0 12px;">Google SERP Preview</h3>
    <div style="background:var(--surface2);border:1px solid var(--border);border-radius:10px;padding:16px;margin:16px 0;">
      <div style="font-size:18px;color:#1a0dab;font-weight:400;cursor:pointer;">Logowanie do e-KUL</div>
      <div style="font-size:14px;color:#006621;margin:2px 0;">https://e.kul.lublin.pl</div>
      <div style="font-size:13px;color:var(--text2);line-height:1.4;">e-KUL</div>
    </div>

    <h3 style="font-size:16px;font-weight:700;margin:24px 0 12px;">META TAGS & SCHEMA.ORG</h3>
    <div style="display:grid;grid-template-columns:1fr 1fr;gap:16px;">
      <div>
        <h4 style="font-size:13px;font-weight:700;color:var(--text2);text-transform:uppercase;letter-spacing:0.06em;margin-bottom:8px;">META TAGS</h4>
        <div class="data-row"><span class="data-key">Title</span><span class="data-val"><span class="mono" style="font-size:12px;max-width:200px;word-break:break-all;">Logowanie do e-KUL</span></span></div>
        <div class="data-row"><span class="data-key">Title Length</span><span class="data-val">18 chars <span class="badge amber">Too short</span></span></div>
        <div class="data-row"><span class="data-key">Meta Desc Length</span><span class="data-val">5 chars <span class="badge amber">Too short</span></span></div>
        <div class="data-row"><span class="data-key">H1</span><span class="data-val"><span class="mono" style="font-size:12px;">—</span></span></div>
        <div class="data-row"><span class="data-key">Language</span><span class="data-val">pl</span></div>
        <div class="data-row"><span class="data-key">Canonical</span><span class="data-val"><span class="badge gray">Not set</span></span></div>
        <div class="data-row"><span class="data-key">Meta Robots</span><span class="data-val"><span class="mono" style="font-size:12px;">—</span></span></div>
      </div>
      <div>
        <h4 style="font-size:13px;font-weight:700;color:var(--text2);text-transform:uppercase;letter-spacing:0.06em;margin-bottom:8px;">SCHEMA.ORG & SOCIAL</h4>
        <div class="data-row"><span class="data-key">Schema Types</span><span class="data-val"><span style="font-size:12px;">—</span></span></div>
        <div class="data-row"><span class="data-key">OG Type</span><span class="data-val">—</span></div>
        <div class="data-row"><span class="data-key">OG Image</span><span class="data-val"><span class="badge gray">Not set</span></span></div>
        <div class="data-row"><span class="data-key">Twitter Card</span><span class="data-val"><span class="badge gray">Not set</span></span></div>
        <div class="data-row"><span class="data-key">Favicon</span><span class="data-val"><span class="badge green">✓ Found</span></span></div>
      </div>
    </div>
    <style>@media(max-width:600px){[style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr!important}}</style>
  </div>
</div>



<!-- ─── RELATED (NEW) ─── -->
<div class="section-card" id="related">
  <div class="section-header">
    <div class="section-title">
      <span class="domain-prefix">e.kul.lublin.pl</span> Related Domains
    </div>
    <p class="section-desc">Domains sharing tracking IDs, IP addresses, or analytics properties with e.kul.lublin.pl.</p>
  </div>
  <div class="section-body">
    <h2 style="display:none;">e.kul.lublin.pl Related Domains & Cross-Referenced Sites</h2>

    <div style="padding:20px;text-align:center;color:var(--text2);font-size:14px;">Related domain data becomes available after batch crawling.</div>
  </div>
</div>

<!-- CTA BANNER 2 -->
<div class="cta-banner" style="background: linear-gradient(135deg, #1E293B, #334155);">
  <h3>📊 Compare With Your Competitors</h3>
  <p>See how your website stacks up against e.kul.lublin.pl in trust, speed, security, and technology.</p>
  <a href="https://bitverzo.com" class="cta-btn">Compare Now →</a>
</div>

<!-- ─── BROWSE BY CATEGORY ─── -->
<div class="section-card" style="background:var(--surface);border:1px solid var(--border);">
  <div class="section-body" style="padding:20px;">
    <h3 style="font-size:16px;font-weight:700;color:var(--text);margin:0 0 14px;display:flex;align-items:center;gap:8px;">
      📂 Browse by Category
    </h3>
    <div style="display:flex;flex-wrap:wrap;gap:8px;">
      <a href="/tech/jquery" style="display:inline-block;padding:6px 14px;background:var(--accent-sub);color:var(--accent);border:1px solid var(--accent-border);border-radius:20px;text-decoration:none;font-size:13px;font-weight:500;">⚙️ jQuery</a>
      <a href="/tld/pl" style="display:inline-block;padding:6px 14px;background:var(--accent-sub);color:var(--accent);border:1px solid var(--accent-border);border-radius:20px;text-decoration:none;font-size:13px;font-weight:500;">🌐 .PL domains</a>
      
      <a href="/top/trust-score" style="display:inline-block;padding:6px 14px;background:var(--accent-sub);color:var(--accent);border:1px solid var(--accent-border);border-radius:20px;text-decoration:none;font-size:13px;font-weight:500;">🏆 Top Trust Scores</a>
      <a href="/categories" style="display:inline-block;padding:6px 14px;background:var(--accent-sub);color:var(--accent);border:1px solid var(--accent-border);border-radius:20px;text-decoration:none;font-size:13px;font-weight:500;">📋 All Categories</a>
    </div>
  </div>
</div>

<!-- ─── RELATED REPORTS (internal links) ─── -->

<!-- Badge CTA -->
<div style="background:linear-gradient(135deg,#7C3AED 0%,#a78bfa 100%);border-radius:16px;padding:28px 32px;margin:32px 0;color:white;text-align:center;">
  <div style="font-size:20px;font-weight:700;margin-bottom:8px;">&#128737; Is this your website?</div>
  <p style="margin-bottom:16px;opacity:0.9;">Show visitors your trust score — add a free badge to your site</p>
  <div style="display:flex;justify-content:center;align-items:center;gap:16px;flex-wrap:wrap;">
    <img src="/badge/e.kul.lublin.pl" alt="Trust Score Badge" height="28" style="border-radius:4px;">
    <a href="/embed" style="display:inline-block;padding:10px 24px;background:white;color:#7C3AED;border-radius:10px;font-weight:700;text-decoration:none;font-size:14px;">Get Your Badge &rarr;</a>
  </div>
</div>



</div><!-- /content -->

<!-- ═══ FOOTER ═══ -->
<footer class="report-footer">
  <div>Last analyzed: June 28, 2026 09:37 UTC · Crawled in 154,851ms</div>
  <div style="margin-top:8px;">
    <a href="https://bitverzo.com">Analyze another domain →</a>
  </div>
  <div style="margin-top:12px;font-size:11px;color:var(--text3);">
    © 2026 Bitverzo.com · Free Website Analysis & Trust Score ·
    <a href="/privacy" style="color:var(--text3);">Privacy</a> ·
    <a href="/about" style="color:var(--text3);">About</a>
  </div>
  <p style="margin-top:8px;max-width:800px;margin-left:auto;margin-right:auto;font-size:11px;color:var(--text3);">
    Bitverzo provides free, comprehensive website analysis including technology stack detection, SSL certificate verification, DNS record inspection, security header auditing, trust scoring, SEO metadata evaluation, and page content analysis for any domain.
  </p>
</footer>

<!-- SCROLL TO TOP -->
<button class="scroll-top" id="scrollTop" onclick="window.scrollTo({top:0,behavior:'smooth'})">↑</button>

<script>
// Sticky nav pill tracking
const sections = document.querySelectorAll('.section-card[id]');
const pills = document.querySelectorAll('.nav-pill[data-target]');

// Click navigation
pills.forEach(pill => {
  pill.addEventListener('click', () => {
    const target = document.getElementById(pill.dataset.target);
    if (target) {
      const offset = 56 + 48 + 16;
      window.scrollTo({ top: target.offsetTop - offset, behavior: 'smooth' });
    }
  });
});

// Scroll spy
const observer = new IntersectionObserver(entries => {
  entries.forEach(entry => {
    if (entry.isIntersecting) {
      pills.forEach(p => p.classList.remove('active'));
      const pill = document.querySelector(`.nav-pill[data-target="${entry.target.id}"]`);
      if (pill) {
        pill.classList.add('active');
        pill.scrollIntoView({ inline: 'center', behavior: 'smooth', block: 'nearest' });
      }
    }
  });
}, { rootMargin: '-120px 0px -60% 0px', threshold: 0 });

sections.forEach(s => observer.observe(s));

// Scroll-to-top button
window.addEventListener('scroll', () => {
  document.getElementById('scrollTop').classList.toggle('visible', window.scrollY > 400);
});
</script>

</body>
</html>