/* ------------------------------ */
/* GLOBAL RESET                  */
/* ------------------------------ */

:root {
  --portal-accent: #d50c2f;
  --portal-accent-dark: #b90b29;
  --portal-ink: #252b31;
  --portal-sidebar: #2f353b;
  --portal-muted: #6f7882;
  --portal-line: #e2e6ea;
  --portal-bg: #f5f6f8;
  --portal-card: #ffffff;
}

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

body {
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  background: var(--portal-card);
  color: var(--portal-ink);
  line-height: 1.6;
}

/* ------------------------------ */
/* HEADER                         */
/* ------------------------------ */
.header {
  background: linear-gradient(135deg, var(--portal-ink), var(--portal-sidebar));
  padding: 60px 24px;
  color: #ffffff;
  text-align: center;
}

.header .brand {
  font-size: 36px;
  font-weight: 800;
}

.header .claim {
  margin-top: 10px;
  font-size: 16px;
  color: #fff;
}

/* ------------------------------ */
/* WRAPPER LAYOUT (Startseite)    */
/* ------------------------------ */
.wrapper {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 1fr 1fr;
}

/* LEFT SIDE */
.left {
  padding: 80px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.left h1 {
  font-size: 48px;
  line-height: 1.1;
  margin-bottom: 24px;
}

.left h1 span {
  color: var(--portal-accent);
}

.left p.lead {
  font-size: 18px;
  color: var(--portal-muted);
  margin-bottom: 40px;
  max-width: 520px;
}

.left .info {
  font-size: 15px;
  line-height: 1.8;
}

.left .info strong {
  font-size: 17px;
}

/* SPLIT-SCREEN FOOTER */
.left .footer {
  margin-top: 48px;
  font-size: 14px;
  color: var(--portal-muted);
  text-align: left;
}

.left .footer a {
  color: var(--portal-accent);
  text-decoration: none;
}

.left .footer a:hover {
  text-decoration: underline;
}

/* RIGHT SIDE */
.right {
  background: linear-gradient(135deg, var(--portal-ink), var(--portal-sidebar));
  display: flex;
  align-items: center;
  justify-content: center;
}

.text-logo {
  text-align: center;
  color: #ffffff;
}

.text-logo .brand {
  font-size: 52px;
  font-weight: 800;
  letter-spacing: 1px;
}

.text-logo .claim {
  margin-top: 14px;
  font-size: 18px;
  font-weight: 400;
  color: #fff;
  letter-spacing: 0.5px;
}

/* ------------------------------ */
/* CONTENT (klassische Seiten)    */
/* ------------------------------ */
.container {
  max-width: 1100px;
  margin: 0 auto;
  padding: 80px 24px;
}

.container h1 {
  font-size: 42px;
  margin-bottom: 24px;
}

.container h2 {
  font-size: 26px;
  margin-top: 48px;
  margin-bottom: 16px;
  color: #2f353b;
}

.container p,
.container ul {
  font-size: 17px;
  line-height: 1.8;
  color: var(--portal-muted);
  max-width: 820px;
}

.container ul {
  margin-top: 16px;
  margin-left: 20px;
}

.container li {
  margin-bottom: 8px;
}

/* Standard-Footer */
.footer {
  border-top: 1px solid var(--portal-line);
  padding: 32px 24px;
  font-size: 14px;
  color: var(--portal-muted);
  text-align: center;
  background: var(--portal-bg); /* hellgrau */
}

/* Footer auf der Startseite transparent */
body.home .footer {
  background: transparent;
  border-top: none; /* optional */
  color: var(--portal-muted);   /* optional: etwas dunkler für besseren Kontrast */
}


.footer a {
  color: var(--portal-accent);
  text-decoration: none;
}

.footer a:hover {
  text-decoration: underline;
}

/* LINKS GLOBAL (falls außerhalb Footer) */
a {
  color: var(--portal-accent);
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

/* ------------------------------ */
/* RESPONSIVE                      */
/* ------------------------------ */
@media (max-width: 900px) {
  .wrapper {
    grid-template-columns: 1fr;
  }

  .left {
    padding: 60px 24px;
  }

  .right {
    padding: 60px 20px;
  }

  .left h1 {
    font-size: 36px;
  }

  .text-logo .brand {
    font-size: 40px;
  }
}

@media (max-width: 768px) {
  .container h1 {
    font-size: 34px;
  }

  .header .brand {
    font-size: 28px;
  }
}
