:root {
  --brand:        #8F9A9E;
  --brand-dark:   #899496;
  --brand-darker: #75848A;
  --brand-mid:    #8C979B;
  --brand-light:  #B0BCBF;
  --brand-xl:     #E5EAEB;
  --gold:         #F5B000;
  --white:        #FFFFFF;
  --off-white:    #F4F7F8;
  --text:         #1E3235;
  --text-mid:     #4A6366;
}

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

body {
  font-family: 'Wix Madefor Text', sans-serif;
  color: var(--text);
  background: var(--white);
}

/* ─── NAV ─────────────────────────────────────────────── */
nav {
  background: #fff;
  padding: 0 50px;
  height: 100px;
  border-bottom: 1px solid rgba(0,0,0,0.06);
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: sticky;
  top: 0;
  z-index: 100;
}

.nav-logo img { height: 60px !important; }
.nav-logo {
  display: flex;
  align-items: center;
  gap: 14px;
  text-decoration: none;
}

.nav-logo-text {
  display: flex;
  flex-direction: column;
  line-height: 1;
}

.nav-divider {
  width: 1px;
  height: 22px;
  background: rgba(0,0,0,0.15);
}

.nav-rotator {
  color: rgba(0,0,0,0.55);
  font-size: 0.7rem;
  font-weight: 300;
  letter-spacing: 0.28em;
  text-transform: uppercase;
}

.lang-toggle { display: flex; gap: 6px; }

.lang-btn {
  background: none;
  border: none;
  color: rgba(0,0,0,0.35);
  padding: 8px 14px;
  border-radius: 0;
  cursor: pointer;
  font-family: 'Wix Madefor Text', sans-serif;
  font-size: 0.84rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  transition: all 0.2s;
  text-transform: uppercase;
}

.lang-btn.active {
  background: #214A47 !important;
  border: none !important;
  color: #fff !important;
  font-weight: 600;
  padding: 8px 18px !important;
}

.lang-btn:not(.active):hover {
  color: rgba(0,0,0,0.7);
}
.lang-btn:first-child { border-radius: 6px 0 0 6px; }
.lang-btn:last-child  { border-radius: 0 6px 6px 0; }

/* ─── HERO ────────────────────────────────────────────── */
.hero {
  display: grid;
  grid-template-columns: 35% 1fr 25%;
  height: calc(100vh - 64px - 80px);
  min-height: 480px;
  background: var(--brand);
  position: relative;
  overflow: hidden;
}

.hero-watermark {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 85%;
  aspect-ratio: 1;
  background-image: url(../images/Logo_Preweal_Bildmarke_White.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  opacity: 0.06;
  pointer-events: none;
  z-index: 0;
}

.hero-curve {
  position: absolute;
  left: -18%;
  bottom: -30%;
  width: 60%;
  height: 100%;
  background: var(--brand-mid);
  border-radius: 50%;
  opacity: 0.3;
  pointer-events: none;
  z-index: 0;
}

.hero-content {
  padding: 44px 28px 44px 60px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  z-index: 1;
}

.hero-eyebrow {
  font-size: 0.63rem;
  font-weight: 300;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(255,255,255,1);
  margin-bottom: 18px;
}

.hero-claim {
  font-size: 2.75rem;
  font-weight: 300;
  color: white;
  line-height: 1.05;
  margin-bottom: 18px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.hero-subline {
  font-size: 0.95rem;
  font-weight: 400;
  color: rgba(255,255,255,0.92);
  line-height: 1.6;
  max-width: 380px;
  margin-bottom: 30px;
  letter-spacing: 0.01em;
}

.cta-group {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

/* ─── BUTTONS ─────────────────────────────────────────── */
.btn {
  display: inline-block;
  padding: 11px 22px;
  border-radius: 5px;
  font-family: 'Wix Madefor Text', sans-serif;
  font-size: 0.75rem;
  font-weight: 500;
  text-decoration: none;
  cursor: pointer;
  border: 1px solid transparent;
  transition: all 0.2s;
  white-space: nowrap;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.btn-gold       { background: var(--gold); color: #1a1200; border-color: var(--gold); }
.btn-gold:hover { background: #dfa000; }

.btn-dark        { background: var(--brand-dark); color: white; border-color: var(--brand-dark); }
.btn-dark:hover  { background: var(--brand-darker); }

.btn-ghost       { background: transparent; color: var(--brand-dark); border-color: var(--brand-dark); }
.btn-ghost:hover { background: var(--brand-dark); color: white; }

.btn-ghost-mid       { background: transparent; color: var(--brand-mid); border-color: var(--brand-mid); }
.btn-ghost-mid:hover { background: var(--brand-xl); color: var(--brand-dark); }

.btn-wh       { background: white; color: var(--brand-dark); border-color: white; }
.btn-wh:hover { background: var(--brand-xl); }

.btn-ghost-wh       { background: transparent; color: white; border-color: rgba(255,255,255,0.45); }
.btn-ghost-wh:hover { border-color: white; background: rgba(255,255,255,0.1); }

/* ─── HERO VISUAL ─────────────────────────────────────── */
.hero-visual {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
  padding: 24px 0;
}

/* ─── HERO APPS (right col) ───────────────────────────── */
.hero-apps {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 36px 28px 36px 16px;
  position: relative;
  z-index: 1;
  border-left: 1px solid rgba(255,255,255,0.12);
}

.hero-apps-eyebrow {
  font-size: 0.6rem;
  font-weight: 400;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.45);
  margin-bottom: 14px;
}

#rotator-img {
  max-width: 90%;
  max-height: 86vh;
  object-fit: contain;
  display: none;
  position: relative;
  z-index: 2;
  filter: drop-shadow(0 24px 48px rgba(0,0,0,0.22));
}

.img-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  opacity: 0.35;
  padding: 30px 0;
}

.img-placeholder p {
  font-size: 0.72rem;
  font-weight: 300;
  color: white;
  text-align: left;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

/* ─── FEATURE STRIP ───────────────────────────────────── */
.feature-strip {
  background: #1E2E30;
  display: flex;
  align-items: stretch;
}

.feature-strip-inner {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  align-items: start;
  width: 100%;
  gap: 0;
}

.feat {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 14px;
  padding: 14px 28px;
  border-right: 1px solid rgba(255,255,255,0.1);
}

.feat:last-child { border-right: none; }

.feat-icon {
  width: 36px;
  height: 36px;
  background: rgba(255,255,255,0.07);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.feat-icon svg { display: block; }

.feat-body { display: flex; flex-direction: column; gap: 0px; }

.feat-title {
  display: block;
  font-size: 0.86rem;
  font-weight: 500;
  color: white;
  line-height: 1.2;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.feat-sub {
  display: block;
  font-size: 0.74rem;
  font-weight: 300;
  color: rgba(255,255,255,0.5);
  letter-spacing: 0.02em;
  line-height: 1.35;
}

/* ─── USE CASES (moved into hero – section hidden) ───── */
.use-cases { display: none; }

.section-eyebrow {
  font-size: 0.68rem;
  font-weight: 400;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--brand-mid);
  margin-bottom: 14px;
}

.section-heading {
  font-size: 1.85rem;
  font-weight: 300;
  color: var(--brand-dark);
  margin-bottom: 50px;
  max-width: 560px;
  line-height: 1.4;
  letter-spacing: 0.02em;
}

.uc-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  position: relative;
}

.uc-item {
  display: none;
  align-items: center;
  gap: 12px;
  padding: 4px 20px;
  background: white;
  border: 1px solid var(--brand-xl);
  border-radius: 3px;
  box-shadow: 0 2px 8px rgba(92,122,126,0.06);
  transition: opacity 0.42s cubic-bezier(.22,.68,0,1.2),
              transform 0.42s cubic-bezier(.22,.68,0,1.2),
              box-shadow 0.25s ease;
}

.uc-item:hover {
  box-shadow: 0 4px 16px rgba(92,122,126,0.14);
  border-color: var(--brand-light);
}

.uc-dots {
  display: flex;
  gap: 9px;
  margin-top: 24px;
  justify-content: center;
}

.uc-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--brand-light);
  cursor: pointer;
  transition: background 0.3s ease, transform 0.3s ease;
}

.uc-dot.uc-dot-active {
  background: var(--brand-dark);
  transform: scale(1.4);
}

.uc-icon {
  width: 26px;
  height: 26px;
  min-width: 26px;
  background: var(--brand-xl);
  border-radius: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.uc-icon svg { display: block; }

.uc-text {
  font-size: 0.82rem;
  font-weight: 400;
  color: var(--text);
  line-height: 1.4;
}

/* ─── CONTACT FORM ────────────────────────────────────── */
.contact-section {
  background: linear-gradient(160deg, #8F9A9E 0%, #899496 100%);
  padding: 90px 60px;
}

.contact-inner {
  max-width: 800px;
  margin: 0;
}

.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 44px;
}

.form-full { grid-column: 1 / -1; }

.form-group { display: flex; flex-direction: column; gap: 6px; }

.form-group label {
  font-size: 0.66rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--brand-mid);
}

.form-group input,
.form-group select,
.form-group textarea {
  font-family: 'Wix Madefor Text', sans-serif;
  font-size: 0.88rem;
  font-weight: 300;
  color: var(--text);
  background: var(--off-white);
  border: 1px solid var(--brand-xl);
  border-radius: 5px;
  padding: 12px 16px;
  transition: border-color 0.2s, box-shadow 0.2s;
  outline: none;
  width: 100%;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  border-color: var(--brand-mid);
  box-shadow: 0 0 0 3px rgba(135,159,163,0.15);
  background: white;
}

.form-group select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%237A9298' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  padding-right: 36px;
  cursor: pointer;
}

.form-group textarea { resize: vertical; min-height: 110px; }

.form-required { color: var(--gold); margin-left: 2px; }

.form-submit-row {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 8px;
}

.form-note {
  font-size: 0.7rem;
  color: var(--brand-mid);
  font-weight: 300;
  letter-spacing: 0.04em;
}

.btn-submit {
  background: #2F2B36;
  color: #fff;
  border: none;
  padding: 11px 15px;
  border-radius: 100px;
  font-family: 'Wix Madefor Text', sans-serif;
  font-size: 1.125rem;
  font-weight: 400;
  cursor: pointer;
  transition: all 0.2s;
  letter-spacing: normal;
  text-transform: none;
}

.btn-submit:hover { background: #3d3947; transform: translateY(-1px); }
.btn-submit:disabled { opacity: 0.6; cursor: not-allowed; transform: none; }

.form-status {
  display: none;
  padding: 14px 18px;
  border-radius: 5px;
  font-size: 0.84rem;
  font-weight: 300;
  margin-top: 16px;
  grid-column: 1 / -1;
}

.form-status.success {
  background: rgba(135,159,163,0.1);
  border: 1px solid var(--brand-light);
  color: var(--brand-dark);
}

.form-status.error {
  background: #fff8e6;
  border: 1px solid var(--gold);
  color: #7a5500;
}

/* ─── CTA SECTION ─────────────────────────────────────── */
.cta-section {
  background: var(--brand);
  padding: 80px 60px;
  text-align: left;
  position: relative;
  overflow: hidden;
}

.cta-section::before {
  content: '';
  position: absolute;
  right: -5%;
  top: 50%;
  transform: translateY(-50%);
  width: 46%;
  aspect-ratio: 1;
  background-image: var(--bildmarke);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  opacity: 0.06;
}

.cta-section h2 {
  color: white;
  font-size: 1.9rem;
  font-weight: 300;
  margin-bottom: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  position: relative;
}

.cta-section p {
  color: rgba(255,255,255,0.6);
  font-size: 0.88rem;
  font-weight: 300;
  margin-bottom: 40px;
  max-width: 380px;
  margin-left: auto;
  margin-right: auto;
  letter-spacing: 0.04em;
  position: relative;
}

.cta-row {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
  position: relative;
}

/* ─── FOOTER ──────────────────────────────────────────── */
.site-footer {
  background: #6E8A8A;
  padding: 44px 60px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 24px;
}

.footer-left .brand {
  color: white;
  font-size: 0.75rem;
  font-weight: 500;
  margin-bottom: 6px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.footer-left .contact {
  color: rgba(255,255,255,0.4);
  font-size: 0.78rem;
  font-weight: 300;
  line-height: 1.9;
}

.footer-left .contact a {
  color: rgba(255,255,255,1);
  text-decoration: none;
  transition: color 0.2s;
}

.footer-left .contact a:hover { color: white; }

.footer-right {
  display: flex;
  align-items: center;
  gap: 20px;
}

.ce-badge {
  border: 1px solid rgba(255,255,255,0.22);
  border-radius: 5px;
  padding: 7px 16px;
  color: rgba(255,255,255,0.6);
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.18em;
}

.footer-copy {
  color: rgba(255,255,255,0.22);
  font-size: 0.7rem;
  font-weight: 300;
}

/* ─── RESPONSIVE ──────────────────────────────────────── */
@media (max-width: 1100px) {
  .hero {
    grid-template-columns: 40% 1fr;
    grid-template-rows: 1fr auto;
    height: auto;
    min-height: 80vh;
  }
  .hero-content { grid-column: 1; grid-row: 1; }
  .hero-visual  { grid-column: 2; grid-row: 1; }
  .hero-apps {
    grid-column: 1 / -1;
    grid-row: 2;
    border-left: none;
    border-top: 1px solid rgba(255,255,255,0.12);
    padding: 28px 60px;
  }
  .hero-apps-eyebrow { display: none; }
  .uc-list { grid-template-columns: repeat(3, 1fr); gap: 10px; }
}

@media (max-width: 900px) {
  nav { padding: 0 24px; }
  .hero {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    min-height: auto;
  }
  .hero-content  { grid-column: 1; grid-row: 1; padding: 48px 24px 24px; }
  .hero-visual   { grid-column: 1; grid-row: 2; min-height: 50vw; padding: 0; }
  .hero-apps     { grid-column: 1; grid-row: 3; padding: 28px 24px; }
  .hero-watermark { width: 90%; right: 5%; opacity: 0.05; }
  .hero-claim { font-size: 2.2rem; }
  .feature-strip { height: auto; }
  .feature-strip-inner { grid-template-columns: repeat(2, 1fr); }
  .feat { padding: 14px 20px; border-right: 1px solid rgba(255,255,255,0.1); }
  .feat:nth-child(2) { border-right: none; }
  .feat:nth-child(3) { border-right: 1px solid rgba(255,255,255,0.1); }
  .feat:nth-child(4) { border-right: none; }
  .feat:nth-child(1), .feat:nth-child(2) { border-bottom: 1px solid rgba(255,255,255,0.08); }
  .uc-list { grid-template-columns: 1fr; }
  .contact-section, .cta-section { padding: 60px 24px; }
  .form-grid { grid-template-columns: 1fr; }
  .form-full { grid-column: 1; }
  .form-submit-row { grid-column: 1; flex-direction: column; align-items: stretch; }
  .site-footer { padding: 36px 24px; flex-direction: column; align-items: flex-start; }
}

@media (max-width: 560px) {
  .hero-claim { font-size: 1.9rem; letter-spacing: 0.03em; }
  .feature-strip-inner { grid-template-columns: 1fr 1fr; }
}

/* ─── NAV MENU ────────────────────────────────────────── */
.nav-center {
  display: flex;
  align-items: center;
  gap: 6px;
}

.nav-link {
  color: rgba(255,255,255,0.7);
  text-decoration: none;
  font-size: 0.72rem;
  font-weight: 400;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 8px 16px;
  border-radius: 5px;
  transition: all 0.2s;
}

.nav-link:hover {
  color: white;
  background: rgba(255,255,255,0.08);
}

.nav-link.current-menu-item {
  color: white;
  background: rgba(255,255,255,0.12);
}

/* ─── HERO BADGES ─────────────────────────────────────── */
.hero-badges {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  margin-bottom: 42px;
}

.hero-mig {
  display: block;
  height: 50px;
  width: auto;
  opacity: 0.92;
  filter: drop-shadow(0 1px 3px rgba(0,0,0,0.3));
}

.hero-ce {
  display: block;
  height: 46px;
  width: auto;
  opacity: 0.88;
  filter: drop-shadow(0 1px 3px rgba(0,0,0,0.3));
}

.hero-patent {
  display: block;
  height: 50px;
  width: auto;
  opacity: 0.92;
  filter: drop-shadow(0 1px 3px rgba(0,0,0,0.3));
}

/* ─── HERO VIDEO ──────────────────────────────────────── */
#rotator-video {
  max-width: 105%;
  max-height: 92vh;
  width: 105%;
  object-fit: contain;
  display: block;
  position: relative;
  z-index: 2;
  margin-top: -4%;
}

/* ─── REFERENCE TICKER ────────────────────────────────── */
.ref-divider {
  height: 1px;
  background: rgba(255,255,255,0.12);
  margin: 16px 0;
}

.ref-eyebrow {
  font-size: 0.58rem;
  font-weight: 400;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: rgba(255,255,255,1);
  margin-bottom: 10px;
}

.ref-ticker { position: relative; height: 180px; }

.ref-item {
  display: none;
  flex-direction: column;
  gap: 10px;
  opacity: 0;
  transform: translateX(60px);
  transition: opacity 0.42s cubic-bezier(.22,.68,0,1.2),
              transform 0.42s cubic-bezier(.22,.68,0,1.2);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}

.ref-logo-card {
  display: inline-flex;
  align-items: center;
  background: white;
  border-radius: 3px;
  padding: 8px 16px;
  max-width: fit-content;
}

.ref-logo {
  max-height: 44px;
  max-width: 150px;
  width: auto;
  object-fit: contain;
  display: block;
}

.ref-text {
  font-size: 0.71rem;
  font-weight: 300;
  color: rgba(255,255,255,0.68);
  line-height: 1.55;
  font-style: italic;
}

/* ─── ONEPAGER HINT ───────────────────────────────────── */





.contact-intro {
  font-size: 0.9rem;
  font-weight: 300;
  color: rgba(255,255,255,0.85);
  line-height: 1.65;
  max-width: 680px;
  margin: 0;
  text-align: left;
}
.contact-header-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 32px;
  margin-bottom: 36px;
}

.contact-header-text {
  flex: 1;
}
.contact-header-text .section-eyebrow {
  color: rgba(255,255,255,0.7);
}
.contact-header-text .section-heading {
  color: white;
  font-weight: 500;
  max-width: 100%;
  margin-bottom: 12px;
}
.contact-header-text .contact-intro {
  margin: 0;
}

.onepager-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0;
  width: 130px;
  height: 130px;
  border-radius: 50%;
  background: #CC00CC;
  border: 3px solid #CC00CC;
  outline: none;
  box-shadow: 0 0 0 8px #1E2E30, 0 0 0 10px white;
  color: white;
  text-decoration: none;
  text-align: left;
  padding: 28px;
  transform: rotate(-6deg);
  transition: transform 0.25s, background 0.2s;
}

.onepager-btn:hover {
  background: #AA00AA;
  transform: rotate(-6deg) scale(1.05);
}

.onepager-btn-arrow {
  display: none;
}

.onepager-btn-text {
  font-size: 0.85rem;
  font-weight: 800;
  font-style: italic;
  letter-spacing: 0.02em;
  line-height: 1.45;
  text-transform: uppercase;
}

.contact-form-col {
  flex: 1;
}

/* ─── LEGAL BAR ───────────────────────────────────────── */
.legal-bar {
  background: #1E2E30;
  padding: 12px 60px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  border-top: 1px solid rgba(255,255,255,0.06);
}

.legal-link {
  color: rgba(255,255,255,0.3);
  font-size: 0.68rem;
  font-weight: 300;
  text-decoration: none;
  letter-spacing: 0.04em;
  transition: color 0.2s;
  white-space: nowrap;
}

.legal-link:hover { color: rgba(255,255,255,1); }

.legal-sep {
  color: rgba(255,255,255,0.15);
  font-size: 0.68rem;
}

.legal-text {
  color: rgba(255,255,255,0.2);
  font-size: 0.65rem;
  font-weight: 300;
  font-style: italic;
  letter-spacing: 0.02em;
  margin-left: 6px;
}

/* ─── RESPONSIVE NAV ─────────────────────────────────── */
@media (max-width: 900px) {
  .nav-center { display: none; }
  .legal-bar { padding: 12px 24px; }
}

/* ─── LANDING PAGE hero-visual override ───────────────── */
.page-template-page-landing .hero-visual {
  align-items: flex-start;
  justify-content: flex-start;
  margin-left: -4%;
}


/* ═══ HOME PAGE STYLES (preweal.com rebuild) ═════════════ */



/* Hero badge */
.eyebrow-badge {
  border-radius: 0 12px 0 0;
  display: inline-block;
  background: rgb(17, 37, 36);
  padding: 8px 14px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 2.4px;
  color: #fff;
  line-height: 16px;
}

/* Hero scroll arrow */
.home-hero-scroll {
  display: inline-block;
  margin-top: 30px;
  opacity: 0.6;
  transition: opacity 0.3s;
}
.home-hero-scroll:hover { opacity: 1; }

/* Hero FIBO logo - bottom right */
.home-hero-fibo {
  position: absolute;
  bottom: 100px;
  right: 80px;
  z-index: 3;
}
.home-hero-fibo-img {
  width: 240px;
  height: auto;
  display: block;
}

/* ─── NAV OVERRIDES (white nav) ──────────────────────── */
.nav-link {
  color: rgba(0,0,0,0.85) !important;
  background: none !important;
  font-size: 0.84rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.1em !important;
  margin: 0 6px !important;
  text-transform: uppercase !important;
  padding: 6px 14px !important;
  text-decoration: none !important;
  transition: color 0.2s !important;
}
.nav-link:hover {
  color: rgba(0,0,0,0.9) !important;
  background: none !important;
}
.nav-contact-btn {
  color: #fff;
  background: rgb(17, 37, 36);
  border: none;
  border-radius: 3px;
  font-size: 0.84rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 10px 24px;
  text-decoration: none;
  transition: background 0.2s;
}
.nav-contact-btn:hover {
  background: #1a3a38;
  color: #fff;
}

/* ─── HOME HERO ───────────────────────────────────────── */
.home-hero {
  position: relative;
  background-color: #214A47;
  height: 100vh;
  min-height: 600px;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
}

.home-hero-video {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  z-index: 0;
  opacity: 0.73;
}

.home-hero-overlay {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: transparent;
  z-index: 1;
}

.home-hero-content {
  position: relative;
  z-index: 2;
  text-align: left;
  color: white;
  padding: 0 60px 80px;
  max-width: 680px;
}

.home-hero-eyebrow {
  font-size: 0.72rem;
  font-weight: 400;
  letter-spacing: 0.35em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.9);
  margin-bottom: 14px;
}

.home-hero-title {
  font-size: 5rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  line-height: 1;
  margin-bottom: 18px;
}

.home-hero-tagline {
  font-size: 0.88rem;
  font-weight: 400;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.85);
  margin-bottom: 18px;
}

.home-hero-sub {
  font-size: 0.95rem;
  font-weight: 300;
  color: rgba(255,255,255,0.72);
  max-width: 460px;
  line-height: 1.7;
  margin-bottom: 32px;
}

.home-hero-product {
  margin-top: 10px;
}

.home-hero-product-img {
  max-width: 180px;
  height: auto;
  border-radius: 6px;
  box-shadow: 0 8px 32px rgba(0,0,0,0.3);
}

.home-hero-fibo {
  position: absolute;
  right: 50px;
  bottom: 50px;
  z-index: 2;
}

.home-hero-fibo-img {
  max-width: 280px;
  height: auto;
  filter: drop-shadow(0 4px 16px rgba(0,0,0,0.3));
}

/* ─── SECTIONS COMMON ─────────────────────────────────── */
.home-section-inner {
  max-width: 1140px;
  margin: 0;
  padding: 0 60px;
}

/* ─── INTRO ──────────────────────────────────────────── */
.home-intro {
  background: rgb(17, 37, 36);
  padding: 29px 0;
  border-radius: 0 0 0 24px;
  text-align: left;
}

.home-intro p {
  font-size: 1.25rem;
  font-weight: 400;
  color: #fff;
  line-height: 1.4;
  max-width: 800px;
  margin: 0;
}

/* ─── WARUM PREWEAL ───────────────────────────────────── */
.home-why {
  background: #fff;
  padding: 100px 0;
}

.home-why-grid {
  display: grid;
  grid-template-columns: 45% 1fr;
  gap: 60px;
  align-items: center;
}

.home-why-visual img {
  width: 100%;
  border-radius: 6px;

}

.home-why-eyebrow {
  display: inline-block;
  background: rgb(17, 37, 36);
  color: #fff !important;
  padding: 8px 14px;
  border-radius: 0 12px 0 0;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 2.4px !important;
  line-height: 16px !important;
}

.home-why-heading {
  color: #2F2B36 !important;
}

.home-why-text p {
  font-size: 1.125rem;
  font-weight: 300;
  color: #214A47;
  line-height: 1.85;
  margin-bottom: 16px;
}

/* ─── FUNKTION (vertical list) ────────────────────────── */
.home-function {
  background: #c6d9dc;
  padding: 100px 0;
}

.home-features-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-top: 40px;
  max-width: 100%;
}

.home-feature-row {
  display: grid;
  grid-template-columns: 280px 1fr;
  align-items: center;
  gap: 24px;
  padding: 32px 40px;
  background: #fff;
  position: relative;
  transition: background-color 0.25s ease;
  cursor: default;
  border-bottom: 1px solid var(--brand-xl);
}

.home-feature-row:last-child {
  border-bottom: none;
}

.home-feature-icon {
  width: 52px;
  height: 52px;
  min-width: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.home-feature-left {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.home-feature-row:hover {
  background: #c6d9dc;
}

.home-feature-row:hover::after {
  content: "";
  position: absolute;
  bottom: -12px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 12px solid transparent;
  border-right: 12px solid transparent;
  border-top: 12px solid #c6d9dc;
  z-index: 2;
}

.home-feature-title {
  font-size: 1.15rem;
  font-weight: 400;
  color: var(--text);
  letter-spacing: 0.01em;
  line-height: 1.45;
}

.home-feature-desc {
  font-size: 0.92rem;
  font-weight: 300;
  color: #fff;
  line-height: 1.7;
}

.home-feature-text h3 {
  font-size: 1rem;
  font-weight: 600;
  color: var(--text);
  margin-bottom: 8px;
  letter-spacing: 0.02em;
}

.home-feature-text p {
  font-size: 0.88rem;
  font-weight: 300;
  color: #fff;
  line-height: 1.7;
}

/* ─── IMAGE GALLERY (film strip) ──────────────────────── */
.home-gallery {
  overflow: hidden;
}

.home-gallery-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
}

.home-gallery-strip img {
  width: 100%;
  height: 280px;
  object-fit: cover;
  display: block;
}

/* ─── BENEFITS (3x2 grid, white cards) ────────────────── */
.home-benefits {
  background: var(--off-white);
  padding: 100px 0;
}

.home-benefits-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

.home-benefit-card {
  background: white;
  border-radius: 45px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.home-benefit-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(0,0,0,0.12);
}

.home-benefit-card img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  display: block;
}

.home-benefit-body {
  padding: 22px 24px 28px;
}

.home-benefit-body h3 {
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--text);
  margin-bottom: 8px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.home-benefit-body p {
  font-size: 0.84rem;
  font-weight: 300;
  color: #fff;
  line-height: 1.65;
}

/* ─── TEAM (dark teal bg) ─────────────────────────────── */
.home-team {
  background: var(--brand-dark);
  padding: 100px 0;
}

.home-team-eyebrow {
  color: rgba(255,255,255,0.5) !important;
}

.home-team-heading {
  color: white !important;
}

.home-team-grid {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 50px;
  align-items: start;
  margin-top: 44px;
}

.home-team-cards {
  display: flex;
  gap: 28px;
}

.home-team-card {
  text-align: left;
  min-width: 150px;
}

.home-team-card h3 {
  font-size: 0.82rem;
  font-weight: 600;
  color: white;
  margin-bottom: 10px;
  letter-spacing: 0.02em;
}

.home-team-card img {
  width: 140px;
  height: 200px;
  object-fit: cover;
  border-radius: 6px;
  margin-bottom: 12px;
  box-shadow: 0 6px 20px rgba(0,0,0,0.2);
}

.home-team-role {
  font-size: 0.72rem;
  font-weight: 400;
  color: var(--gold);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 4px;
}

.home-team-email {
  font-size: 0.7rem;
  font-weight: 300;
}

.home-team-email a {
  color: rgba(255,255,255,0.55);
  text-decoration: none;
  transition: color 0.2s;
}

.home-team-email a:hover {
  color: white;
}

.home-team-phone {
  font-size: 0.72rem;
  font-weight: 300;
  color: rgba(255,255,255,0.55);
  margin-top: 2px;
}

.home-team-text p {
  font-size: 0.92rem;
  font-weight: 300;
  color: rgba(255,255,255,0.75);
  line-height: 1.85;
  margin-bottom: 16px;
}

.home-team-quote {
  margin-top: 50px;
  padding-top: 36px;
  border-top: 1px solid rgba(255,255,255,0.12);
}

.home-team-quote p {
  font-size: 1.05rem;
  font-weight: 300;
  font-style: italic;
  color: rgba(255,255,255,0.65);
  line-height: 1.8;
  max-width: 740px;
  text-align: left;
  margin: 0;
}

/* ─── TIMELINE ────────────────────────────────────────── */
.home-timeline {
  background: var(--brand-mid);
  padding: 100px 0;
  color: white;
}

.home-tl-eyebrow {
  color: rgba(255,255,255,0.55) !important;
}

.home-tl-heading {
  color: white !important;
}

.home-timeline-track {
  display: flex;
  align-items: flex-start;
  gap: 0;
  margin-top: 44px;
  position: relative;
  overflow-x: auto;
  padding-bottom: 8px;
}

.home-timeline-track::before {
  content: '';
  position: absolute;
  top: 8px;
  left: 0;
  right: 0;
  height: 2px;
  background: rgba(255,255,255,0.2);
}

.home-tl-item {
  position: relative;
  padding-top: 30px;
  padding-right: 16px;
  min-width: 120px;
  flex: 1;
}

.home-tl-item::before {
  content: '';
  position: absolute;
  top: 2px;
  left: 0;
  width: 14px;
  height: 14px;
  background: var(--gold);
  border-radius: 50%;
  border: 3px solid var(--brand-mid);
  z-index: 1;
}

.home-tl-date {
  display: block;
  font-size: 0.76rem;
  font-weight: 600;
  color: var(--gold);
  letter-spacing: 0.06em;
  margin-bottom: 6px;
  white-space: nowrap;
}

.home-tl-desc {
  display: block;
  font-size: 0.74rem;
  font-weight: 300;
  color: rgba(255,255,255,0.8);
  line-height: 1.5;
}

/* ─── FUER WEN ────────────────────────────────────────── */
.home-target {
  background: #005733;
  padding: 100px 0;
}

.home-target-grid {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.home-target-text {
  background: var(--text);
  color: #fff;
  padding: 60px 50px;
  border-radius: 40px 40px 0 0;
}

.home-target-text p {
  font-size: 1.5rem;
  font-weight: 300;
  color: rgba(255,255,255,0.88);
  line-height: 1.8;
  margin-bottom: 16px;
}

/* ─── KONTAKT ─────────────────────────────────────────── */
.home-contact {
  background: #C6D9DC;
  padding: 100px 0;
}

.home-contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: start;
}

.home-contact-form .form-grid {
  margin-top: 0;
}

.home-contact-form .form-group label {
  color: rgba(255,255,255,0.65);
}

.home-contact-form .form-group input,
.home-contact-form .form-group textarea {
  background: rgba(255,255,255,0.08);
  border-color: rgba(255,255,255,0.18);
  color: white;
}

.home-contact-form .form-group input::placeholder,
.home-contact-form .form-group textarea::placeholder {
  color: rgba(255,255,255,0.35);
}

.home-contact-form .form-group input:focus,
.home-contact-form .form-group textarea:focus {
  border-color: var(--gold);
  background: rgba(255,255,255,0.12);
  box-shadow: 0 0 0 3px rgba(245,176,0,0.12);
}

.home-contact-info {
  color: white;
  padding-top: 20px;
}

.home-contact-info h2 {
  font-size: 1.6rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 16px;
}

.home-contact-info p {
  font-size: 0.92rem;
  font-weight: 300;
  color: rgba(255,255,255,0.7);
  margin-bottom: 24px;
  line-height: 1.7;
}

.home-contact-info h4 {
  font-size: 0.88rem;
  font-weight: 400;
  color: rgba(255,255,255,0.85);
  line-height: 1.6;
  margin-bottom: 28px;
}

.home-contact-details p {
  margin-bottom: 6px !important;
}

.home-contact-details a {
  color: var(--gold);
  text-decoration: none;
  font-size: 0.92rem;
  font-weight: 400;
  transition: color 0.2s;
}

.home-contact-details a:hover {
  color: #dfa000;
}

/* ─── HOME FOOTER ─────────────────────────────────────── */
.home-footer {
  background: #1E2E30;
  padding: 56px 0;
}

.home-footer-inner {
  max-width: 1140px;
  margin: 0;
  padding: 0 60px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 40px;
}

.home-footer-col h4 {
  font-size: 0.68rem;
  font-weight: 600;
  color: rgba(255,255,255,0.45);
  letter-spacing: 0.2em;
  text-transform: uppercase;
  margin-bottom: 16px;
}

.home-footer-col p,
.home-footer-col a {
  display: block;
  font-size: 0.8rem;
  font-weight: 300;
  color: rgba(255,255,255,0.5);
  text-decoration: none;
  line-height: 1.9;
  transition: color 0.2s;
}

.home-footer-col a:hover {
  color: white;
}

.home-footer-legal p {
  color: rgba(255,255,255,0.22);
  font-size: 0.72rem;
}

.home-footer-logo {
  max-width: 110px;
  height: auto;
  opacity: 0.5;
  margin-bottom: 14px;
  display: block;
}

/* ─── HOME RESPONSIVE ─────────────────────────────────── */
@media (max-width: 1024px) {
  .home-timeline-track {
    flex-wrap: wrap;
    gap: 8px;
  }
  .home-tl-item {
    min-width: 0;
    flex: 0 0 calc(20% - 8px);
  }
  .home-gallery-strip img {
    height: 220px;
  }
}

@media (max-width: 900px) {
  .home-hero-content {
    padding: 0 24px;
    max-width: 100%;
  }
  .home-hero-title { font-size: 3.2rem; }
  .home-hero-fibo {
    right: 24px;
    bottom: 24px;
  }
  .home-hero-fibo-img {
    max-width: 140px;
  }
  .home-section-inner { padding: 0 24px; }
  .home-why-grid,
  .home-target-grid,
  .home-contact-grid { grid-template-columns: 1fr; }
  .home-why-grid {
    gap: 40px;
  }
  .home-benefits-grid { grid-template-columns: 1fr 1fr; }
  .home-team-grid { grid-template-columns: 1fr; }
  .home-team-cards { justify-content: center; }
  .home-gallery-strip {
    grid-template-columns: repeat(2, 1fr);
  }
  .home-gallery-strip img {
    height: 180px;
  }
  .home-tl-item {
    flex: 0 0 calc(50% - 8px);
  }
  .home-footer-inner { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 560px) {
  .home-hero {
    align-items: flex-end;
    padding-bottom: 60px;
  }
  .home-hero-title { font-size: 2.4rem; letter-spacing: 0.05em; }
  .home-hero-fibo { display: none; }
  .home-hero-product-img { max-width: 120px; }
  .home-benefits-grid { grid-template-columns: 1fr; }
  .home-team-cards { flex-direction: column; align-items: center; }
  .home-gallery-strip {
    grid-template-columns: 1fr 1fr;
  }
  .home-gallery-strip img {
    height: 140px;
  }
  .home-tl-item {
    flex: 0 0 100%;
  }
  .home-footer-inner { grid-template-columns: 1fr; gap: 24px; }
  .home-why, .home-function, .home-benefits,
  .home-team, .home-timeline, .home-target, .home-contact {
    padding: 30px 0;
  }
  .home-intro { padding: 50px 0; }
}

/* ─── ROTATOR ANIMATION VIDEO (square, blend with hero bg) ─── */
.page-template-page-landing #rotator-video {
  max-width: 100%;
  max-height: 90vh;
  width: 100%;
  height: auto;
  object-fit: contain;
  display: block;
  position: relative;
  z-index: 2;
}


/* ═══ HOME PAGE SIZE FIXES — match preweal.com ═══════════ */

.home-gallery-strip img { height: 380px !important; }
.home-benefit-card img { height: 260px !important; }
.home-team-card img { width: 180px !important; height: 260px !important; }
.home-why { padding: 120px 0 !important; }
.home-why-visual img { min-height: 400px; object-fit: cover; }
.home-hero-title { font-size: 3.5rem !important; font-weight: 400 !important; }
.home-why-grid { gap: 80px !important; }
.home-features-list { max-width: 100% !important; }
.home-feature-row { padding: 32px 40px !important; }
.home-feature-icon { width: 64px !important; height: 64px !important; min-width: 64px !important; background: none !important; }
.home-feature-icon svg { width: 56px !important; height: 56px !important; }
.home-team-card { min-width: 190px !important; }
.home-team-card h3 { font-size: 0.92rem !important; }
.home-contact { padding: 120px 0 !important; }
.home-benefits { padding: 120px 0 !important; }
.home-benefit-body { padding: 26px 28px 32px !important; }
.home-benefit-body h3 { font-size: 1.05rem !important; margin-bottom: 10px !important; }
.home-benefit-body p { font-size: 0.9rem !important; }

@media (max-width: 1024px) {
  .home-gallery-strip img { height: 280px !important; }
}
@media (max-width: 900px) {
  .home-gallery-strip img { height: 220px !important; }
  .home-hero-title { font-size: 3.5rem !important; }
  .home-team-card img { width: 150px !important; height: 220px !important; }
}
@media (max-width: 560px) {
  .home-gallery-strip img { height: 160px !important; }
  .home-hero-title { font-size: 2.5rem !important; }
  .home-benefit-card img { height: 200px !important; }
}


/* ═══ SIZE FIX v2 — exact preweal.com dimensions ═════════ */

/* Wider content container to match original */
.home-benefits .home-section-inner,
.home-team .home-section-inner {
  max-width: 1400px !important;
}

/* Benefits: images need ~467px width, so cards need to fill more space */
.home-benefits-grid {
  gap: 20px !important;
}

.home-benefit-card img {
  height: 340px !important;
}

/* Team: photos need 379x437 — remove fixed width, let them grow */
.home-team-card img {
  width: 100% !important;
  max-width: 320px !important;
  height: auto !important;
  aspect-ratio: 379 / 437;
}

.home-team-card {
  min-width: 240px !important;
  max-width: 320px !important;
  flex: 1 !important;
}

.home-team-cards {
  gap: 32px !important;
}

/* Team grid: give cards more space */
.home-team-grid {
  grid-template-columns: 1fr 1fr !important;
  gap: 60px !important;
}

/* Section inner for team needs to be wider */
.home-section-inner {
  max-width: 1280px !important;
}

/* Warum Preweal: product image bigger */
.home-why .home-section-inner {
  max-width: 1280px !important;
}

.home-why-visual img {
  min-height: 500px !important;
}

/* Responsive */
@media (max-width: 900px) {
  .home-team-card {
    min-width: 180px !important;
    max-width: 250px !important;
  }
  .home-benefit-card img {
    height: 260px !important;
  }
  .home-team-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 560px) {
  .home-team-card {
    min-width: 160px !important;
    max-width: 220px !important;
  }
  .home-benefit-card img {
    height: 200px !important;
  }
}


/* ═══ SIZE FIX v3 — team photos to match original 379x437 ═ */

/* Team: cards row on top, text below (like original) */
.home-team-grid {
  display: flex !important;
  flex-direction: column !important;
  gap: 50px !important;
}

.home-team-cards {
  display: flex !important;
  justify-content: center !important;
  gap: 40px !important;
}

.home-team-card {
  min-width: 0 !important;
  max-width: 380px !important;
  flex: 0 0 auto !important;
  width: 280px !important;
}

.home-team-card img {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  aspect-ratio: 379 / 437 !important;
  object-fit: cover !important;
}

.home-team-text {
  columns: 2;
  column-gap: 40px;
}

/* Benefits: push closer to original 467px */
.home-benefits .home-section-inner {
  max-width: 100% !important;
  padding: 0 40px !important;
}

.home-benefits-grid {
  gap: 24px !important;
}

.home-benefit-card img {
  height: 360px !important;
}

@media (max-width: 900px) {
  .home-team-card { width: 200px !important; }
  .home-team-text { columns: 1; }
  .home-benefit-card img { height: 260px !important; }
}

@media (max-width: 560px) {
  .home-team-cards { flex-wrap: wrap !important; }
  .home-team-card { width: 160px !important; }
  .home-benefit-card img { height: 200px !important; }
}

/* ═══ TEAM PHOTOS FIX v4 — match original 379x437 ═══════ */
.home-team-card {
  width: 380px !important;
  max-width: 380px !important;
}

.home-team .home-section-inner {
  max-width: 100% !important;
  padding: 0 40px !important;
}

.home-team-cards {
  gap: 30px !important;
  flex-wrap: wrap !important;
}

.home-team-text {
  max-width: 1320px;
  margin: 0;
}

/* ═══ TEAM REDESIGN v5 — match original layout ══════════ */

/* Cards: 3 equal columns, full width */
.home-team-cards {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 28px !important;
  width: 100% !important;
}

.home-team-card {
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  flex: none !important;
  text-align: left !important;
}

/* Photos: large, nearly square, rounded corners */
.home-team-card img {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1.05 !important;
  object-fit: cover !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin-bottom: 16px !important;
}

/* Name BELOW photo, bold, dark text on light bg */
.home-team-card h3 {
  order: 2 !important;
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  color: var(--text) !important;
  margin-bottom: 4px !important;
}

/* Reorder: image first, then name, then role */
.home-team-card {
  display: flex !important;
  flex-direction: column !important;
}

.home-team-card img { order: 1 !important; }
.home-team-card h3 { order: 2 !important; }
.home-team-card .home-team-role { order: 3 !important; color: var(--text-mid) !important; }
.home-team-card .home-team-email { order: 4 !important; }

/* Section: light background instead of dark */
.home-team {
  background: var(--off-white) !important;
}

.home-team-eyebrow {
  color: var(--brand-mid) !important;
}

.home-team-heading {
  color: var(--text) !important;
}

.home-team-text p {
  color: var(--text-mid) !important;
}

.home-team-email a {
  color: var(--text-mid) !important;
}

.home-team-email a:hover {
  color: var(--brand-dark) !important;
}

.home-team-quote p {
  color: var(--text-mid) !important;
  border-color: var(--brand-xl) !important;
}

.home-team-quote {
  border-color: var(--brand-xl) !important;
}

@media (max-width: 900px) {
  .home-team-cards {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 16px !important;
  }
}

@media (max-width: 560px) {
  .home-team-cards {
    grid-template-columns: 1fr !important;
    max-width: 400px !important;
    margin: 0 auto !important;
  }
}

/* ═══ FONT FIX v6 — match preweal.com typography ════════ */

/* Load Wix Madefor Display for headings */
@import url("https://fonts.googleapis.com/css2?family=Wix+Madefor+Display:wght@400;500;600;700;800&display=swap");

/* Home page uses Wix Madefor */
.page-template-page-home body,
.page-template-page-home .home-hero-content,
.page-template-page-home .home-section-inner,
.page-template-page-home h1,
.page-template-page-home h2,
.page-template-page-home h3,
.page-template-page-home h4,
.page-template-page-home p,
.page-template-page-home a,
.page-template-page-home input,
.page-template-page-home textarea,
.page-template-page-home button,
.page-template-page-home label {
  font-family: "Wix Madefor Text", sans-serif !important;
}


/* Headings use Wix Madefor Display */
.page-template-page-home h1,
.page-template-page-home h2,
.page-template-page-home .section-heading {
  font-family: "Wix Madefor Display", "Wix Madefor Text", sans-serif !important;
}

/* Hero title: thinner, bigger, no letter-spacing */
.home-hero-title {
  font-size: 4.5rem !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  line-height: 1.1 !important;
}

/* Hero eyebrow */
.home-hero-eyebrow {
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: 2.6px !important;
}

/* Hero tagline - matching original */
.home-hero-tagline {
  font-size: 1.75rem !important;
  font-weight: 400 !important;
  font-style: normal !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  color: rgb(255,255,255) !important;
  margin-bottom: 22px !important;
}

/* Hero sub */
.home-hero-sub {
  font-size: 1.1rem !important;
  font-weight: 300 !important;
  line-height: 1.65 !important;
  color: rgba(255,255,255,0.75) !important;
  margin-bottom: 36px !important;
}

/* Body/intro text bigger */
.home-intro p {
  font-size: 1.25rem !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
}

/* Section eyebrow */
.page-template-page-home .section-eyebrow {
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 2.4px !important;
}

/* Section heading */
.page-template-page-home .section-heading {
  font-size: 2rem !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  line-height: 1.4 !important;
}

/* Body text in sections */
.home-team-text p {
  font-size: 1.05rem !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
}
.home-feature-text h3 {
  font-size: 1.1rem !important;
  font-weight: 600 !important;
}

.home-feature-text p {
  font-size: 0.95rem !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
}

/* Team names — bigger, lighter weight like original */
.home-team-card h3 {
  font-size: 1.35rem !important;
  font-weight: 600 !important;
  letter-spacing: normal !important;
}

/* Benefit headings */
.home-benefit-body h3 {
  font-size: 1.2rem !important;
  font-weight: 700 !important;
}

.home-benefit-body p {
  font-size: 0.95rem !important;
  font-weight: 400 !important;
}

/* Contact heading */
.home-contact-info h2 {
  font-size: 2rem !important;
  font-weight: 700 !important;
}

/* Timeline */
.home-tl-date {
  font-size: 0.85rem !important;
  font-weight: 700 !important;
}

.home-tl-desc {
  font-size: 0.85rem !important;
  font-weight: 400 !important;
}

/* Footer */
.home-footer-col h4 {
  font-size: 0.72rem !important;
  font-weight: 700 !important;
}

/* ═══ TEAM PHOTOS FIX v7 — no crop, show full face ══════ */
.home-team-card img {
  aspect-ratio: auto !important;
  object-fit: contain !important;
  object-position: top center !important;
  border-radius: 0 !important;
  background: #eef2f3;
}

/* ═══ IMAGE SIZE FIX v1.9.0 — match preweal.com at 1400px ══════════
 * Measured targets from preweal.com @ 1400x900 viewport:
 *   Gallery images:  ~350px wide × 276px tall  (AR 1.27, cover)
 *   Benefit images:  ~467px wide × 361px tall  (AR 1.29, cover)
 *   Team photos:     ~379px wide × 437px tall  (AR 0.87, cover)
 * ═══════════════════════════════════════════════════════════════════ */

/* 1. Gallery strip: landscape format matching original (276px tall) */
.home-gallery-strip img {
  height: 276px !important;
  object-fit: cover !important;
  object-position: 50% 50% !important;
}

/* 2. Benefit images: taller to match original aspect ratio 1.29 */
.home-benefit-card img {
  height: 361px !important;
  object-fit: cover !important;
  object-position: 50% 50% !important;
}

/* 3. Team photos: cover crop at correct portrait ratio 0.87 (379×437) */
.home-team-card img {
  width: 100% !important;
  height: 437px !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
  object-position: 50% 40% !important;
  border-radius: 6px !important;
  background: transparent !important;
}

/* Responsive overrides */
@media (max-width: 1024px) {
  .home-gallery-strip img { height: 240px !important; }
  .home-benefit-card img  { height: 280px !important; }
  .home-team-card img     { height: 360px !important; }
}
@media (max-width: 900px) {
  .home-gallery-strip img { height: 200px !important; }
  .home-benefit-card img  { height: 240px !important; }
  .home-team-card img     { height: 300px !important; }
}
@media (max-width: 560px) {
  .home-gallery-strip img { height: 160px !important; }
  .home-benefit-card img  { height: 200px !important; }
  .home-team-card img     { height: 260px !important; }
}

/* ═══ TEAM PHOTOS — FINAL FIX — no cropping ═════════════ */
.home-team-card img {
  object-fit: contain !important;
  object-position: top center !important;
  height: auto !important;
  aspect-ratio: auto !important;
  background: #eef2f3 !important;
}

/* Nav right group */
.nav-right {
  display: flex;
  align-items: center;
  gap: 12px;
}
.lang-btn {
  background: none !important;
  border: none !important;
  color: rgba(0,0,0,0.35) !important;
  padding: 8px 14px !important;
  font-size: 0.84rem !important;
  border-radius: 0 !important;
}
.lang-btn.active {
  background: #214A47 !important;
  border: none !important;
  color: #fff !important;
  padding: 8px 18px !important;
}

/* ─── HERO SLIDE-IN ANIMATION ─────────────────────────── */
@keyframes heroFadeSlide {
  from { opacity: 0; transform: translateX(-32px); }
  to   { opacity: 1; transform: translateX(0); }
}

.home-hero-content .home-hero-eyebrow {
  animation: heroFadeSlide 0.65s ease forwards;
  animation-delay: 0.15s;
  opacity: 0;
}
.home-hero-content .home-hero-title {
  animation: heroFadeSlide 0.7s ease forwards;
  animation-delay: 0.35s;
  opacity: 0;
}
.home-hero-content .home-hero-tagline {
  animation: heroFadeSlide 0.65s ease forwards;
  animation-delay: 0.55s;
  opacity: 0;
}
.home-hero-content .home-hero-sub {
  animation: heroFadeSlide 0.65s ease forwards;
  animation-delay: 0.72s;
  opacity: 0;
}
.home-hero-content .home-hero-scroll {
  animation: heroFadeSlide 0.65s ease forwards;
  animation-delay: 0.9s;
  opacity: 0;
}
.home-team-phone {
  font-size: 0.82rem;
  color: rgba(255,255,255,0.65);
  margin: 0;
}

/* ═══════════════════════════════════════════════════════════
   PIXEL-PERFECT FIXES v3.8.0 — match preweal.com
   ══════════════════════════════════════════════════════════ */

/* 1. SECTION EYEBROW — dark teal pill badge for ALL home sections */
.page-template-page-home .section-eyebrow {
  display: inline-block !important;
  background: #214A47 !important;
  color: #fff !important;
  padding: 8px 14px !important;
  border-radius: 0 12px 0 0 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 2.4px !important;
  line-height: 16px !important;
  margin-bottom: 20px !important;
  text-transform: uppercase !important;
}
/* Override conflicting section-specific color rules */
.home-team-eyebrow   { color: #fff !important; background: #214A47 !important; }
.home-tl-eyebrow     { color: #fff !important; background: #214A47 !important; }

/* 2. BENEFITS — full-bleed image tiles with white overlay text */
.home-benefits .home-section-inner {
  max-width: 100% !important;
  padding: 0 !important;
}
.home-benefits {
  padding: 0 !important;
}
.home-benefits-grid {
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 0 !important;
}
.home-benefit-card {
  border-radius: 0 !important;
  box-shadow: none !important;
  background: none !important;
  position: relative !important;
  overflow: hidden !important;
}
.home-benefit-card img {
  width: 100% !important;
  height: 361px !important;
  object-fit: cover !important;
  display: block !important;
}
.home-benefit-body {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  padding: 20px 24px !important;
  background: linear-gradient(transparent, rgba(0,0,0,0.55)) !important;
  border-radius: 0 !important;
}
.home-benefit-body h3 {
  color: #fff !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  margin-bottom: 0 !important;
}
.home-benefit-body p {
  display: none !important;
}

/* 3. TIMELINE — white background, dark teal pill dates */
.home-timeline {
  background: #fff !important;
  color: var(--text) !important;
}
.home-tl-heading {
  color: var(--text) !important;
}
.home-timeline-track::before {
  background: rgba(0,0,0,0.12) !important;
}
.home-tl-item::before {
  background: #214A47 !important;
  border-color: #fff !important;
}
.home-tl-date {
  display: inline-block !important;
  background: #214A47 !important;
  color: #fff !important;
  padding: 5px 12px !important;
  border-radius: 100px !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  margin-bottom: 8px !important;
  white-space: nowrap !important;
}
.home-tl-desc {
  color: rgba(0,0,0,0.55) !important;
}

/* 4. CONTACT — dark text for contact links (not gold) */
.home-contact-details a {
  color: var(--text) !important;
  text-decoration: none !important;
}
.home-contact-details a:hover {
  color: var(--brand-mid) !important;
}
.home-contact-details p {
  color: var(--text) !important;
}

/* ═══════════════════════════════════════════════════════════
   FONT WEIGHT & FAMILY FIXES v3.9.0
   Measured diffs vs preweal.com (Wix) on 2026-03-26 @1440x900
   Original uses madefor-display-bold (≈700) for H1 & main headings
   Original uses madefor-display-extrabold (≈800) for eyebrow labels
   Original uses madefor-display (light, ≈400) for H3 feature titles @ 28px
   ══════════════════════════════════════════════════════════ */

/* 1. H1 hero title — original madefor-display-bold renders at ~700 weight */
.home-hero-title,
.page-template-page-home h1 {
  font-family: Wix Madefor Display, Wix Madefor Text, sans-serif !important;
  font-weight: 700 !important;
  font-size: 4.5rem !important;
  letter-spacing: 0 !important;
  line-height: 1.1 !important;
}

/* 2. Main section headings — original madefor-display-bold @ 30px */
.home-why-heading,
.section-heading,
.page-template-page-home h2,
.page-template-page-home .section-heading {
  font-family: Wix Madefor Display, Wix Madefor Text, sans-serif !important;
  font-weight: 700 !important;
}

/* 3. Feature/function H3 titles — original madefor-display (light) @ 28px
   Wix Madefor Display weight 400 = the light/regular display variant */
.home-feature-title,
.home-feature-text h3,
.page-template-page-home h3 {
  font-family: Wix Madefor Display, Wix Madefor Text, sans-serif !important;
  font-weight: 400 !important;
  font-size: 1.75rem !important;
  line-height: 1.4 !important;
}

/* 4. Eyebrow labels — original madefor-display-extrabold @ weight 700 */
.section-eyebrow,
.home-why-eyebrow,
.home-team-eyebrow,
.home-tl-eyebrow,
.page-template-page-home .section-eyebrow {
  font-family: Wix Madefor Display, Wix Madefor Text, sans-serif !important;
  font-weight: 800 !important;
}

/* 5. Hero tagline — original madefor-display @ 28px */
.home-hero-tagline {
  font-family: Wix Madefor Display, Wix Madefor Text, sans-serif !important;
  font-weight: 400 !important;
  font-size: 1.75rem !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

/* 6. NOCH FRAGEN? contact heading — original madefor-display-extrabold fw:700 */
.home-contact-info h2,
.contact-header-text .section-heading {
  font-family: Wix Madefor Display, Wix Madefor Text, sans-serif !important;
  font-weight: 700 !important;
}

/* ═══════════════════════════════════════════════════════════
   BODY TEXT WEIGHT FIX v3.9.1 — original uses fw:400 not 300
   ══════════════════════════════════════════════════════════ */
.page-template-page-home .home-why-text p,
.page-template-page-home .home-intro p,
.page-template-page-home .home-team-text p,
.page-template-page-home .home-feature-desc,
.page-template-page-home .home-feature-text p,
.page-template-page-home .home-target-text p,
.page-template-page-home .home-contact-info p,
.page-template-page-home .home-footer-col p,
.page-template-page-home .home-footer-col a {
  font-weight: 400 !important;
}

/* Section heading: 30px matches original (was 32px = 2rem) */
.page-template-page-home .section-heading,
.home-why-heading {
  font-size: 1.875rem !important;
}

/* ═══════════════════════════════════════════════════════════
   INTRO SECTION ALIGNMENT FIX v3.9.2
   Original: text starts at left:115px, font-size:20.49px
   Copy was: left:60px (padding), font-size:20px
   ══════════════════════════════════════════════════════════ */
.home-intro .home-section-inner {
  padding-left: 115px !important;
  padding-right: 115px !important;
}
.home-intro p {
  font-size: 20.5px !important;
  max-width: 800px !important;
}

/* ═══════════════════════════════════════════════════════════
   WARUM PREWEAL LAYOUT FIX v3.9.3
   Original measurements (preweal.com @ 1440×900):
     - Body paragraph line-height: 25.2px (1.4 × 18px) — was 33.3px (1.85)
     - Text column width: ~524px — was 558px (too wide)
     - Grid proportions: image 48% / text 1fr — was 45% / 1fr
     - Image: large with negative margin bleed effect
   ══════════════════════════════════════════════════════════ */

/* 1. Fix line-height: original is 25.2px / 18px = 1.4, not 1.85 */
.home-why-text p {
  line-height: 1.4 !important;
}

/* 2. Fix grid column ratio to give image more width (48%) so text
      column matches original ~524px width.
      Math: (1280 - 2×60px padding - 80px gap) × 0.48 = 556px image
            1160 - 80 - 556 = 524px text column */
.home-why-grid {
  grid-template-columns: 48% 1fr !important;
}

/* ═══════════════════════════════════════════════════════════
   FUNKTION SECTION FIX v3.9.4
   Original measurements (preweal.com @ 1440×900):
     - Feature title (Vielseitig): 28px / weight 400 / color rgb(47,43,54)
     - Description text: 18px / weight 400 / color rgb(47,43,54) — dark, NOT white
     - Feature list: full width (~1132px), no right-side panel
     - Section heading: dark text, not grey
   Issues fixed:
     1. .home-feature-desc was color:#fff (invisible white on white card)
     2. .home-feature-title was 1.75rem (too large) — original is 28px ≈ 1.75rem
        but font-size:28px exact to match original
     3. Section heading (.home-function .section-heading) made dark
     4. .home-features-list confirmed full width (no right-panel offset needed)
   ══════════════════════════════════════════════════════════ */

/* 1. Fix description text: was white (#fff), must be dark like original */
.home-feature-desc,
.page-template-page-home .home-feature-desc {
  color: rgba(47, 43, 54, 0.75) !important;
  font-size: 18px !important;
  font-weight: 400 !important;
}

/* 2. Fix feature title size: original is 28px / weight 400 */
.home-feature-title {
  font-size: 28px !important;
  font-weight: 400 !important;
  color: var(--text) !important;
}

/* Override the 1.75rem from the v3.9.0 block for feature titles specifically */
.home-feature-title.home-feature-title {
  font-size: 28px !important;
}

/* 3. Section heading in FUNKTION section: ensure dark text */
.home-function .section-heading,
.home-function h2 {
  color: var(--text) !important;
}

/* 4. Feature list full width — no right-panel, features span full inner width */
.home-features-list {
  max-width: 100% !important;
  width: 100% !important;
}

/* ═══════════════════════════════════════════════════════════
   FUNKTION SECTION REDESIGN v3.9.5 — match Image #11
   3-column layout: icon | title | desc, full-width rows
   Dark teal hover with white text/icons
   ══════════════════════════════════════════════════════════ */

/* Feature list: full viewport width, outside container */
.home-function .home-features-list {
  width: 100% !important;
  max-width: 100% !important;
  margin-top: 48px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}

/* Feature row: 3-column grid, transparent background */
.home-feature-row {
  display: grid !important;
  grid-template-columns: 200px 340px 1fr !important;
  align-items: center !important;
  gap: 0 !important;
  padding: 50px 115px !important;
  background: transparent !important;
  border-bottom: 1px solid rgba(0,0,0,0.12) !important;
  transition: background 0.3s ease, color 0.3s ease !important;
  color: var(--text) !important;
  cursor: default !important;
}
.home-feature-row:last-child {
  border-bottom: none !important;
}

/* Remove old triangle arrow */
.home-feature-row:hover::after {
  display: none !important;
}

/* Icon: uses currentColor, 88px */
.home-feature-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 88px !important;
  height: 88px !important;
  min-width: 88px !important;
  color: #2F2B36 !important;
  transition: color 0.3s ease !important;
}
.home-feature-icon svg {
  width: 88px !important;
  height: 88px !important;
}

/* Title: dark, 28px */
.home-feature-title {
  font-size: 28px !important;
  font-weight: 400 !important;
  color: inherit !important;
  line-height: 1.35 !important;
  letter-spacing: normal !important;
  padding: 0 40px !important;
  font-family: "Wix Madefor Display", sans-serif !important;
}

/* Description: dark, 18px */
.home-feature-desc {
  font-size: 18px !important;
  font-weight: 400 !important;
  color: inherit !important;
  line-height: 1.6 !important;
  opacity: 0.8 !important;
}

/* HOVER: dark teal background, everything white */
.home-feature-row:hover {
  background: #214A47 !important;
  color: #fff !important;
}
.home-feature-row:hover .home-feature-icon {
  color: rgba(255,255,255,0.85) !important;
}
.home-feature-row:hover .home-feature-desc {
  opacity: 0.9 !important;
}

/* Section heading dark on sage bg */
.home-function .section-heading {
  color: var(--text) !important;
  font-size: 1.875rem !important;
  font-weight: 700 !important;
}

/* ═══ v3.9.6 — FUNKTION icons größer, Team-Fotos fix ═══════════════ */

/* FUNKTION: Icons von 88px → 120px, Padding reduzieren */
.home-feature-icon,
.home-feature-icon svg {
  width: 120px !important;
  height: 120px !important;
  min-width: 120px !important;
  min-height: 120px !important;
}
.home-feature-row {
  padding-top: 28px !important;
  padding-bottom: 28px !important;
  grid-template-columns: 220px 340px 1fr !important;
}

/* TEAM: Override das height:auto mit höherer Spezifität */
.page-template-page-home .home-team-card img {
  height: 450px !important;
  width: 100% !important;
  object-fit: cover !important;
  object-position: 50% 15% !important;
  aspect-ratio: auto !important;
  background: transparent !important;
  border-radius: 6px !important;
}

/* TEAM Heading: 30px → 22px wie Original */
.page-template-page-home .home-team .section-heading,
.page-template-page-home .home-team h2 {
  font-size: 22px !important;
}

/* ═══ v3.9.7 — FUNKTION spacing reduzieren ═══════════════════════ */
.home-function {
  padding-top: 60px !important;
  padding-bottom: 60px !important;
}
.home-function .section-heading {
  margin-bottom: 24px !important;
}
.home-function .home-features-list {
  margin-top: 24px !important;
}

/* ═══ v3.9.8 — FÜR WEN: vor Gallery, dunkle Box mit Border-Radius ═══ */
.home-target {
  background: #fff !important;
  padding: 80px 0 0 0 !important;
}
.home-target-grid {
  flex-direction: column !important;
  gap: 32px !important;
}
/* Eyebrow + Heading: auf weißem Hintergrund, normale Farben */
.home-target .section-eyebrow {
  background: #214A47 !important;
  color: #fff !important;
}
.home-target .section-heading {
  color: var(--text) !important;
  font-size: 1.875rem !important;
  font-weight: 700 !important;
}
/* Dunkle teal Box: abgerundete Ecken auf ALLEN Seiten */
.home-target-text {
  background: #214A47 !important;
  border-radius: 20px !important;
  padding: 60px 115px !important;
  margin: 0 !important;
}
.home-target-text p {
  font-size: 19px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
  color: rgba(255,255,255,0.92) !important;
  margin-bottom: 20px !important;
}
.home-target-text p:last-child {
  margin-bottom: 0 !important;
}

/* ═══ v3.9.9 — FÜR WEN: full-width box, nur oben-rechts abgerundet ═ */
.home-target {
  background: #fff !important;
  padding: 60px 0 0 0 !important;
  overflow: hidden !important;
}
/* Text-Box: beginnt bei 115px von links, geht bis rechten Rand */
.home-target-text {
  background: #214A47 !important;
  border-radius: 0 24px 0 0 !important;
  margin-left: 115px !important;
  margin-right: 0 !important;
  padding: 56px 115px 56px 80px !important;
  width: auto !important;
  max-width: none !important;
}
.home-target-text p {
  font-size: 21px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  color: rgba(255,255,255,0.93) !important;
  margin-bottom: 22px !important;
}
.home-target-text p:last-child {
  margin-bottom: 0 !important;
}
/* Heading Abstand zum Box */
.home-target .home-section-inner {
  padding-bottom: 32px !important;
}

/* ═══ v4.0.0 — FÜR WEN: Heading full-width, box-alignment ═══════════ */
/* Section-inner: kein max-width, left padding = box left edge */
.home-target .home-section-inner {
  max-width: none !important;
  width: 100% !important;
  padding-left: 115px !important;
  padding-right: 115px !important;
  padding-bottom: 32px !important;
  margin: 0 !important;
}
/* Heading nimmt volle Breite → kein Wrap */
.home-target .section-heading {
  font-size: 30px !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
  max-width: none !important;
}
/* Box: left margin = padding der section-inner = 115px → bündig mit Heading */
.home-target-text {
  margin-left: 115px !important;
  padding-left: 80px !important;
  padding-right: 115px !important;
}

/* ═══ v4.0.1 — FÜR WEN box full-width (kein linkes Margin) ══════════ */
.home-target-text {
  margin-left: 0 !important;
  padding-left: 115px !important;
}

/* ═══ v4.0.2 — TEAM: Name 22px bold, Role 16px, korrekte Farben ════ */
.home-team-card h3,
.page-template-page-home .home-team-card h3 {
  font-size: 22px !important;
  font-weight: 700 !important;
  color: var(--text) !important;
  line-height: 1.3 !important;
  margin-bottom: 4px !important;
}
.home-team-card .home-team-role {
  font-size: 16px !important;
  font-weight: 400 !important;
  color: var(--text) !important;
  margin-bottom: 4px !important;
}
.home-team-card .home-team-phone {
  font-size: 14px !important;
  font-weight: 400 !important;
  color: var(--text) !important;
}
.home-team-card .home-team-email,
.home-team-card .home-team-email a {
  font-size: 14px !important;
  font-weight: 400 !important;
  color: var(--text-mid) !important;
}

/* ═══ v4.0.3 — TEAM phone order fix ════════════════════════════════ */
.home-team-card .home-team-phone {
  order: 4 !important;
  font-size: 14px !important;
  color: var(--text) !important;
}
.home-team-card .home-team-email { order: 5 !important; }

/* ═══ v4.0.4 — TEAM: Border-radius 8px, keine Emails mehr ══════════ */
.page-template-page-home .home-team-card img {
  border-radius: 8px !important;
  object-fit: cover !important;
  object-position: 50% 15% !important;
}

/* ═══ v4.0.5 — TEAM: border-radius 45px, object-position 48% 41% ═══ */
.page-template-page-home .home-team-card img {
  border-radius: 45px !important;
  object-fit: cover !important;
  object-position: 48% 41% !important;
}

/* ═══ v4.0.6 — TEAM: border-radius 0 (Original hat keine Abrundung) ══ */
.page-template-page-home .home-team-card img {
  border-radius: 0 !important;
  object-fit: cover !important;
  object-position: 48% 41% !important;
  height: 450px !important;
  width: 100% !important;
}


/* ═══════════════════════════════════════════════════════════
   v4.1.0 — COMPREHENSIVE FIXES FOR ALL 11 ISSUES
   Applied 2026-03-27
   ══════════════════════════════════════════════════════════ */

/* ─── ISSUE 2: Vertical spacing — sections ──────────────── */
/* Nav height matches source ~77px */
nav {
  height: 77px !important;
  min-height: 77px !important;
}

/* WARUM PREWEAL section padding */
.home-why {
  padding: 80px 0 !important;
}

/* FÜR WEN section */
.home-target {
  padding-top: 80px !important;
}

/* Contact section */
.home-contact {
  padding: 100px 0 !important;
}

/* Footer padding */
.home-footer {
  padding: 80px 0 60px !important;
}

/* ─── ISSUE 3: Hero FIBO badge — 300x300px ──────────────── */
.home-hero-fibo {
  position: absolute !important;
  bottom: 60px !important;
  top: auto !important;
  right: 60px !important;
  transform: none !important;
  z-index: 3 !important;
}
.home-hero-fibo-img {
  width: 240px !important;
  height: auto !important;
  object-fit: contain !important;
  display: block !important;
}

/* Hero content width — match source ~50% from left */
.home-hero-content {
  max-width: 55% !important;
}

/* ─── ISSUE 4: WARUM PREWEAL media block ─────────────────── */
.home-why-visual {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.home-why-visual img {
  width: 100% !important;
  max-width: 520px !important;
  height: auto !important;
  display: block !important;
  margin: 0 auto !important;
}
.home-why-grid {
  align-items: center !important;
  gap: 60px !important;
}

/* ─── ISSUE 5: Scroll animations ────────────────────────── */
/* Base state: hidden (will be revealed by JS) */
.anim-fade-up {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}
.anim-fade-up.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.anim-fade-in {
  opacity: 0;
  transition: opacity 0.7s ease;
}
.anim-fade-in.is-visible {
  opacity: 1;
}
/* Stagger delays for grid items */
.anim-fade-up:nth-child(2) { transition-delay: 0.1s; }
.anim-fade-up:nth-child(3) { transition-delay: 0.2s; }
.anim-fade-up:nth-child(4) { transition-delay: 0.3s; }
.anim-fade-up:nth-child(5) { transition-delay: 0.4s; }
.anim-fade-up:nth-child(6) { transition-delay: 0.5s; }

/* ─── ISSUE 6: Typography refinements ───────────────────── */
/* Hero eyebrow "JETZT NEU" - white border box, transparent bg */










/* Hero title */
.home-hero-title {
  font-size: 5rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
  line-height: 1.05 !important;
  margin-bottom: 16px !important;
}

/* Section eyebrow text size */
.section-eyebrow {
  font-size: 0.75rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.14em !important;
}

/* Section headings */
.section-heading {
  font-size: 1.875rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}

/* WARUM PREWEAL heading is larger */
.home-why-heading {
  font-size: 2.25rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}

/* Feature titles */
.home-feature-title {
  font-size: 1.5rem !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
}

/* Benefit card headings */
.home-benefit-body h3 {
  font-size: 1.125rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.01em !important;
}

/* Contact heading */
.home-contact-info h2 {
  font-size: 2rem !important;
  font-weight: 700 !important;
  margin-bottom: 12px !important;
}

/* ─── ISSUE 7: Gallery / benefits presentation ───────────── */
/* Benefits cards: show description text */
.home-benefit-body p {
  display: block !important;
  font-size: 0.875rem !important;
  color: rgba(255,255,255,0.85) !important;
  line-height: 1.5 !important;
  margin-top: 4px !important;
}

/* Team portrait: wider crop — show more face */
.page-template-page-home .home-team-card img {
  object-position: 50% 20% !important;
  height: 380px !important;
}

/* ─── ISSUE 8: Team section ──────────────────────────────── */
/* Concluding paragraph */
.home-team-conclusion {
  font-size: 1rem !important;
  line-height: 1.7 !important;
  color: rgba(255,255,255,0.9) !important;
  margin-top: 48px !important;
  max-width: 780px !important;
}

/* Team email links */
.home-team-email {
  margin-top: 4px !important;
}
.home-team-email a {
  font-size: 0.85rem !important;
  color: var(--brand-mid) !important;
  text-decoration: none !important;
}
.home-team-email a:hover {
  text-decoration: underline !important;
}
.home-team-phone {
  font-size: 0.9rem !important;
  color: var(--text) !important;
  margin-top: 4px !important;
}

/* ─── ISSUE 9: Timeline section ─────────────────────────── */
/* New class names: .timeline-track and .timeline-item */
.home-timeline {
  background: var(--brand-mid) !important;
  padding: 100px 0 !important;
  color: #fff !important;
}
.home-timeline .section-eyebrow {
  color: rgba(255,255,255,0.6) !important;
}
.home-timeline .section-heading {
  color: #fff !important;
  margin-bottom: 48px !important;
}
.timeline-track {
  display: flex !important;
  align-items: flex-start !important;
  overflow-x: auto !important;
  gap: 0 !important;
  position: relative !important;
  padding-bottom: 16px !important;
  scrollbar-width: thin !important;
  scrollbar-color: rgba(255,255,255,0.3) transparent !important;
}
.timeline-track::before {
  content: '' !important;
  position: absolute !important;
  top: 8px !important;
  left: 0 !important;
  right: 0 !important;
  height: 2px !important;
  background: rgba(255,255,255,0.25) !important;
}
.timeline-item {
  position: relative !important;
  padding-top: 32px !important;
  padding-right: 20px !important;
  min-width: 140px !important;
  flex: 1 !important;
  flex-shrink: 0 !important;
}
.timeline-item::before {
  content: '' !important;
  position: absolute !important;
  top: 2px !important;
  left: 0 !important;
  width: 14px !important;
  height: 14px !important;
  border-radius: 50% !important;
  background: #fff !important;
  border: 3px solid rgba(255,255,255,0.4) !important;
  transform: none !important;
}
.timeline-date {
  display: inline-block !important;
  background: rgba(255,255,255,0.15) !important;
  color: #fff !important;
  padding: 4px 10px !important;
  border-radius: 100px !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  margin-bottom: 8px !important;
  white-space: nowrap !important;
}
.timeline-label {
  display: block !important;
  font-size: 0.8rem !important;
  color: rgba(255,255,255,0.75) !important;
  line-height: 1.4 !important;
  margin-top: 6px !important;
}

/* ─── ISSUE 10: Contact section right block ──────────────── */
.home-contact-info h4 {
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
  margin-bottom: 16px !important;
  color: var(--text) !important;
}
.home-contact-info p {
  font-size: 0.9rem !important;
  color: var(--text-mid) !important;
  margin-bottom: 8px !important;
}

/* ─── ISSUE 11: Footer — match source layout ─────────────── */
/* Source footer has NO "preweal sports GmbH" in address column */
/* Source has "© 2024 by preweal." (not 2026 / GmbH) */
/* Source has no KONTAKT link in MENU column nav */
.home-footer {
  background: #111 !important;
  color: rgba(255,255,255,0.75) !important;
}
.home-footer-inner {
  display: grid !important;
  grid-template-columns: 1fr 1fr 1fr 1fr !important;
  gap: 40px !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 60px !important;
}
.home-footer h4 {
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  color: rgba(255,255,255,0.45) !important;
  margin-bottom: 20px !important;
  text-transform: uppercase !important;
}
.home-footer a {
  color: rgba(255,255,255,0.75) !important;
  text-decoration: none !important;
  font-size: 0.875rem !important;
  display: block !important;
  margin-bottom: 8px !important;
}
.home-footer a:hover {
  color: #fff !important;
}
.home-footer p {
  font-size: 0.875rem !important;
  color: rgba(255,255,255,0.75) !important;
  margin-bottom: 8px !important;
  line-height: 1.6 !important;
}
.home-footer-logo {
  height: 32px !important;
  width: auto !important;
  margin-bottom: 16px !important;
  opacity: 0.8 !important;
}
.home-footer-legal {
  display: flex !important;
  flex-direction: column !important;
}
.home-footer-legal p {
  font-size: 0.75rem !important;
  color: rgba(255,255,255,0.45) !important;
}
.home-footer-legal a {
  font-size: 0.75rem !important;
  color: rgba(255,255,255,0.45) !important;
  margin-bottom: 4px !important;
}


/* ═══ v4.1.1 — Timeline dark teal background fix ═══════════════════ */
.home-timeline {
  background: #214A47 !important;
  color: #fff !important;
  padding: 100px 0 !important;
}
.home-timeline .section-eyebrow {
  background: transparent !important;
  color: rgba(255,255,255,0.6) !important;
}
.home-timeline .section-heading {
  color: #fff !important;
}
.timeline-date {
  background: rgba(255,255,255,0.2) !important;
  color: #fff !important;
}
.timeline-item::before {
  background: #fff !important;
}
.timeline-track::before {
  background: rgba(255,255,255,0.25) !important;
}
.timeline-label {
  color: rgba(255,255,255,0.8) !important;
}

/* v4.1.1 — Team conclusion paragraph: white text (team bg is dark) */
.home-team-conclusion {
  color: rgba(255,255,255,0.9) !important;
  margin-top: 48px !important;
  font-size: 1rem !important;
  line-height: 1.7 !important;
  max-width: 780px !important;
}

/* v4.1.1 — Benefits card body text color fix */
.home-benefit-body h3 {
  color: #fff !important;
}
.home-benefit-body p {
  color: rgba(255,255,255,0.8) !important;
}


/* v4.1.2 — FIBO badge exact 300x300 */
.home-hero-fibo-img {
  width: 240px !important;
  height: auto !important;
  max-width: 240px !important;
  object-fit: contain !important;
}

/* ═══ v5.0.0 — Homepage parity pass ═════════════════════ */
.page-template-page-home {
  background: #fff;
  color: #2f2b36;
}

.page-template-page-home nav {
  height: 100px !important;
  padding: 0 28px !important;
  border-bottom: none !important;
}

.page-template-page-home .nav-logo img {
  height: 60px !important;
  width: auto !important;
}

.page-template-page-home .nav-link,
.page-template-page-home .nav-contact-btn {
  font-size: 13px !important;
  letter-spacing: 0.12em !important;
}

.page-template-page-home .home-section-inner {
  max-width: 1192px !important;
  padding: 0 36px !important;
}

.page-template-page-home .section-eyebrow {
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: 0.2em !important;
  line-height: 1 !important;
  margin-bottom: 18px !important;
  color: #214a47 !important;
}

.page-template-page-home .section-heading {
  font-size: 30px !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
  color: #2f2b36 !important;
  margin-bottom: 0 !important;
}

.page-template-page-home .home-hero {
  min-height: 2200px !important;
  height: 2200px !important;
  align-items: flex-end !important;
  padding-bottom: 84px !important;
}

.page-template-page-home .home-hero-overlay {
  background: transparent !important;
}

.page-template-page-home .home-hero-content {
  max-width: 590px !important;
  padding: 0 0 0 72px !important;
  margin-bottom: 42px !important;
}

.page-template-page-home .home-hero-eyebrow {
  margin-bottom: 10px !important;
  color: rgba(255, 255, 255, 0.95) !important;
}

.page-template-page-home .eyebrow-badge {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.2em;
}

.page-template-page-home .home-hero-title {
  font-size: 72px !important;
  line-height: 1.1 !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  margin-bottom: 10px !important;
}

.page-template-page-home .home-hero-tagline {
  font-size: 28px !important;
  line-height: 1.4 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: #fff !important;
  margin-bottom: 4px !important;
}

.page-template-page-home .home-hero-sub {
  max-width: 590px !important;
  font-size: 20px !important;
  line-height: 1.4 !important;
  font-weight: 400 !important;
  color: #fff !important;
  margin-bottom: 26px !important;
}

.page-template-page-home .home-hero-scroll {
  width: 40px;
  height: 40px;
}

.page-template-page-home .home-hero-fibo {
  right: 72px !important;
  bottom: 72px !important;
}

.page-template-page-home .home-hero-fibo-img {
  width: 240px !important;
  height: 200px !important;
  max-width: 240px !important;
}

.page-template-page-home .home-intro {
  background: #214a47 !important;
  padding: 40px 0 !important;
}

.page-template-page-home .home-intro p {
  max-width: 820px !important;
  color: #fff !important;
  font-size: 20px !important;
  line-height: 1.4 !important;
  font-weight: 400 !important;
  text-align: left !important;
}

.page-template-page-home .home-why {
  background: #fff !important;
  padding: 78px 0 56px !important;
}

.page-template-page-home .home-why-grid {
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr) !important;
  gap: 56px !important;
  align-items: center !important;
}

.page-template-page-home .home-why-visual {
  aspect-ratio: 1070 / 791;
  overflow: hidden;
}

.page-template-page-home .home-why-video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.page-template-page-home .home-why-heading {
  color: #2f2b36 !important;
  margin-bottom: 18px !important;
}

.page-template-page-home .home-why-eyebrow {
  color: #214a47 !important;
}

.page-template-page-home .home-why-text p {
  color: #214a47 !important;
  font-size: 18px !important;
  line-height: 1.4 !important;
  margin-bottom: 14px !important;
}

.page-template-page-home .home-function-intro {
  background: #fff;
  padding: 14px 0 20px;
}

.page-template-page-home .home-function {
  background: #c6d9dc !important;
  padding: 16px 0 68px !important;
}

.page-template-page-home .home-features-list {
  margin-top: 34px !important;
  background: transparent !important;
}

.page-template-page-home .home-feature-row {
  grid-template-columns: 254px 1fr !important;
  gap: 60px !important;
  align-items: start !important;
  padding: 28px 0 !important;
  background: transparent !important;
  border-bottom: none !important;
}

.page-template-page-home .home-feature-row:hover,
.page-template-page-home .home-feature-row:hover::after {
  background: transparent !important;
  content: none !important;
}

.page-template-page-home .home-feature-left {
  display: grid;
  grid-template-columns: 78px 1fr;
  gap: 18px;
  align-items: start;
}

.page-template-page-home .home-feature-icon {
  width: 56px !important;
  height: 56px !important;
  min-width: 56px !important;
  margin-top: 2px;
}

.page-template-page-home .home-feature-icon svg {
  width: 56px !important;
  height: 56px !important;
}

.page-template-page-home .home-feature-title {
  font-size: 28px !important;
  line-height: 1.25 !important;
  font-weight: 400 !important;
  color: #2f2b36 !important;
}

.page-template-page-home .home-feature-desc {
  font-size: 18px !important;
  line-height: 1.6 !important;
  color: #2f2b36 !important;
}

.page-template-page-home .home-gallery-strip img {
  height: 276px !important;
}

.page-template-page-home .home-benefits {
  background: #fff !important;
  padding: 38px 0 92px !important;
}

.page-template-page-home .home-benefits .home-section-inner {
  max-width: none !important;
  padding: 0 !important;
}

.page-template-page-home .home-benefits-grid {
  gap: 0 !important;
}

.page-template-page-home .home-benefit-card {
  position: relative !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: hidden !important;
  min-height: 371px !important;
}

.page-template-page-home .home-benefit-card:hover {
  transform: none !important;
  box-shadow: none !important;
}

.page-template-page-home .home-benefit-card img {
  width: 100% !important;
  height: 371px !important;
  object-fit: cover !important;
}

.page-template-page-home .home-benefit-body {
  position: absolute !important;
  inset: auto 0 0 0 !important;
  padding: 22px 26px 20px !important;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.68), rgba(0, 0, 0, 0.02)) !important;
}

.page-template-page-home .home-benefit-body h3 {
  font-size: 42px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  color: #fff !important;
  margin-bottom: 2px !important;
}

.page-template-page-home .home-benefit-body p {
  color: #fff !important;
  font-size: 19px !important;
  line-height: 1.25 !important;
}

.page-template-page-home .home-team {
  background: #fff !important;
  padding: 58px 0 18px !important;
}

.page-template-page-home .home-team-eyebrow,
.page-template-page-home .home-team-heading {
  color: #214a47 !important;
}

.page-template-page-home .home-team-grid {
  grid-template-columns: 1fr !important;
  gap: 26px !important;
  margin-top: 32px !important;
}

.page-template-page-home .home-team-cards {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 28px !important;
}

.page-template-page-home .home-team-card {
  width: 100% !important;
  min-width: 0 !important;
  text-align: left !important;
}

.page-template-page-home .home-team-card h3 {
  color: #2f2b36 !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  margin-bottom: 10px !important;
}

.page-template-page-home .home-team-card img {
  width: 100% !important;
  height: 450px !important;
  object-fit: cover !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin-bottom: 12px !important;
}

.page-template-page-home .home-team-role,
.page-template-page-home .home-team-phone,
.page-template-page-home .home-team-email,
.page-template-page-home .home-team-email a {
  color: #2f2b36 !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.page-template-page-home .home-team-email-muted {
  min-height: 24px;
}

.page-template-page-home .home-team-text {
  max-width: 100% !important;
}

.page-template-page-home .home-team-text p,
.page-template-page-home .home-team-closing {
  color: #214a47 !important;
  font-size: 18px !important;
  line-height: 1.4 !important;
}

.page-template-page-home .home-team-closing {
  display: block;
  max-width: 1192px;
  margin: 0 auto;
  padding: 0 36px 46px;
}

.page-template-page-home .home-timeline {
  background: #fff !important;
  color: #214a47 !important;
  padding: 22px 0 72px !important;
}

.page-template-page-home .home-timeline .home-section-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1.7fr) 260px !important;
  grid-template-areas:
    "track eyebrow"
    "track heading" !important;
  column-gap: 32px !important;
  align-items: start !important;
}

.page-template-page-home .home-timeline-track {
  grid-area: track !important;
  display: grid !important;
  grid-template-columns: repeat(10, minmax(92px, 1fr)) !important;
  gap: 18px !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
  overflow: visible !important;
}

.page-template-page-home .home-timeline-track::before {
  top: 19px !important;
  background: rgba(33, 74, 71, 0.24) !important;
}

.page-template-page-home .home-tl-eyebrow {
  grid-area: eyebrow !important;
  align-self: start;
  color: #214a47 !important;
  margin-top: 14px !important;
}

.page-template-page-home .home-tl-heading {
  grid-area: heading !important;
  color: #214a47 !important;
  max-width: 260px !important;
}

.page-template-page-home .home-tl-item {
  min-width: 0 !important;
  padding-top: 42px !important;
}

.page-template-page-home .home-tl-item::before {
  top: 11px !important;
  width: 18px !important;
  height: 18px !important;
  background: #214a47 !important;
  border: 3px solid #fff !important;
}

.page-template-page-home .home-tl-date {
  color: #214a47 !important;
  font-size: 21px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  margin-bottom: 8px !important;
}

.page-template-page-home .home-tl-desc {
  color: #214a47 !important;
  font-size: 16px !important;
  line-height: 1.35 !important;
}

.page-template-page-home .home-benefits-label {
  background: #fff;
  padding: 4px 0 18px;
}

.page-template-page-home .home-benefits-label-spacer {
  min-height: 10px;
}

.page-template-page-home .home-target {
  background: #fff !important;
  padding: 18px 0 82px !important;
}

.page-template-page-home .home-target-grid {
  grid-template-columns: 1fr 1.2fr !important;
  gap: 52px !important;
}

.page-template-page-home .home-target-text p {
  color: #214a47 !important;
  font-size: 18px !important;
  line-height: 1.4 !important;
}

.page-template-page-home .home-contact {
  background: #c6d9dc !important;
  padding: 82px 0 !important;
}

.page-template-page-home .home-contact-grid {
  grid-template-columns: 1fr 0.88fr !important;
  gap: 58px !important;
}

.page-template-page-home .home-contact-form .form-group label {
  color: #214a47 !important;
}

.page-template-page-home .home-contact-form .form-group input,
.page-template-page-home .home-contact-form .form-group textarea {
  background: rgba(255, 255, 255, 0.72) !important;
  border: 1px solid rgba(33, 74, 71, 0.18) !important;
  color: #214a47 !important;
}

.page-template-page-home .home-contact-form .form-group input::placeholder,
.page-template-page-home .home-contact-form .form-group textarea::placeholder {
  color: rgba(33, 74, 71, 0.36) !important;
}

.page-template-page-home .home-contact-info {
  padding-top: 12px !important;
}

.page-template-page-home .home-contact-info h2,
.page-template-page-home .home-contact-info p,
.page-template-page-home .home-contact-info h4 {
  color: #214a47 !important;
}

.page-template-page-home .home-contact-info p {
  max-width: 340px !important;
  margin-bottom: 20px !important;
}

.page-template-page-home .home-contact-empty {
  margin-bottom: 0 !important;
  min-height: 20px !important;
}

.page-template-page-home .home-footer {
  background: #1e2e30 !important;
  padding: 76px 0 72px !important;
}

.page-template-page-home .home-footer-inner {
  max-width: 1192px !important;
  padding: 0 36px !important;
  gap: 28px !important;
}

.page-template-page-home .home-footer-col h4 {
  font-size: 12px !important;
  letter-spacing: 0.18em !important;
}

.page-template-page-home .home-footer-col p,
.page-template-page-home .home-footer-col a,
.page-template-page-home .home-footer-legal p,
.page-template-page-home .home-footer-legal a {
  font-size: 15px !important;
  line-height: 1.45 !important;
  color: rgba(255, 255, 255, 0.78) !important;
}

.page-template-page-home .home-footer-legal {
  justify-content: flex-end !important;
}

.page-template-page-home .home-footer-logo {
  display: none !important;
}

.page-template-page-home .js-reveal {
  opacity: 1;
  transform: none;
  transition: opacity 0.45s ease, transform 0.45s ease;
}

.page-template-page-home .js-reveal.is-visible {
  opacity: 1;
  transform: none;
}

@media (max-width: 1100px) {
  .page-template-page-home .home-why-grid,
  .page-template-page-home .home-target-grid,
  .page-template-page-home .home-contact-grid,
  .page-template-page-home .home-timeline .home-section-inner {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "eyebrow"
      "heading"
      "track" !important;
  }

  .page-template-page-home .home-team-cards,
  .page-template-page-home .home-benefits-grid {
    grid-template-columns: 1fr 1fr !important;
  }

  .page-template-page-home .home-timeline-track {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  .page-template-page-home nav {
    padding: 0 16px !important;
  }

  .page-template-page-home .home-section-inner,
  .page-template-page-home .home-footer-inner,
  .page-template-page-home .home-team-closing {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .page-template-page-home .home-hero {
    min-height: 980px !important;
    height: 980px !important;
    padding-bottom: 44px !important;
  }

  .page-template-page-home .home-hero-content {
    padding-left: 20px !important;
    max-width: 320px !important;
  }

  .page-template-page-home .home-hero-title {
    font-size: 42px !important;
  }

  .page-template-page-home .home-hero-tagline,
  .page-template-page-home .home-hero-sub,
  .page-template-page-home .home-intro p {
    font-size: 18px !important;
  }

  .page-template-page-home .home-hero-fibo {
    right: 20px !important;
    bottom: 20px !important;
  }

  .page-template-page-home .home-hero-fibo-img {
    width: 140px !important;
    height: 118px !important;
  }

  .page-template-page-home .home-feature-row,
  .page-template-page-home .home-feature-left {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .page-template-page-home .home-team-cards,
  .page-template-page-home .home-benefits-grid,
  .page-template-page-home .home-footer-inner {
    grid-template-columns: 1fr !important;
  }

  .page-template-page-home .home-team-card img {
    height: 360px !important;
  }

  .page-template-page-home .home-benefit-card,
  .page-template-page-home .home-benefit-card img {
    min-height: 280px !important;
    height: 280px !important;
  }

  .page-template-page-home .home-timeline-track {
    grid-template-columns: 1fr !important;
  }
}

/* ═══ v5.1.0 — Source-matched structure pass ═══════════ */

.page-template-page-home .home-hero {
  min-height: calc(100vh - 100px) !important;
  height: calc(100vh - 100px) !important;
}

.page-template-page-home .home-hero-content {
  left: 70px !important;
  bottom: 86px !important;
  width: 650px !important;
  max-width: 650px !important;
}

.page-template-page-home .home-hero-title {
  font-size: 72px !important;
  line-height: 1.02 !important;
  margin-bottom: 14px !important;
}

.page-template-page-home .home-hero-tagline,
.page-template-page-home .home-hero-sub {
  max-width: none !important;
}

.page-template-page-home .home-hero-fibo {
  right: 60px !important;
  bottom: 60px !important;
  top: auto !important;
  transform: none !important;
}

.page-template-page-home .home-hero-fibo-img {
  width: 240px !important;
  height: auto !important;
  object-fit: contain !important;
}

.page-template-page-home .home-intro {
  background: #214a47 !important;
  padding: 22px 0 24px !important;
}

.page-template-page-home .home-intro p {
  max-width: 1060px !important;
  font-size: 20px !important;
  line-height: 1.45 !important;
}

.page-template-page-home .home-why {
  padding: 86px 0 0 !important;
}

.page-template-page-home .home-why-grid {
  gap: 78px !important;
  align-items: center !important;
}

.page-template-page-home .home-why-visual {
  aspect-ratio: auto !important;
}

.page-template-page-home .home-why-image {
  display: block;
  width: 100%;
  height: auto;
}

.page-template-page-home .home-why-heading {
  font-size: 28px !important;
  line-height: 1.2 !important;
  margin-bottom: 34px !important;
}

.page-template-page-home .home-why-text p {
  font-size: 18px !important;
  line-height: 1.6 !important;
  margin-bottom: 18px !important;
}

.page-template-page-home .home-function-intro {
  display: none !important;
}

.page-template-page-home .home-function {
  padding: 78px 0 18px !important;
}

.page-template-page-home .home-function .section-eyebrow {
  margin-bottom: 18px !important;
}

.page-template-page-home .home-function .section-heading {
  margin-bottom: 42px !important;
}

.page-template-page-home .home-features-list {
  margin-top: 0 !important;
}

.page-template-page-home .home-feature-row {
  grid-template-columns: 290px 1fr !important;
  gap: 52px !important;
  padding: 24px 0 !important;
  border-top: 1px solid rgba(47, 43, 54, 0.18) !important;
}

.page-template-page-home .home-feature-row:last-child {
  border-bottom: 1px solid rgba(47, 43, 54, 0.18) !important;
}

.page-template-page-home .home-feature-left {
  grid-template-columns: 92px 1fr !important;
}

.page-template-page-home .home-feature-icon {
  width: 64px !important;
  height: 64px !important;
}

.page-template-page-home .home-feature-icon svg {
  width: 64px !important;
  height: 64px !important;
}

.page-template-page-home .home-feature-title {
  font-size: 28px !important;
  line-height: 1.2 !important;
}

.page-template-page-home .home-summary {
  background: #c6d9dc !important;
  margin-top: 0 !important;
  padding: 42px 0 48px !important;
}

.page-template-page-home .home-summary-text {
  color: #214a47 !important;
  font-size: 18px !important;
  line-height: 1.55 !important;
  max-width: 1080px !important;
  margin: 0 auto !important;
}

.page-template-page-home .home-team {
  padding: 26px 0 108px !important;
}

.page-template-page-home .home-team-heading {
  margin-bottom: 28px !important;
}

.page-template-page-home .home-team-text {
  max-width: 1080px !important;
  margin-bottom: 24px !important;
}

.page-template-page-home .home-team-cards {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

.page-template-page-home .home-team-card {
  display: block !important;
}

.page-template-page-home .home-team-card img {
  height: 462px !important;
  border-radius: 30px !important;
  margin-bottom: 16px !important;
}

.page-template-page-home .home-team-card h3 {
  font-size: 16px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  margin-bottom: 4px !important;
}

.page-template-page-home .home-team-role,
.page-template-page-home .home-team-phone,
.page-template-page-home .home-team-email,
.page-template-page-home .home-team-email a {
  font-size: 13px !important;
  line-height: 1.45 !important;
}

.page-template-page-home .home-team-closing {
  display: none !important;
}

.page-template-page-home .home-timeline {
  background: #fff !important;
  padding: 0 0 320px !important;
}

.page-template-page-home .home-timeline .home-section-inner {
  display: block !important;
  position: relative !important;
  min-height: 2080px !important;
}

.page-template-page-home .home-tl-eyebrow {
  margin-top: 0 !important;
}

.page-template-page-home .home-tl-heading {
  max-width: 280px !important;
  margin-bottom: 0 !important;
}

.page-template-page-home .home-timeline-cloud {
  position: relative;
  min-height: 1740px;
  margin-top: 140px;
}

.page-template-page-home .home-tl-item {
  position: absolute !important;
  min-width: 0 !important;
  padding-top: 0 !important;
  width: 260px !important;
}

.page-template-page-home .home-tl-item::before,
.page-template-page-home .home-timeline-track::before {
  content: none !important;
}

.page-template-page-home .home-tl-date {
  display: inline-block !important;
  padding: 8px 18px 9px !important;
  border-radius: 0 14px 0 14px !important;
  background: #214a47 !important;
  color: #fff !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: 0.2em !important;
  margin-bottom: 10px !important;
}

.page-template-page-home .home-tl-desc {
  display: block !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  color: #214a47 !important;
}

.page-template-page-home .home-tl-pos-1  { left: 0; top: 210px; }
.page-template-page-home .home-tl-pos-2  { left: 250px; top: 470px; }
.page-template-page-home .home-tl-pos-3  { left: 470px; top: 210px; }
.page-template-page-home .home-tl-pos-4  { left: 760px; top: 470px; }
.page-template-page-home .home-tl-pos-5  { left: 950px; top: 770px; }
.page-template-page-home .home-tl-pos-6  { left: 720px; top: 1030px; }
.page-template-page-home .home-tl-pos-7  { left: 440px; top: 1030px; }
.page-template-page-home .home-tl-pos-8  { left: 0; top: 1340px; }
.page-template-page-home .home-tl-pos-9  { left: 360px; top: 1180px; }
.page-template-page-home .home-tl-pos-10 { left: 720px; top: 1340px; }

.page-template-page-home .home-benefits-label {
  padding: 0 !important;
}

.page-template-page-home .home-target {
  padding: 24px 0 260px !important;
}

.page-template-page-home .home-contact {
  background: #214a47 !important;
  padding: 0 !important;
}

.page-template-page-home .home-contact-panel {
  background: #c6d9dc !important;
  border-radius: 28px 28px 0 0;
  padding: 72px 0 46px;
}

.page-template-page-home .home-contact-grid {
  grid-template-columns: 0.86fr 1.14fr !important;
  gap: 84px !important;
  align-items: start !important;
}

.page-template-page-home .home-contact-eyebrow {
  display: inline-block;
  background: #214a47;
  color: #fff;
  padding: 5px 12px 6px;
  border-radius: 0 10px 0 10px;
  margin-bottom: 18px !important;
}

.page-template-page-home .home-contact-info {
  padding-top: 0 !important;
  order: 1 !important;
}

.page-template-page-home .home-contact-info h2 {
  font-size: 28px !important;
  line-height: 1.15 !important;
  max-width: 340px !important;
  margin-bottom: 18px !important;
}

.page-template-page-home .home-contact-info h4 {
  font-size: 16px !important;
  line-height: 1.45 !important;
  max-width: 330px !important;
}

.page-template-page-home .home-contact-form {
  order: 2 !important;
}

.page-template-page-home .home-contact-form .form-grid {
  gap: 16px 18px !important;
}

.page-template-page-home .home-contact-form .form-group label {
  font-size: 13px !important;
  margin-bottom: 8px !important;
}

.page-template-page-home .home-contact-form .form-group input,
.page-template-page-home .home-contact-form .form-group textarea {
  background: rgba(255, 255, 255, 0.92) !important;
  min-height: 54px !important;
}

.page-template-page-home .home-contact-form .form-group textarea {
  min-height: 138px !important;
}

.page-template-page-home .form-submit-row {
  justify-content: flex-start !important;
}

.page-template-page-home .btn-submit {
  min-width: 292px !important;
}

.page-template-page-home .home-footer {
  background: #214a47 !important;
  padding: 34px 0 44px !important;
  border-top: 1px solid rgba(255, 255, 255, 0.16) !important;
}

.page-template-page-home .home-footer-inner {
  display: grid !important;
  grid-template-columns: 1.15fr repeat(4, minmax(0, 1fr)) !important;
  align-items: start !important;
  gap: 28px !important;
}

.page-template-page-home .home-footer-brand {
  padding-top: 8px !important;
}

.page-template-page-home .home-footer-logo {
  display: block !important;
  width: 138px !important;
  height: auto !important;
}

.page-template-page-home .home-footer-legal {
  justify-content: flex-start !important;
}

@media (max-width: 1100px) {
  .page-template-page-home .home-why-grid,
  .page-template-page-home .home-contact-grid,
  .page-template-page-home .home-target-grid,
  .page-template-page-home .home-footer-inner {
    grid-template-columns: 1fr !important;
  }

  .page-template-page-home .home-team-cards {
    grid-template-columns: 1fr !important;
  }

  .page-template-page-home .home-timeline .home-section-inner {
    min-height: auto !important;
  }

  .page-template-page-home .home-timeline-cloud {
    min-height: auto !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 34px 26px !important;
    margin-top: 56px !important;
  }

  .page-template-page-home .home-tl-item {
    position: static !important;
    width: auto !important;
  }
}

@media (max-width: 767px) {
  .page-template-page-home .home-hero-content {
    left: 20px !important;
    right: 20px !important;
    bottom: 42px !important;
    max-width: 320px !important;
  }

  .page-template-page-home .home-hero-title {
    font-size: 42px !important;
  }

  .page-template-page-home .home-hero-fibo {
    right: 20px !important;
    bottom: 22px !important;
  }

  .page-template-page-home .home-contact-panel {
    border-radius: 22px 22px 0 0 !important;
    padding: 42px 0 34px !important;
  }

  .page-template-page-home .home-timeline-cloud,
  .page-template-page-home .home-footer-inner {
    grid-template-columns: 1fr !important;
  }

  .page-template-page-home .btn-submit {
    min-width: 0 !important;
    width: 100% !important;
  }
}

/* ═══ v5.1.1 — Final cleanup overrides ══════════════════ */

.page-template-page-home .home-summary .home-section-inner {
  background: #c6d9dc !important;
  border-radius: 0 0 26px 26px !important;
  padding-top: 34px !important;
  padding-bottom: 34px !important;
}

.page-template-page-home .home-team-heading {
  color: #2f2b36 !important;
}

.page-template-page-home .home-why-image {
  width: 88% !important;
  max-width: 620px !important;
  margin: 0 auto !important;
}

.page-template-page-home .home-target {
  background: #fff !important;
  padding: 56px 0 260px !important;
  overflow: visible !important;
}

.page-template-page-home .home-target .home-section-inner {
  max-width: 1192px !important;
  width: auto !important;
  padding-left: 36px !important;
  padding-right: 36px !important;
  padding-bottom: 0 !important;
  margin: 0 auto !important;
}

.page-template-page-home .home-target-grid {
  display: grid !important;
  grid-template-columns: 1fr 1.18fr !important;
  gap: 52px !important;
  align-items: start !important;
}

.page-template-page-home .home-target .section-eyebrow {
  display: inline-block !important;
  background: #214a47 !important;
  color: #fff !important;
  padding: 5px 12px 6px !important;
  border-radius: 0 10px 0 10px !important;
  margin-bottom: 18px !important;
}

.page-template-page-home .home-target .section-heading {
  color: #2f2b36 !important;
  font-size: 28px !important;
  line-height: 1.15 !important;
  white-space: normal !important;
}

.page-template-page-home .home-target-text {
  background: transparent !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  width: auto !important;
  max-width: none !important;
}

.page-template-page-home .home-target-text p {
  color: #214a47 !important;
  font-size: 18px !important;
  line-height: 1.55 !important;
  margin-bottom: 18px !important;
}

.page-template-page-home .home-contact .home-section-inner {
  max-width: 1210px !important;
  padding-left: 36px !important;
  padding-right: 36px !important;
}

.page-template-page-home .home-contact-panel {
  border-radius: 26px 26px 0 0 !important;
}

.page-template-page-home .home-contact-info h2,
.page-template-page-home .home-contact-info h4 {
  text-transform: none !important;
  letter-spacing: 0 !important;
  color: #2f2b36 !important;
}

.page-template-page-home .home-contact-info h2 {
  font-size: 56px !important;
  line-height: 1.1 !important;
  max-width: 380px !important;
}

.page-template-page-home .home-contact-info h4 {
  font-size: 16px !important;
  font-weight: 600 !important;
  max-width: 340px !important;
}

.page-template-page-home .home-footer-logo {
  width: 146px !important;
}

@media (max-width: 1100px) {
  .page-template-page-home .home-target-grid {
    grid-template-columns: 1fr !important;
  }

  .page-template-page-home .home-contact-info h2 {
    font-size: 34px !important;
  }
}
