/* ── Footer ────────────────────────────────────────── */
.footer-logo {
  font-size: 0.95rem;
  font-weight: var(--fw-semibold);
  letter-spacing: -0.02em;
  color: var(--text);
  transition: color 0.25s ease;
  cursor: default;
}

.footer-logo:hover {
  color: var(--accent);
}


.footer-email {
  font-size: 0.78rem;
  color: var(--text-muted);
  transition: color var(--ease);
}

.footer-email:hover { color: var(--text); }

/* ── Hero subheadline ("Justitia goes Agentic.") ──── */
.hero-subheadline {
  font-size: 0.875rem;
  font-weight: var(--fw-medium);
  font-style: italic;
  color: var(--color-petrol);
  letter-spacing: -0.01em;
  margin-top: 12px;
  text-align: center;
}

/* ── Hero tagline ──────────────────────────────────── */
.hero-tagline {
  display: block;
  font-size: 0.72rem;
  font-weight: var(--fw-normal);
  color: var(--text-muted);
  letter-spacing: 0.04em;
  margin-bottom: 16px;
}

@keyframes ellipsis {
  0%,  32% { content: '.'; }
  33%, 65% { content: '..'; }
  66%, 99% { content: '...'; }
}

.hero-tagline::after {
  content: '.';
  margin-left: 2px;
  color: var(--accent);
  animation: ellipsis 1.5s step-start infinite;
}

/* ── Section intro description ─────────────────────── */
.section-desc {
  margin-top: var(--sp-4);
  font-size: 0.9375rem;
  line-height: 1.72;
  color: var(--text-muted);
  max-width: 58ch;
}

.section-desc--wide {
  max-width: none;
}

#team .section-desc { max-width: 90ch; }

#team .section-desc,
#products .section-desc {
  position: relative;
}

#team .section-desc::after,
#products .section-desc::after {
  content: "";
  position: absolute;
  inset: -20px -32px;
  background: radial-gradient(ellipse at 30% 50%, rgba(232, 224, 208, 0.55) 0%, transparent 70%);
  filter: blur(18px);
  z-index: -1;
  pointer-events: none;
}


/* ── Made in Austria badge ─────────────────────────── */
.made-in-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: auto;
  font-family: 'Source Serif 4', serif;
  font-size: 0.82rem;
  font-weight: var(--fw-normal);
  color: var(--color-text-light);
  letter-spacing: 0.04em;
  transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
  cursor: default;
}

.made-in-badge:hover {
  transform: translateY(-2px);
}

/* CSS-drawn Austrian flag: red / white / red */
.austria-flag {
  display: inline-block;
  width: 24px;
  height: 18px;
  border-radius: 2px;
  background: linear-gradient(
    to bottom,
    #C8102E 0% 33.33%,
    #FFFFFF 33.33% 66.66%,
    #C8102E 66.66% 100%
  );
  flex-shrink: 0;
  box-shadow: 0 0 0 0.5px rgba(0, 0, 0, 0.12);
}

/* ── Product panel icon (secondary cards) ───────────── */
.product-panel-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: var(--r-md);
  background: rgba(45, 106, 94, 0.1);
  color: var(--color-petrol);
  margin-bottom: 18px;
  flex-shrink: 0;
}

/* ── Partners bar ──────────────────────────────────── */
.partners-label {
  font-size: 0.69rem;
  font-weight: var(--fw-semibold);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text-muted);
  white-space: nowrap;
  align-self: flex-start;
  text-align: left;
}

.partner-logo {
  height: 100px;
  width: auto;
  max-width: 440px;
  object-fit: contain;
}
