/* ArtifactScan – landing.css v2.2.0
   Styles for /artifactscan/about (landing page) and the shared
   ac-site-footer that appears on every public page.
   Depends on: Plus Jakarta Sans loaded via public.css or front.css.
   ------------------------------------------------------------------ */

/* ═══════════════════════════════════════════════
   SHARED SITE FOOTER  (overview + detail + landing)
═══════════════════════════════════════════════ */

.ac-site-footer {
    background: #ffffff;
    border-top: 1px solid #dde3ef;
    padding: 28px 32px 24px;
    font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
}

.ac-site-footer__inner {
    max-width: 960px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 28px;
    justify-content: space-between;
}

.ac-site-footer__brand {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.ac-site-footer__logo {
    font-size: .92rem;
    font-weight: 800;
    color: #4338ca;
    text-decoration: none;
    letter-spacing: -.02em;
}
.ac-site-footer__logo:hover { text-decoration: underline; }

.ac-site-footer__copy {
    font-size: .74rem;
    color: #52607a;
    line-height: 1.65;
    margin: 0;
}
.ac-site-footer__copy a {
    color: #4338ca;
    text-decoration: none;
}
.ac-site-footer__copy a:hover { text-decoration: underline; }

.ac-site-footer__eu {
    display: flex;
    align-items: center;
    gap: 12px;
    background: #f2f5fb;
    border: 1px solid #dde3ef;
    border-radius: 10px;
    padding: 12px 16px;
    max-width: 380px;
}

.ac-eu-flag {
    width: 42px;
    height: 29px;
    flex-shrink: 0;
    border-radius: 3px;
    overflow: hidden;
    display: block;
}

.ac-site-footer__eu-text {
    font-size: .72rem;
    color: #374151;
    line-height: 1.55;
}
.ac-site-footer__eu-text strong {
    display: block;
    font-weight: 700;
    color: #1e2a3a;
    margin-bottom: 3px;
    font-size: .74rem;
}

@media (max-width: 620px) {
    .ac-site-footer { padding: 24px 18px; }
    .ac-site-footer__inner { flex-direction: column; gap: 20px; }
    .ac-site-footer__eu { max-width: 100%; }
}

/* ═══════════════════════════════════════════════
   LANDING PAGE WRAPPER
═══════════════════════════════════════════════ */

.ac-landing {
    font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
    background: #f2f5fb;
    color: #0d1117;
    display: flex;
    flex-direction: column;
	min-height: calc(100vh / 0.85) !important;

}

/* ── Top bar ── */
.ac-land-topbar {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 0 32px;
    height: 54px;
    background: #ffffff;
    border-bottom: 1px solid #dde3ef;
    position: sticky;
    top: 0;
    z-index: 100;
    flex-shrink: 0;
}

.ac-land-brand {
    font-size: .95rem;
    font-weight: 800;
    color: #4338ca;
    text-decoration: none;
    letter-spacing: -.02em;
    flex-shrink: 0;
}
.ac-land-brand:hover { opacity: .8; }

.ac-land-nav {
    display: flex;
    gap: 4px;
    margin-left: auto;
}
.ac-land-nav a {
    padding: 6px 14px;
    border-radius: 7px;
    font-size: .82rem;
    font-weight: 600;
    text-decoration: none;
    color: #52607a;
    transition: background .13s, color .13s;
}
.ac-land-nav a:hover  { background: #eef1f8; color: #4338ca; }
.ac-land-nav a.active { background: #ede9fe; color: #4338ca; }

/* ── Page body ── */
.ac-land-body {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 48px 24px;
}

/* ── Card ── */
.ac-land-card {
    background: #ffffff;
    border-radius: 16px;
    box-shadow: 0 2px 12px rgba(0,0,0,.08);
    max-width: 75%;
    width: 100%;
    overflow: hidden;
}

/* ── Card banner ── */
.ac-land-card__banner {
    background: linear-gradient(135deg, #1e1b4b 0%, #312e81 55%, #1e3a8a 100%);
    padding: 0px 40px 40px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.ac-land-card__banner::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 60% 40%, rgba(99,102,241,.32) 0%, transparent 65%);
    pointer-events: none;
}

.ac-land-card__geant-logo {
    height: 150px;
    width: auto;
    position: relative;
}

.ac-land-card__banner h1 {
    font-size: 1.9rem;
    font-weight: 800;
    color: #ffffff;
    letter-spacing: -.03em;
    margin: 0;
    position: relative;
}

/* ── Card body ── */
.ac-land-card__body {
    padding: 36px 40px 40px;
}

.ac-land-card__body h2 {
    font-size: 1.15rem;
    font-weight: 700;
    color: #0f172a;
    margin: 0 0 16px;
    letter-spacing: -.02em;
}

.ac-land-card__body p {
    font-size: .93rem;
    color: #475569;
    line-height: 1.75;
    margin: 0 0 14px;
}

.ac-land-card__body p:last-of-type {
    margin-bottom: 28px;
}

.ac-land-card__body a:not(.ac-land-btn) {
    color: #4338ca;
    text-decoration: none;
}
.ac-land-card__body a:not(.ac-land-btn):hover {
    text-decoration: underline;
}

/* ── Button ── */
.ac-land-btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 11px 22px;
    border-radius: 9px;
    font-size: .88rem;
    font-weight: 700;
    font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
    text-decoration: none;
    cursor: pointer;
    border: none;
    transition: opacity .14s, transform .12s;
}
.ac-land-btn:hover { color: #fff; opacity: .88; transform: translateY(-1px); }

.ac-land-btn--primary {
    background: #4338ca;
    color: #ffffff;
}

/* ── Responsive ── */
@media (max-width: 640px) {
    .ac-land-topbar        { padding: 0 16px; }
    .ac-land-body          { padding: 24px 16px; align-items: flex-start; }
    .ac-land-card__banner  { padding: 36px 24px 32px; }
    .ac-land-card__body    { padding: 28px 24px 32px; }
    .ac-land-card__banner h1 { font-size: 1.5rem; }
}

html {
    margin-top: 0px !important;
}