/* Contact page only: /de/kontakt/ — loaded directly by protected/views/de/kontakt.php */
html body { overflow-x: clip; }
html body > main { padding-top: 0 !important; }

/* Header is page-local because this stylesheet is registered only by the German contact view. */
.lt-site-header {
  position: fixed !important;
  z-index: 9990;
  top: 0;
  right: 0;
  left: 0;
  background: linear-gradient(180deg, rgba(5,22,31,.88) 0%, rgba(5,22,31,.72) 100%) !important;
  border-bottom: 1px solid rgba(255,255,255,.10) !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: blur(14px) saturate(118%);
  backdrop-filter: blur(14px) saturate(118%);
  transition: background .22s ease, border-color .22s ease, box-shadow .22s ease, backdrop-filter .22s ease;
}
.lt-site-header .lt-brand { position: relative; min-width: 236px; height: 57px; }
.lt-site-header .lt-brand img { width: 236px; height: 57px; opacity: 0; }
.lt-site-header .lt-brand::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url('/assets/img/logo.png') left center / contain no-repeat;
  filter: drop-shadow(0 1px 1px rgba(0,0,0,.16));
}
.lt-site-header.is-scrolled .lt-brand::before,
body.lt-nav-open .lt-site-header .lt-brand::before { background-image: url('/assets/img/logo-black.png'); filter: none; }
.lt-site-header:not(.is-scrolled) .lt-nav-link,
.lt-site-header:not(.is-scrolled) .lt-nav-trigger { color: rgba(255,255,255,.94) !important; text-shadow: 0 1px 2px rgba(0,0,0,.22); }
.lt-site-header:not(.is-scrolled) .lt-nav-link:hover,
.lt-site-header:not(.is-scrolled) .lt-nav-trigger:hover,
.lt-site-header:not(.is-scrolled) .lt-nav-link[aria-current="page"],
.lt-site-header:not(.is-scrolled) .lt-nav-item.is-active > .lt-nav-trigger { color: #fff !important; background: rgba(255,255,255,.09) !important; }
.lt-site-header:not(.is-scrolled) .lt-nav-link::after,
.lt-site-header:not(.is-scrolled) .lt-nav-trigger::after { background: #9fdb91 !important; }
.lt-site-header:not(.is-scrolled) .lt-language__trigger {
  border-color: rgba(255,255,255,.20) !important;
  background: rgba(255,255,255,.10) !important;
  color: #fff !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10) !important;
}
.lt-site-header:not(.is-scrolled) .lt-language__trigger i { color: rgba(255,255,255,.78) !important; }
.lt-site-header:not(.is-scrolled) .lt-header-cta { border: 1px solid rgba(255,255,255,.22); box-shadow: 0 10px 24px rgba(0,0,0,.16); }

.lt-site-header.is-scrolled,
body.lt-nav-open .lt-site-header {
  background: rgba(251,253,252,.96) !important;
  border-bottom-color: rgba(41,88,50,.12) !important;
  box-shadow: 0 10px 30px rgba(19,44,55,.10) !important;
  -webkit-backdrop-filter: blur(22px) saturate(135%);
  backdrop-filter: blur(22px) saturate(135%);
}
.lt-site-header.is-scrolled .lt-nav-link,
.lt-site-header.is-scrolled .lt-nav-trigger,
body.lt-nav-open .lt-site-header .lt-nav-link,
body.lt-nav-open .lt-site-header .lt-nav-trigger { color: #324236 !important; text-shadow: none !important; }
.lt-site-header.is-scrolled .lt-nav-link:hover,
.lt-site-header.is-scrolled .lt-nav-trigger:hover,
body.lt-nav-open .lt-site-header .lt-nav-link:hover,
body.lt-nav-open .lt-site-header .lt-nav-trigger:hover { color: var(--lt-green) !important; background: rgba(237,246,233,.78) !important; }
body.lt-nav-open .lt-site-header .lt-language__trigger { background: #fff !important; color: #344438 !important; border-color: rgba(56,105,63,.17) !important; }

#lt-kontakt-page .lt-kontakt-hero {
  position: relative;
  z-index: 1;
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 18%, rgba(70,151,157,.16), transparent 32%),
    radial-gradient(circle at 82% 8%, rgba(91,154,77,.12), transparent 30%),
    linear-gradient(135deg, #071d28 0%, #0a2632 54%, #0c2b34 100%);
  border-bottom: 1px solid rgba(26,124,8,.18);
}
#lt-kontakt-page .lt-kontakt-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(rgba(255,255,255,.02) 1px, transparent 1px);
  background-size: 44px 44px;
  -webkit-mask-image: linear-gradient(90deg, #000, transparent 68%);
  mask-image: linear-gradient(90deg, #000, transparent 68%);
}
#lt-kontakt-page .lt-kontakt-hero__grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0,1.04fr) minmax(380px,.82fr);
  gap: clamp(34px, 5vw, 74px);
  align-items: stretch;
  min-height: 690px;
  padding-top: calc(var(--lt-header-height) + 46px);
  padding-bottom: 54px;
}
#lt-kontakt-page .lt-kontakt-hero__copy { align-self: center; max-width: 660px; padding: 10px 0 18px; }
#lt-kontakt-page .lt-kontakt-hero .lt-eyebrow { color: #b9dda9; }
#lt-kontakt-page .lt-kontakt-hero .lt-eyebrow::before { background: #ffb84d; }
#lt-kontakt-page .lt-kontakt-hero h1 {
  max-width: 650px;
  margin: 0 0 18px;
  color: #fff;
  font-size: clamp(2.25rem, 4vw, 3.55rem);
  line-height: 1.04;
  letter-spacing: -.025em;
  text-wrap: balance;
}
#lt-kontakt-page .lt-kontakt-hero .lt-lead { max-width: 640px; margin-bottom: 25px; color: rgba(231,240,243,.86); font-size: clamp(1rem,1.35vw,1.14rem); line-height: 1.68; }
#lt-kontakt-page .lt-kontakt-hero__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 22px; }
#lt-kontakt-page .lt-kontakt-hero__actions .lt-btn { min-height: 46px; }
#lt-kontakt-page .lt-kontakt-btn--ghost { border: 1px solid rgba(255,255,255,.24); background: rgba(255,255,255,.07); color: #fff !important; box-shadow: inset 0 1px 0 rgba(255,255,255,.08); }
#lt-kontakt-page .lt-kontakt-btn--ghost:hover { border-color: rgba(255,255,255,.38); background: rgba(255,255,255,.13); color: #fff !important; transform: translateY(-1px); }
#lt-kontakt-page .lt-kontakt-hero__facts { display: flex; flex-wrap: wrap; gap: 8px; }
#lt-kontakt-page .lt-kontakt-hero__facts span { display: inline-flex; align-items: center; gap: 7px; min-height: 34px; padding: 7px 10px; border: 1px solid rgba(255,255,255,.10); border-radius: 999px; background: rgba(255,255,255,.055); color: rgba(236,244,245,.82); font-size: .77rem; font-weight: 700; }
#lt-kontakt-page .lt-kontakt-hero__facts i { color: #a8d79a; }

#lt-kontakt-page .lt-kontakt-hero__media {
  position: relative;
  align-self: stretch;
  min-height: 550px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 20px;
  background: #0b1d25;
  box-shadow: 0 30px 70px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.08);
}
#lt-kontakt-page .lt-kontakt-hero__media::after { content:""; position:absolute; inset:0; pointer-events:none; background: linear-gradient(180deg, rgba(4,17,24,.02) 48%, rgba(4,17,24,.80) 100%); }
#lt-kontakt-page .lt-kontakt-hero__media img { position:absolute; inset:0; width:100%; height:100%; max-width:none; object-fit:cover; object-position:50% 0%; border-radius:0; }
#lt-kontakt-page .lt-kontakt-hero__method { position:absolute; z-index:2; right:16px; bottom:16px; left:16px; padding:15px 16px; border:1px solid rgba(255,255,255,.14); border-radius:14px; background:rgba(5,22,29,.76); box-shadow:0 12px 30px rgba(0,0,0,.16); -webkit-backdrop-filter:blur(14px) saturate(120%); backdrop-filter:blur(14px) saturate(120%); }
#lt-kontakt-page .lt-kontakt-hero__method-kicker { display:block; margin-bottom:3px; color:#b9dda9; font-size:.68rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
#lt-kontakt-page .lt-kontakt-hero__method strong { display:block; margin-bottom:4px; color:#fff; font-size:.98rem; }
#lt-kontakt-page .lt-kontakt-hero__method p { margin:0; color:rgba(236,243,244,.78); font-size:.77rem; line-height:1.48; }

#lt-kontakt-page .lt-kontakt-main { background: linear-gradient(180deg,#f7faf8 0%,#fff 100%); }
#lt-kontakt-page .lt-contact-layout { gap: 32px; }
#lt-kontakt-page .lt-contact-side { top: calc(var(--lt-header-height) + 22px); }
#lt-kontakt-page .lt-contact-option { border-color: #dbe7da; box-shadow: 0 8px 22px rgba(32,61,38,.045); }
#lt-kontakt-page .lt-contact-option:hover { border-color: #bdd6b7; transform: translateY(-1px); box-shadow: 0 12px 28px rgba(31,68,38,.075); }
#lt-kontakt-page .lt-form-card { border-color:#d8e5d6; border-radius:18px; box-shadow:0 22px 52px rgba(26,57,36,.10); }
#lt-kontakt-page .lt-form-card > h3 { margin-bottom:6px; }
#lt-kontakt-page .lt-form-control:focus { border-color:#77aa6d; box-shadow:0 0 0 4px rgba(26,124,8,.09); }

@media (max-width: 1120px) {
  #lt-kontakt-page .lt-kontakt-hero__grid { grid-template-columns:minmax(0,1fr) minmax(330px,.72fr); gap:34px; min-height:640px; }
  #lt-kontakt-page .lt-kontakt-hero h1 { font-size:clamp(2.15rem,4.4vw,3.1rem); }
  #lt-kontakt-page .lt-kontakt-hero__media { min-height:500px; }
}

@media (max-width: 991px) {
  .lt-site-header .lt-brand { min-width: 0; width: clamp(154px,42vw,188px); height: 48px; }
  .lt-site-header .lt-brand img { width: 100%; height: 48px; }
  .lt-site-header:not(.is-scrolled) .lt-mobile-toggle { border-color:rgba(255,255,255,.22) !important; background:rgba(255,255,255,.10) !important; color:#fff !important; box-shadow:none !important; }
  body.lt-nav-open .lt-site-header .lt-mobile-toggle { border-color:var(--lt-green) !important; background:var(--lt-green) !important; color:#fff !important; }
  #lt-kontakt-page .lt-kontakt-hero__grid { grid-template-columns:minmax(0,1fr) minmax(300px,.8fr); gap:24px; min-height:590px; padding-top:calc(var(--lt-header-height) + 32px); padding-bottom:38px; }
  #lt-kontakt-page .lt-kontakt-hero__copy { padding:0; }
  #lt-kontakt-page .lt-kontakt-hero__media { min-height:440px; }
  #lt-kontakt-page .lt-kontakt-hero__method p { display:none; }
}

@media (max-width: 767px) {
  #lt-kontakt-page .lt-kontakt-hero__grid { grid-template-columns:1fr; gap:22px; min-height:0; padding-top:calc(var(--lt-header-height) + 22px); padding-bottom:34px; }
  #lt-kontakt-page .lt-kontakt-hero__media { order:1; min-height:300px; max-height:340px; border-radius:16px; }
  #lt-kontakt-page .lt-kontakt-hero__media img { object-position:50% 0%; }
  #lt-kontakt-page .lt-kontakt-hero__copy { order:2; max-width:none; }
  #lt-kontakt-page .lt-kontakt-hero h1 { max-width:none; margin-bottom:13px; font-size:clamp(2rem,9vw,2.55rem); line-height:1.06; }
  #lt-kontakt-page .lt-kontakt-hero .lt-lead { margin-bottom:18px; font-size:.98rem; line-height:1.62; }
  #lt-kontakt-page .lt-kontakt-hero__actions { margin-bottom:16px; }
  #lt-kontakt-page .lt-kontakt-hero__actions .lt-btn { flex:1 1 100%; justify-content:center; }
  #lt-kontakt-page .lt-kontakt-hero__facts { gap:6px; }
  #lt-kontakt-page .lt-kontakt-hero__facts span { font-size:.72rem; }
  #lt-kontakt-page .lt-kontakt-hero__method { right:10px; bottom:10px; left:10px; padding:11px 12px; }
  #lt-kontakt-page .lt-kontakt-hero__method strong { font-size:.84rem; }
  #lt-kontakt-page .lt-kontakt-main { padding-top:48px; }
}

@media (max-width: 390px) {
  #lt-kontakt-page .lt-kontakt-hero__media { min-height:278px; }
  #lt-kontakt-page .lt-kontakt-hero__facts span { width:100%; justify-content:flex-start; border-radius:10px; }
}

@media (prefers-reduced-motion: reduce) {
  .lt-site-header,
  #lt-kontakt-page .lt-contact-option,
  #lt-kontakt-page .lt-kontakt-btn--ghost { transition:none !important; }
}
