/* ============================================
   Fuchs-Tec GmbH – Temporäre Landingpage
   ============================================ */

:root {
  --color-red: #e10413;
  --color-red-dark: #b8030f;
  --color-black: #0c0c0d;
  --color-anthracite: #1c1d1f;
  --color-gray-light: #e9e9ea;
  --color-white: #ffffff;

  --font-base: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }

html, body {
  margin: 0;
  padding: 0;
  height: 100%;
}

body {
  font-family: var(--font-base);
  color: var(--color-white);
  background: var(--color-black);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

img { max-width: 100%; display: block; }

a { color: inherit; text-decoration: none; }
a:hover, a:focus-visible { text-decoration: underline; }

address { font-style: normal; }

/* ---------- Hero (full page) ---------- */
.hero {
  position: relative;
  min-height: 100svh;
  width: 100%;
  overflow: hidden;
  isolation: isolate;
}

.hero-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 42%;
  z-index: 0;
}

/* Tiny, soft local patch directly behind the headline/subline glyphs only —
   everything else (sky, mountains, CAD plant) stays at original brightness. */
.hero-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    radial-gradient(ellipse 420px 220px at 19% 43%, rgba(4,4,5,0.09) 0%, rgba(4,4,5,0.03) 50%, rgba(4,4,5,0) 80%);
}

.hero-inner {
  position: relative;
  z-index: 2;
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  padding: clamp(1.75rem, 4vw, 3.5rem) clamp(1.5rem, 6vw, 5.5rem);
}

/* ---------- Logo + Headline + Subheadline composition ---------- */
.hero-block {
  max-width: 640px;
  margin-top: 24px;
}

.brand-logo {
  width: clamp(247px, 27vw, 452px);
  height: auto;
  margin: 0 0 1.75rem;
  filter: drop-shadow(0 2px 16px rgba(0,0,0,0.5));
}

.headline {
  font-size: clamp(1.9rem, 3.4vw, 2.75rem);
  font-weight: 600;
  line-height: 1.12;
  letter-spacing: -0.01em;
  color: var(--color-white);
  margin: 0 0 1.5rem;
  text-shadow: 0 2px 16px rgba(0,0,0,0.45);
}

.accent-dot {
  color: var(--color-red);
}

.subline {
  display: flex;
  align-items: stretch;
  gap: 1rem;
  max-width: 420px;
}

.subline-bar {
  flex: 0 0 3px;
  width: 3px;
  background: var(--color-red);
  border-radius: 2px;
}

.subline-text {
  font-size: clamp(0.95rem, 1.3vw, 1.05rem);
  line-height: 1.4;
  color: rgba(255,255,255,0.82);
  margin: 0;
}

/* ---------- Status line ("Website im Aufbau") ---------- */
.hero-status {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-top: 2.75rem;
}

.status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--color-red);
  align-self: center;
}

.status-tag {
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: clamp(0.8rem, 1.5vw, 0.95rem);
  font-weight: 700;
  color: rgba(255,255,255,0.75);
}

.status-text {
  font-size: clamp(0.75rem, 1.2vw, 0.85rem);
  color: rgba(255,255,255,0.55);
}

/* ---------- Footer / Contact ---------- */
.hero-footer {
  margin-top: auto;
  padding-top: 1.5rem;
}

.contact {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.4rem 0.6rem;
  font-size: 0.85rem;
  color: rgba(255,255,255,0.7);
}

.contact-name {
  font-weight: 700;
  color: rgba(255,255,255,0.85);
}

.contact-line a {
  color: rgba(255,255,255,0.85);
  font-weight: 600;
}

.contact-line a:hover,
.contact-line a:focus-visible {
  color: var(--color-red);
}

.sep {
  color: rgba(255,255,255,0.35);
}

/* ---------- Tablet / smaller desktop ---------- */
@media (max-width: 1000px) {
  .hero-bg { object-position: center 40%; }
  .hero-overlay {
    background:
      radial-gradient(ellipse 360px 200px at 22% 42%, rgba(4,4,5,0.10) 0%, rgba(4,4,5,0.03) 50%, rgba(4,4,5,0) 80%);
  }
}

/* ---------- Mobile ---------- */
@media (max-width: 640px) {
  .hero-bg { object-position: 42% 36%; }
  .hero-overlay {
    background:
      radial-gradient(ellipse 260px 170px at 50% 39%, rgba(4,4,5,0.11) 0%, rgba(4,4,5,0.03) 50%, rgba(4,4,5,0) 80%);
  }

  .hero-inner {
    padding: 1.25rem 1.25rem 1.5rem;
  }

  .hero-block { max-width: 100%; }

  .brand-logo { width: clamp(190px, 52vw, 260px); margin-bottom: 1.25rem; }

  .headline { font-size: clamp(1.7rem, 8vw, 2.15rem); margin-bottom: 1.15rem; }

  .subline { max-width: 100%; }

  .hero-status { margin-top: 2rem; }

  .contact {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.3rem;
  }

  .contact .sep { display: none; }
}

@media (max-width: 380px) {
  .headline { font-size: 1.55rem; }
}
