/*
 * Lukas Teissl – Strategic Premium UI
 * Compact, accessible B2B consulting design for DE / EN / ES.
 */
:root {
  --lt-ink: #0c1b2a;
  --lt-ink-soft: #21364a;
  --lt-muted: #5b6c7d;
  --lt-blue: #2563a9;
  --lt-blue-dark: #174a7c;
  --lt-blue-soft: #eaf4ff;
  --lt-cyan-soft: #edf9fa;
  --lt-green: #24745d;
  --lt-surface: #ffffff;
  --lt-surface-alt: #f6f9fc;
  --lt-surface-dark: #0d1d2d;
  --lt-line: #dce6ef;
  --lt-line-strong: #c9d7e4;
  --lt-shadow-sm: 0 8px 24px rgba(19, 48, 74, .07);
  --lt-shadow-md: 0 20px 52px rgba(19, 48, 74, .10);
  --lt-radius-sm: 12px;
  --lt-radius: 18px;
  --lt-radius-lg: 26px;
  --lt-container: 1180px;
  --lt-header-height: 74px;
}

html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--lt-ink);
  background: var(--lt-surface);
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body.lt-nav-open { overflow: hidden; }
body, button, input, select, textarea { font-family: inherit; }
a { color: var(--lt-blue); }
a:hover { color: var(--lt-blue-dark); }
img { max-width: 100%; height: auto; }

.lt-skip-link {
  position: fixed;
  z-index: 10050;
  top: 10px;
  left: 10px;
  transform: translateY(-150%);
  padding: 10px 16px;
  border-radius: 10px;
  background: var(--lt-ink);
  color: #fff;
  font-weight: 750;
}
.lt-skip-link:focus { transform: translateY(0); color: #fff; }

.lt-shell { width: min(var(--lt-container), calc(100% - 40px)); margin-inline: auto; }
.lt-narrow { width: min(850px, 100%); margin-inline: auto; }
.lt-wide { width: min(1320px, calc(100% - 40px)); margin-inline: auto; }
.lt-section { padding: 72px 0; position: relative; }
.lt-section--compact { padding: 52px 0; }
.lt-section--soft { background: var(--lt-surface-alt); }
.lt-section--blue { background: linear-gradient(145deg, #edf6ff 0%, #f8fbff 55%, #eef8f9 100%); }
.lt-section--dark { background: var(--lt-surface-dark); color: #fff; }
.lt-section--dark p, .lt-section--dark .lt-lead, .lt-section--dark .lt-muted { color: #c8d6e3; }
.lt-section--dark h2, .lt-section--dark h3 { color: #fff; }
.lt-section__head { max-width: 790px; margin-bottom: 32px; }
.lt-section__head--center { margin-inline: auto; text-align: center; }
.lt-section__head p:last-child { margin-bottom: 0; }

.lt-eyebrow {
  display: inline-flex;
  align-items: flex-start;
  gap: 8px;
  margin: 0 0 12px;
  color: var(--lt-blue-dark);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .105em;
  line-height: 1.3;
  text-transform: uppercase;
}
.lt-eyebrow::before { content: ""; flex: 0 0 24px; width: 24px; height: 2px; margin-top: .55em; border-radius: 9px; background: var(--lt-blue); }
.lt-section--dark .lt-eyebrow { color: #a7d4ff; }
.lt-section--dark .lt-eyebrow::before { background: #79baf5; }

.lt-strategic-page h1,
.lt-strategic-page h2,
.lt-strategic-page h3,
.lt-strategic-page h4 {
  margin-top: 0;
  color: var(--lt-ink);
  font-weight: 760;
  letter-spacing: -.025em;
}
.lt-strategic-page h1 { font-size: clamp(2.05rem, 3.55vw, 3.1rem); line-height: 1.1; margin-bottom: 18px; }
.lt-strategic-page h2 { font-size: clamp(1.7rem, 2.7vw, 2.35rem); line-height: 1.18; margin-bottom: 16px; }
.lt-strategic-page h3 { font-size: clamp(1.15rem, 2vw, 1.45rem); line-height: 1.28; margin-bottom: 10px; }
.lt-strategic-page h4 { font-size: 1rem; line-height: 1.35; margin-bottom: 7px; }
.lt-strategic-page p { margin: 0 0 16px; color: var(--lt-muted); }
.lt-strategic-page strong { color: var(--lt-ink-soft); }
.lt-lead { font-size: clamp(1.05rem, 1.5vw, 1.22rem); line-height: 1.72; color: var(--lt-ink-soft); }
.lt-small { font-size: .88rem; }
.lt-muted { color: var(--lt-muted); }
.lt-note { font-size: .89rem; line-height: 1.55; color: var(--lt-muted); }

/* Header */
.lt-site-header {
  position: sticky;
  z-index: 9990;
  top: 0;
  background: rgba(255,255,255,.96);
  border-bottom: 1px solid rgba(201,215,228,.88);
  box-shadow: 0 5px 18px rgba(18,46,70,.045);
  backdrop-filter: blur(14px);
}
.lt-header-inner { min-height: var(--lt-header-height); display: flex; align-items: center; gap: 22px; }
.lt-brand { display: inline-flex; flex: 0 0 auto; align-items: center; text-decoration: none; }
.lt-brand img { width: 218px; max-height: 53px; object-fit: contain; }
.lt-main-nav { margin-left: auto; }
.lt-nav-list { display: flex; align-items: center; gap: 4px; margin: 0; padding: 0; list-style: none; }
.lt-nav-item { position: relative; }
.lt-nav-link,
.lt-nav-trigger {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 9px 10px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: var(--lt-ink-soft);
  font-size: .885rem;
  font-weight: 720;
  line-height: 1.2;
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;
}
.lt-nav-link:hover, .lt-nav-trigger:hover,
.lt-nav-link[aria-current="page"], .lt-nav-item.is-active > .lt-nav-trigger {
  background: var(--lt-blue-soft);
  color: var(--lt-blue-dark);
}
.lt-nav-trigger svg { width: 12px; height: 12px; transition: transform .2s ease; }
.lt-nav-item.is-open > .lt-nav-trigger svg { transform: rotate(180deg); }
.lt-nav-dropdown {
  position: absolute;
  top: calc(100% + 9px);
  left: 50%;
  width: min(720px, calc(100vw - 32px));
  margin: 0;
  padding: 14px;
  border: 1px solid var(--lt-line);
  border-radius: 18px;
  background: #fff;
  box-shadow: var(--lt-shadow-md);
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, 8px);
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}
.lt-nav-item.is-open > .lt-nav-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
}
.lt-nav-dropdown--small { width: 410px; }
.lt-menu-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); gap: 12px; }
.lt-menu-primary,
.lt-menu-column { display: grid; align-content: start; gap: 6px; }
.lt-menu-primary { padding: 7px; border-radius: 14px; background: linear-gradient(145deg, #edf6ff, #f7fbff); }
.lt-menu-label { margin: 3px 8px 5px; color: #718395; font-size: .68rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.lt-menu-link {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  padding: 10px;
  border-radius: 11px;
  color: var(--lt-ink-soft);
  text-decoration: none;
}
.lt-menu-link:hover, .lt-menu-link[aria-current="page"] { background: #f1f6fa; color: var(--lt-blue-dark); }
.lt-menu-primary .lt-menu-link:hover, .lt-menu-primary .lt-menu-link[aria-current="page"] { background: #fff; box-shadow: var(--lt-shadow-sm); }
.lt-menu-icon { display: inline-grid; width: 36px; height: 36px; place-items: center; border-radius: 10px; background: #fff; color: var(--lt-blue); box-shadow: inset 0 0 0 1px var(--lt-line); }
.lt-menu-title { display: block; color: inherit; font-size: .9rem; font-weight: 790; line-height: 1.3; }
.lt-menu-note { display: block; margin-top: 2px; color: var(--lt-muted); font-size: .75rem; font-weight: 520; line-height: 1.42; }
.lt-menu-divider { height: 1px; margin: 5px 8px; background: var(--lt-line); }
.lt-header-actions { display: flex; flex: 0 0 auto; align-items: center; gap: 8px; }
.lt-language { position: relative; }
.lt-language__trigger {
  display: inline-flex;
  min-width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  gap: 5px;
  border: 1px solid var(--lt-line);
  border-radius: 10px;
  background: #fff;
  color: var(--lt-ink-soft);
  font-size: .78rem;
  font-weight: 800;
  cursor: pointer;
}
.lt-language__menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  min-width: 156px;
  padding: 7px;
  border: 1px solid var(--lt-line);
  border-radius: 12px;
  background: #fff;
  box-shadow: var(--lt-shadow-sm);
  opacity: 0;
  visibility: hidden;
  transform: translateY(6px);
  transition: all .18s ease;
}
.lt-language.is-open .lt-language__menu { opacity: 1; visibility: visible; transform: translateY(0); }
.lt-language__menu a { display: flex; align-items: center; justify-content: space-between; padding: 9px 10px; border-radius: 8px; color: var(--lt-ink-soft); font-size: .83rem; font-weight: 690; text-decoration: none; }
.lt-language__menu a:hover, .lt-language__menu a[aria-current="true"] { background: var(--lt-blue-soft); color: var(--lt-blue-dark); }
.lt-header-cta { padding: 11px 16px; border-radius: 10px; background: var(--lt-ink); color: #fff; font-size: .82rem; font-weight: 790; text-decoration: none; white-space: nowrap; }
.lt-header-cta:hover { background: var(--lt-blue-dark); color: #fff; }
.lt-mobile-toggle {
  display: none;
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--lt-line);
  border-radius: 10px;
  background: #fff;
  color: var(--lt-ink);
  cursor: pointer;
}
.lt-mobile-toggle span, .lt-mobile-toggle::before, .lt-mobile-toggle::after { content: ""; display: block; width: 20px; height: 2px; border-radius: 5px; background: currentColor; transition: .2s ease; }
.lt-mobile-toggle span { margin: 4px 0; }
.lt-mobile-toggle[aria-expanded="true"] span { opacity: 0; }
.lt-mobile-toggle[aria-expanded="true"]::before { transform: translateY(6px) rotate(45deg); }
.lt-mobile-toggle[aria-expanded="true"]::after { transform: translateY(-6px) rotate(-45deg); }

/* Buttons */
.lt-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.lt-btn {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 11px 18px;
  border: 1px solid transparent;
  border-radius: 11px;
  font-size: .92rem;
  font-weight: 780;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  transition: transform .17s ease, box-shadow .17s ease, background .17s ease, border-color .17s ease;
}
.lt-btn:hover { transform: translateY(-1px); }
.lt-btn--primary { background: var(--lt-blue); color: #fff; box-shadow: 0 10px 24px rgba(37,99,169,.18); }
.lt-btn--primary:hover { background: var(--lt-blue-dark); color: #fff; }
.lt-btn--dark { background: var(--lt-ink); color: #fff; }
.lt-btn--dark:hover { background: var(--lt-blue-dark); color: #fff; }
.lt-btn--secondary { border-color: var(--lt-line-strong); background: #fff; color: var(--lt-ink-soft); }
.lt-btn--secondary:hover { border-color: #9fb9d0; background: #f7fbff; color: var(--lt-blue-dark); }
.lt-btn--light { border-color: rgba(255,255,255,.26); background: #fff; color: var(--lt-ink); }
.lt-btn--light:hover { background: #eaf4ff; color: var(--lt-blue-dark); }
.lt-text-link { display: inline-flex; align-items: center; gap: 7px; color: var(--lt-blue-dark); font-weight: 780; text-decoration: none; }
.lt-text-link:hover { text-decoration: underline; text-underline-offset: 4px; }

/* Hero */
.lt-hero {
  position: relative;
  overflow: hidden;
  padding: 66px 0 54px;
  background:
    radial-gradient(circle at 86% 18%, rgba(90,173,218,.18), transparent 28%),
    radial-gradient(circle at 8% 88%, rgba(104,189,165,.12), transparent 25%),
    linear-gradient(145deg, #f8fbff 0%, #fff 55%, #f2f8fb 100%);
  border-bottom: 1px solid var(--lt-line);
}
.lt-hero::before { content: ""; position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(rgba(26,79,121,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(26,79,121,.035) 1px, transparent 1px); background-size: 42px 42px; mask-image: linear-gradient(to bottom, rgba(0,0,0,.6), transparent 78%); }
.lt-hero__grid { position: relative; display: grid; grid-template-columns: minmax(0, 1.16fr) minmax(330px, .84fr); gap: 52px; align-items: center; }
.lt-hero__copy { max-width: 735px; }
.lt-hero__copy .lt-lead { max-width: 690px; margin-bottom: 24px; }
.lt-hero__meta { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 20px; color: var(--lt-muted); font-size: .82rem; font-weight: 650; }
.lt-hero__meta span { display: inline-flex; align-items: center; gap: 7px; }
.lt-hero__meta i { color: var(--lt-green); }
.lt-hero__visual { position: relative; min-height: 390px; display: flex; align-items: flex-end; justify-content: center; }
.lt-hero__portrait { position: relative; z-index: 2; width: min(450px, 100%); max-height: 450px; object-fit: contain; object-position: bottom center; filter: drop-shadow(0 20px 30px rgba(17,44,66,.16)); }
.lt-hero__panel { position: absolute; z-index: 1; inset: 24px 0 0; border: 1px solid rgba(188,210,227,.9); border-radius: 28px; background: linear-gradient(145deg, rgba(255,255,255,.9), rgba(229,242,250,.92)); box-shadow: var(--lt-shadow-md); }
.lt-hero__proof {
  position: absolute;
  z-index: 3;
  right: -14px;
  bottom: 18px;
  width: min(275px, 72%);
  padding: 15px 16px;
  border: 1px solid rgba(201,215,228,.9);
  border-radius: 14px;
  background: rgba(255,255,255,.96);
  box-shadow: var(--lt-shadow-sm);
}
.lt-hero__proof strong { display: block; margin-bottom: 3px; font-size: .92rem; }
.lt-hero__proof span { display: block; color: var(--lt-muted); font-size: .78rem; line-height: 1.45; }
.lt-page-hero { padding: 54px 0 45px; background: linear-gradient(145deg, #f4f9ff, #fff 62%, #f0f8f8); border-bottom: 1px solid var(--lt-line); }
.lt-page-hero__grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr); gap: 40px; align-items: center; }
.lt-page-hero__aside { padding: 22px; border: 1px solid var(--lt-line); border-radius: var(--lt-radius); background: rgba(255,255,255,.85); box-shadow: var(--lt-shadow-sm); }
.lt-page-hero__aside h3 { font-size: 1rem; }

/* Layout components */
.lt-grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.lt-grid-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.lt-grid-4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.lt-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(330px, .8fr); gap: 44px; align-items: center; }
.lt-split--reverse { grid-template-columns: minmax(330px, .8fr) minmax(0, 1fr); }
.lt-split__media { overflow: hidden; border: 1px solid var(--lt-line); border-radius: var(--lt-radius-lg); background: #edf4f8; box-shadow: var(--lt-shadow-sm); }
.lt-split__media img { display: block; width: 100%; aspect-ratio: 1.45 / 1; object-fit: cover; }
.lt-card {
  height: 100%;
  padding: 22px;
  border: 1px solid var(--lt-line);
  border-radius: var(--lt-radius);
  background: #fff;
  box-shadow: var(--lt-shadow-sm);
}
.lt-card--flat { box-shadow: none; }
.lt-card--primary { border-color: #c9deef; background: linear-gradient(145deg, #eff7ff, #fff); }
.lt-card--dark { border-color: rgba(255,255,255,.14); background: rgba(255,255,255,.06); box-shadow: none; }
.lt-card--dark h3, .lt-card--dark strong { color: #fff; }
.lt-card--dark p { color: #c8d6e3; }
.lt-card__icon { display: inline-grid; width: 43px; height: 43px; place-items: center; margin-bottom: 14px; border-radius: 12px; background: var(--lt-blue-soft); color: var(--lt-blue); font-size: 1rem; }
.lt-card__tag { display: inline-flex; margin-bottom: 11px; padding: 5px 9px; border-radius: 999px; background: var(--lt-blue-soft); color: var(--lt-blue-dark); font-size: .7rem; font-weight: 820; letter-spacing: .06em; text-transform: uppercase; }
.lt-card__link { margin-top: 10px; }
.lt-feature-card { display: grid; grid-template-columns: 42px minmax(0,1fr); gap: 13px; align-items: start; padding: 18px; border: 1px solid var(--lt-line); border-radius: 15px; background: #fff; }
.lt-feature-card__icon { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 11px; background: var(--lt-blue-soft); color: var(--lt-blue); }
.lt-feature-card p { margin: 0; font-size: .91rem; line-height: 1.55; }
.lt-statement { padding: 27px 30px; border-left: 4px solid var(--lt-blue); border-radius: 0 var(--lt-radius) var(--lt-radius) 0; background: linear-gradient(100deg, #edf6ff, #fff); }
.lt-statement p { margin: 0; color: var(--lt-ink-soft); font-size: clamp(1.12rem, 2vw, 1.42rem); font-weight: 670; line-height: 1.55; }
.lt-list { margin: 0; padding: 0; list-style: none; }
.lt-list li { position: relative; margin: 0 0 10px; padding-left: 25px; color: var(--lt-muted); }
.lt-list li::before { content: "✓"; position: absolute; left: 0; top: 0; color: var(--lt-green); font-weight: 900; }
.lt-list--compact li { margin-bottom: 7px; font-size: .91rem; }
.lt-chip-list { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 0; padding: 0; list-style: none; }
.lt-chip-list li { padding: 7px 10px; border: 1px solid var(--lt-line); border-radius: 999px; background: #fff; color: var(--lt-ink-soft); font-size: .78rem; font-weight: 670; }
.lt-kpi-row { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px; }
.lt-kpi { padding: 16px; border: 1px solid var(--lt-line); border-radius: 14px; background: #fff; }
.lt-kpi strong { display: block; font-size: 1.25rem; line-height: 1.2; }
.lt-kpi span { display: block; margin-top: 4px; color: var(--lt-muted); font-size: .76rem; line-height: 1.4; }

/* Hierarchy on services */
.lt-primary-service { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr); gap: 26px; padding: 30px; border: 1px solid #bed8ec; border-radius: 24px; background: linear-gradient(145deg, #eaf5ff, #fff 64%); box-shadow: var(--lt-shadow-md); }
.lt-primary-service__proof { padding: 22px; border: 1px solid var(--lt-line); border-radius: 17px; background: rgba(255,255,255,.88); }
.lt-secondary-services { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; margin-top: 18px; }
.lt-expertise-strip { display: grid; grid-template-columns: auto 1fr auto; gap: 20px; align-items: center; margin-top: 18px; padding: 20px 22px; border: 1px solid var(--lt-line); border-radius: 16px; background: #fff; }
.lt-expertise-strip__links { display: flex; flex-wrap: wrap; gap: 8px; }

/* Problem / solution */
.lt-problem-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.lt-problem { padding: 18px; border: 1px solid var(--lt-line); border-radius: 15px; background: #fff; }
.lt-problem__head { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.lt-problem__number { display: inline-grid; width: 30px; height: 30px; place-items: center; border-radius: 9px; background: #eef5fb; color: var(--lt-blue-dark); font-size: .76rem; font-weight: 850; }
.lt-problem p { margin: 0; font-size: .9rem; line-height: 1.55; }
.lt-solution { margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--lt-line); color: var(--lt-ink-soft); font-size: .82rem; font-weight: 740; }

/* Process */
.lt-process { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 12px; counter-reset: lt-step; }
.lt-process--three { grid-template-columns: repeat(3, minmax(0,1fr)); }
.lt-process__step { position: relative; padding: 20px 16px; border: 1px solid var(--lt-line); border-radius: 15px; background: #fff; }
.lt-process__step::before { counter-increment: lt-step; content: "0" counter(lt-step); display: inline-block; margin-bottom: 14px; color: var(--lt-blue); font-size: .76rem; font-weight: 880; letter-spacing: .08em; }
.lt-process__step:not(:last-child)::after { content: ""; position: absolute; z-index: 2; top: 30px; right: -13px; width: 13px; height: 1px; background: var(--lt-line-strong); }
.lt-process__step p { margin: 0; font-size: .86rem; line-height: 1.5; }

/* Proof */
.lt-proof-showcase { display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: 30px; align-items: center; }
.lt-proof-image { overflow: hidden; border: 1px solid var(--lt-line); border-radius: 22px; background: #eef5f8; box-shadow: var(--lt-shadow-md); }
.lt-proof-image img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.lt-proof-links { display: grid; gap: 9px; }
.lt-proof-link { display: grid; grid-template-columns: 40px minmax(0,1fr) auto; gap: 12px; align-items: center; padding: 13px 14px; border: 1px solid var(--lt-line); border-radius: 12px; color: var(--lt-ink-soft); text-decoration: none; }
.lt-proof-link:hover { border-color: #afc9dc; background: #f7fbff; color: var(--lt-blue-dark); }
.lt-proof-link__icon { display: grid; width: 40px; height: 40px; place-items: center; border-radius: 10px; background: var(--lt-blue-soft); color: var(--lt-blue); }
.lt-proof-link strong { display: block; font-size: .9rem; }
.lt-proof-link span { display: block; margin-top: 1px; color: var(--lt-muted); font-size: .76rem; line-height: 1.4; }
.lt-proof-link__arrow { color: #7690a6; }
.lt-case-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; }
.lt-case { overflow: hidden; border: 1px solid var(--lt-line); border-radius: 18px; background: #fff; box-shadow: var(--lt-shadow-sm); }
.lt-case__image { aspect-ratio: 16 / 10; overflow: hidden; background: #edf4f8; }
.lt-case__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.lt-case:hover .lt-case__image img { transform: scale(1.025); }
.lt-case__body { padding: 19px; }
.lt-case__body p { font-size: .88rem; }
.lt-case__meta { margin: 0 0 9px; color: var(--lt-blue-dark); font-size: .69rem; font-weight: 840; letter-spacing: .075em; text-transform: uppercase; }

/* About */
.lt-profile-facts { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px; margin-top: 22px; }
.lt-profile-fact { padding: 15px; border: 1px solid var(--lt-line); border-radius: 13px; background: #fff; }
.lt-profile-fact strong { display: block; font-size: .94rem; }
.lt-profile-fact span { display: block; margin-top: 4px; color: var(--lt-muted); font-size: .78rem; line-height: 1.45; }
.lt-timeline { display: grid; gap: 12px; }
.lt-timeline__item { display: grid; grid-template-columns: 105px minmax(0,1fr); gap: 18px; padding: 18px 20px; border: 1px solid var(--lt-line); border-radius: 14px; background: #fff; }
.lt-timeline__year { color: var(--lt-blue-dark); font-size: .78rem; font-weight: 850; letter-spacing: .05em; }
.lt-timeline__item p { margin: 0; font-size: .9rem; }

/* FAQ */
.lt-faq { display: grid; gap: 10px; }
.lt-faq details { border: 1px solid var(--lt-line); border-radius: 14px; background: #fff; }
.lt-faq summary { position: relative; padding: 17px 50px 17px 18px; color: var(--lt-ink-soft); font-weight: 760; cursor: pointer; list-style: none; }
.lt-faq summary::-webkit-details-marker { display: none; }
.lt-faq summary::after { content: "+"; position: absolute; top: 50%; right: 18px; transform: translateY(-50%); color: var(--lt-blue); font-size: 1.25rem; font-weight: 500; }
.lt-faq details[open] summary::after { content: "−"; }
.lt-faq__answer { padding: 0 18px 17px; }
.lt-faq__answer p { margin: 0; font-size: .92rem; }

/* Forms */

.lt-contact-method { margin-top: 0; padding: 20px 22px; }
.lt-contact-method strong { display: block; margin-bottom: 7px; color: var(--lt-ink-soft); font-size: .94rem; line-height: 1.45; }
.lt-contact-method span { display: block; color: var(--lt-muted); font-size: .86rem; line-height: 1.62; }
.lt-contact-layout { display: grid; grid-template-columns: minmax(0,.72fr) minmax(0,1.28fr); gap: 28px; align-items: start; }
.lt-contact-side { position: sticky; top: calc(var(--lt-header-height) + 24px); }
.lt-contact-options { display: grid; gap: 10px; margin-top: 20px; }
.lt-contact-option { display: grid; grid-template-columns: 40px minmax(0,1fr); gap: 12px; align-items: center; padding: 13px; border: 1px solid var(--lt-line); border-radius: 12px; background: #fff; color: var(--lt-ink-soft); text-decoration: none; }
.lt-contact-option:hover { background: #f7fbff; }
.lt-contact-option i { display: grid; width: 40px; height: 40px; place-items: center; border-radius: 10px; background: var(--lt-blue-soft); color: var(--lt-blue); }
.lt-contact-option strong, .lt-contact-option h3 { display: block; margin: 0 0 2px; font-size: .88rem; line-height: 1.35; }
.lt-contact-option span, .lt-contact-option p { display: block; margin: 0; color: var(--lt-muted); font-size: .75rem; line-height: 1.5; }
.lt-form-card { padding: 26px; border: 1px solid var(--lt-line); border-radius: 20px; background: #fff; box-shadow: var(--lt-shadow-sm); }
.lt-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; }
.lt-form-field { min-width: 0; }
.lt-form-field--full { grid-column: 1 / -1; }
.lt-form-label { display: block; margin-bottom: 6px; color: var(--lt-ink-soft); font-size: .79rem; font-weight: 740; }
.lt-form-label .optional { color: var(--lt-muted); font-weight: 530; }
.lt-form-control {
  width: 100%;
  min-height: 48px;
  padding: 11px 13px;
  border: 1px solid var(--lt-line-strong);
  border-radius: 10px;
  background: #fff;
  color: var(--lt-ink);
  font-size: .93rem;
  line-height: 1.4;
  outline: none;
  transition: border-color .16s ease, box-shadow .16s ease;
}
textarea.lt-form-control { min-height: 132px; resize: vertical; }
.lt-form-control:focus { border-color: #6fa3cd; box-shadow: 0 0 0 4px rgba(37,99,169,.10); }
.lt-form-control[aria-invalid="true"] { border-color: #c85151; box-shadow: 0 0 0 3px rgba(200,81,81,.09); }
.lt-captcha { padding-left: 140px; background-position: 9px center; background-repeat: no-repeat; background-size: 118px 35px; }
.lt-form-error { display: block; margin-top: 5px; color: #a83737; font-size: .76rem; }
.lt-form-alert { margin-bottom: 17px; padding: 13px 15px; border: 1px solid #e9bcbc; border-radius: 10px; background: #fff4f4; color: #8b2d2d; font-size: .86rem; }
.lt-form-honeypot { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.lt-privacy-copy { margin: 12px 0 0; color: var(--lt-muted); font-size: .74rem; line-height: 1.5; }

/* Closing CTA */
.lt-closing { position: relative; overflow: hidden; padding: 48px; border-radius: 26px; background: linear-gradient(135deg, #0d1d2d, #173d5e 62%, #1c5f6a); color: #fff; box-shadow: var(--lt-shadow-md); }
.lt-closing::after { content: ""; position: absolute; right: -80px; top: -100px; width: 280px; height: 280px; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; box-shadow: 0 0 0 55px rgba(255,255,255,.035), 0 0 0 110px rgba(255,255,255,.025); }
.lt-closing__inner { position: relative; z-index: 1; max-width: 840px; }
.lt-closing h2 { color: #fff; }
.lt-closing p { max-width: 760px; color: #d1deea; }

/* Footer */
.lt-site-footer { padding: 50px 0 0; background: #0b1724; color: #d2dee8; }
.lt-footer-grid { display: grid; grid-template-columns: 1.4fr .8fr .8fr 1.15fr; gap: 34px; }
.lt-footer-brand img { width: 220px; filter: brightness(0) invert(1); opacity: .96; }
.lt-footer-brand p { max-width: 390px; margin: 16px 0 0; color: #aebdca; font-size: .86rem; line-height: 1.65; }
.lt-site-footer h2, .lt-site-footer h3 { margin: 0 0 13px; color: #fff; font-size: .84rem; font-weight: 810; letter-spacing: .07em; text-transform: uppercase; }
.lt-footer-links { margin: 0; padding: 0; list-style: none; }
.lt-footer-links li { margin-bottom: 8px; }
.lt-footer-links a { color: #b9c8d4; font-size: .82rem; line-height: 1.45; text-decoration: none; }
.lt-footer-links a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.lt-newsletter-form { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; }
.lt-newsletter-form input { min-width: 0; height: 43px; padding: 9px 11px; border: 1px solid rgba(255,255,255,.2); border-radius: 9px; background: rgba(255,255,255,.07); color: #fff; outline: none; }
.lt-newsletter-form input::placeholder { color: #98a9b8; }
.lt-newsletter-form button { border: 0; border-radius: 9px; padding: 0 14px; background: #dceeff; color: #0b1724; font-size: .78rem; font-weight: 790; cursor: pointer; }
.lt-newsletter-note { display: block; margin-top: 8px; color: #8fa3b4; font-size: .7rem; line-height: 1.45; }
.lt-social-links { display: flex; gap: 8px; margin-top: 18px; }
.lt-social-links a { display: grid; width: 35px; height: 35px; place-items: center; border: 1px solid rgba(255,255,255,.16); border-radius: 9px; color: #d2dee8; text-decoration: none; }
.lt-social-links a:hover { background: rgba(255,255,255,.09); color: #fff; }
.lt-footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 38px; padding: 18px 0; border-top: 1px solid rgba(255,255,255,.10); }
.lt-footer-bottom p { margin: 0; color: #8fa3b4; font-size: .73rem; }
.lt-footer-legal { display: flex; flex-wrap: wrap; gap: 14px; }
.lt-footer-legal a { color: #9fb1c0; font-size: .73rem; text-decoration: none; }
.lt-footer-legal a:hover { color: #fff; }
.lt-go-top { position: fixed; z-index: 9980; right: 18px; bottom: 18px; display: none; width: 42px; height: 42px; place-items: center; border: 1px solid var(--lt-line); border-radius: 12px; background: #fff; color: var(--lt-ink); box-shadow: var(--lt-shadow-sm); cursor: pointer; }
.lt-go-top.is-visible { display: grid; }

/* Existing pages: compact premium guardrails */
body:not(.ltx-custom-development-body) .section-padding { padding-top: 70px; padding-bottom: 70px; }
body:not(.ltx-custom-development-body) .section-padding-small { padding-top: 48px; padding-bottom: 48px; }
body:not(.ltx-custom-development-body) .section-title h2 { font-size: clamp(1.65rem, 3vw, 2.35rem) !important; line-height: 1.2 !important; }
body:not(.ltx-custom-development-body) .page-title-area { min-height: 130px !important; height: auto !important; padding: 32px 0 !important; }
body:not(.ltx-custom-development-body) .page-title-content h2 { font-size: clamp(1.6rem,3vw,2.3rem) !important; }
.default-btn, .default-btn-one, .default-btn-two { border-radius: 11px !important; }

@media (max-width: 1180px) {
  .lt-nav-link, .lt-nav-trigger { padding-inline: 8px; font-size: .82rem; }
  .lt-brand img { width: 196px; }
  .lt-header-cta { display: none; }
}

@media (max-width: 991px) {
  :root { --lt-header-height: 68px; }
  .lt-shell, .lt-wide { width: min(100% - 28px, var(--lt-container)); }
  .lt-section { padding: 58px 0; }
  .lt-section--compact { padding: 42px 0; }
  .lt-header-inner { min-height: var(--lt-header-height); }
  .lt-brand img { width: 190px; }
  .lt-mobile-toggle { display: block; margin-left: auto; }
  .lt-header-actions { margin-left: 0; }
  .lt-language { order: 1; }
  .lt-mobile-toggle { order: 2; }
  .lt-main-nav {
    position: absolute;
    z-index: 9992;
    top: 100%;
    right: 0;
    left: 0;
    display: none;
    height: calc(100vh - var(--lt-header-height));
    height: calc(100dvh - var(--lt-header-height));
    margin: 0;
    padding: 12px 14px 28px;
    overflow-y: auto;
    overscroll-behavior: contain;
    border-top: 1px solid var(--lt-line);
    background: #fff;
    box-shadow: 0 20px 35px rgba(13,29,45,.12);
  }
  .lt-main-nav.is-open { display: block; }
  .lt-nav-list { display: grid; align-items: stretch; gap: 4px; }
  .lt-nav-link, .lt-nav-trigger { width: 100%; min-height: 46px; justify-content: space-between; padding: 11px 12px; font-size: .93rem; text-align: left; }
  .lt-nav-dropdown, .lt-nav-dropdown--small {
    position: static;
    width: 100%;
    margin: 0 0 7px;
    padding: 8px;
    border-radius: 13px;
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    transform: none;
    display: none;
  }
  .lt-nav-item.is-open > .lt-nav-dropdown { display: block; }
  .lt-nav-item:hover > .lt-nav-dropdown, .lt-nav-item:focus-within > .lt-nav-dropdown { display: none; }
  .lt-nav-item.is-open:hover > .lt-nav-dropdown, .lt-nav-item.is-open:focus-within > .lt-nav-dropdown { display: block; }
  .lt-menu-grid { grid-template-columns: 1fr; }
  .lt-menu-link { grid-template-columns: 34px minmax(0,1fr); padding: 9px; }
  .lt-menu-icon { width: 34px; height: 34px; }
  .lt-language__menu { position: absolute; top: calc(100% + 8px); right: 0; }
  .lt-hero { padding: 50px 0 42px; }
  .lt-hero__grid, .lt-page-hero__grid, .lt-split, .lt-split--reverse, .lt-proof-showcase, .lt-contact-layout { grid-template-columns: 1fr; gap: 30px; }
  .lt-hero__visual { min-height: 350px; max-width: 520px; margin-inline: auto; }
  .lt-page-hero__aside { max-width: 640px; }
  .lt-primary-service { grid-template-columns: 1fr; }
  .lt-process { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .lt-process__step::after { display: none; }
  .lt-grid-4 { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .lt-case-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .lt-contact-side { position: static; }
  .lt-footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 680px) {
  .lt-shell, .lt-wide { width: min(100% - 22px, var(--lt-container)); }
  .lt-brand img { width: 176px; }
  .lt-language__trigger { min-width: 40px; width: 40px; }
  .lt-strategic-page h1 { font-size: clamp(1.92rem, 8vw, 2.45rem); }
  .lt-strategic-page h2 { font-size: clamp(1.55rem, 6.5vw, 2rem); }
  .lt-hero { padding-top: 40px; }
  .lt-hero__grid { gap: 26px; }
  .lt-hero__visual { min-height: 310px; }
  .lt-hero__portrait { max-height: 350px; }
  .lt-hero__proof { right: 4px; bottom: 5px; width: 72%; }
  .lt-actions { align-items: stretch; }
  .lt-actions .lt-btn { width: 100%; }
  .lt-grid-2, .lt-grid-3, .lt-grid-4, .lt-secondary-services, .lt-problem-grid, .lt-case-grid, .lt-profile-facts, .lt-kpi-row { grid-template-columns: 1fr; }
  .lt-process, .lt-process--three { grid-template-columns: 1fr; }
  .lt-primary-service { padding: 22px; }
  .lt-expertise-strip { grid-template-columns: 1fr; gap: 12px; }
  .lt-expertise-strip .lt-actions { width: 100%; }
  .lt-expertise-strip .lt-btn { width: 100%; }
  .lt-timeline__item { grid-template-columns: 1fr; gap: 6px; }
  .lt-form-card { padding: 19px; }
  .lt-form-grid { grid-template-columns: 1fr; }
  .lt-form-field--full { grid-column: auto; }
  .lt-captcha { padding-left: 132px; }
  .lt-closing { padding: 31px 22px; border-radius: 20px; }
  .lt-footer-grid { grid-template-columns: 1fr; gap: 28px; }
  .lt-footer-bottom { align-items: flex-start; flex-direction: column; }
  .lt-newsletter-form { grid-template-columns: 1fr; }
  .lt-newsletter-form button { min-height: 41px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* ========================================================================
   Strategic Heritage Edition · 12 August 2026
   Restores the established Lukas-Teissl visual identity while retaining the
   new strategy, information architecture and audited content.
   ======================================================================== */
:root {
  --lt-ink: #263526;
  --lt-ink-soft: #344438;
  --lt-muted: #626d63;
  --lt-blue: #1a7c08;
  --lt-blue-dark: #125c06;
  --lt-blue-soft: #edf6e9;
  --lt-cyan-soft: #f4f8f2;
  --lt-green: #1a7c08;
  --lt-surface: #ffffff;
  --lt-surface-alt: #f5f8f3;
  --lt-surface-dark: #042c4c;
  --lt-line: #dde7da;
  --lt-line-strong: #cbd9c7;
  --lt-shadow-sm: 0 8px 24px rgba(38, 64, 43, .09);
  --lt-shadow-md: 0 20px 52px rgba(26, 57, 36, .14);
  --lt-radius-sm: 5px;
  --lt-radius: 7px;
  --lt-radius-lg: 10px;
  --lt-container: 1140px;
  --lt-header-height: 88px;
  --lt-orange: #ff9800;
  --lt-indigo: #3e57d0;
  --lt-deep-blue: #042c4c;
}

html { scroll-padding-top: calc(var(--lt-header-height) + 14px); }
body.lt-heritage-design {
  color: #404040;
  background: #fff;
  font-family: "Catamaran", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 15px;
}
body.lt-heritage-design button,
body.lt-heritage-design input,
body.lt-heritage-design select,
body.lt-heritage-design textarea { font-family: inherit; }
body.lt-heritage-design a { color: var(--lt-green); }
body.lt-heritage-design a:hover { color: var(--lt-blue-dark); }
body.lt-heritage-design img { border-radius: 5px; }

.lt-shell { width: min(var(--lt-container), calc(100% - 36px)); }
.lt-wide { width: min(1280px, calc(100% - 36px)); }
.lt-section { padding: 68px 0; }
.lt-section--compact { padding: 48px 0; }
.lt-section--soft { background: #f5f8f3; }
.lt-section--blue { background: linear-gradient(145deg, #eef5eb 0%, #fbfcfa 60%, #f1f6ef 100%); }
.lt-section--dark { background: var(--lt-deep-blue); }
.lt-section--dark p,
.lt-section--dark .lt-lead,
.lt-section--dark .lt-muted { color: #d0dbe2; }

.lt-strategic-page h1,
.lt-strategic-page h2,
.lt-strategic-page h3,
.lt-strategic-page h4,
.lt-site-header,
.lt-site-footer h2,
.lt-site-footer h3 {
  font-family: "Dosis", "Catamaran", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.lt-strategic-page h1,
.lt-strategic-page h2,
.lt-strategic-page h3,
.lt-strategic-page h4 {
  color: #263526;
  font-weight: 700;
  letter-spacing: -.012em;
}
.lt-strategic-page h1 { font-size: clamp(2.1rem, 3.6vw, 3.18rem); line-height: 1.1; }
.lt-strategic-page h2 { font-size: clamp(1.72rem, 2.75vw, 2.35rem); line-height: 1.18; }
.lt-strategic-page h3 { font-size: clamp(1.18rem, 2vw, 1.46rem); }
.lt-strategic-page p { color: #626d63; }
.lt-strategic-page strong { color: #344438; }
.lt-lead { color: #455247; }
.lt-section__head { margin-bottom: 30px; }

.lt-eyebrow {
  gap: 9px;
  margin-bottom: 11px;
  color: var(--lt-orange);
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .095em;
}
.lt-eyebrow::before { width: 25px; flex-basis: 25px; background: var(--lt-green); }
.lt-section--dark .lt-eyebrow { color: #ffd08a; }
.lt-section--dark .lt-eyebrow::before { background: #75bd65; }

/* Header: white, calm and recognisably based on the previous website. */
.lt-site-header {
  background: #fff;
  border-bottom: 1px solid rgba(29, 81, 24, .09);
  box-shadow: 0 4px 18px rgba(40, 66, 43, .08);
  backdrop-filter: none;
}
.lt-header-inner { min-height: var(--lt-header-height); gap: 21px; }
.lt-brand img { width: 236px; max-height: 62px; border-radius: 0; }
.lt-main-nav { margin-left: auto; }
.lt-nav-list { gap: 1px; }
.lt-nav-link,
.lt-nav-trigger {
  position: relative;
  min-height: 48px;
  padding: 12px 9px;
  border-radius: 0;
  color: #404040;
  font-size: .91rem;
  font-weight: 700;
  letter-spacing: .005em;
}
.lt-nav-link::after,
.lt-nav-trigger::after {
  content: "";
  position: absolute;
  left: 9px;
  right: 9px;
  bottom: 6px;
  height: 2px;
  border-radius: 3px;
  background: var(--lt-green);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .18s ease;
}
.lt-nav-link:hover,
.lt-nav-trigger:hover,
.lt-nav-link[aria-current="page"],
.lt-nav-item.is-active > .lt-nav-trigger {
  background: transparent;
  color: var(--lt-green);
}
.lt-nav-link:hover::after,
.lt-nav-trigger:hover::after,
.lt-nav-link[aria-current="page"]::after,
.lt-nav-item.is-active > .lt-nav-trigger::after { transform: scaleX(1); }
.lt-nav-trigger svg { width: 10px; height: 10px; }

.lt-nav-dropdown {
  top: calc(100% + 1px);
  padding: 14px;
  border: 1px solid #dce5da;
  border-top: 3px solid var(--lt-green);
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 13px 34px rgba(30, 62, 35, .14);
  transform: translate(-50%, 7px);
}
.lt-nav-dropdown--small { width: 390px; }
.lt-menu-grid { gap: 13px; }
.lt-menu-primary {
  padding: 7px;
  border: 1px solid #e2eadf;
  border-radius: 5px;
  background: #f3f8f0;
}
.lt-menu-label { color: #758175; }
.lt-menu-link {
  padding: 10px;
  border-radius: 5px;
  color: #404b42;
}
.lt-menu-link:hover,
.lt-menu-link[aria-current="page"] { background: #f3f8f0; color: var(--lt-green); }
.lt-menu-primary .lt-menu-link:hover,
.lt-menu-primary .lt-menu-link[aria-current="page"] { background: #fff; box-shadow: 0 5px 16px rgba(38, 64, 43, .09); }
.lt-menu-icon {
  border-radius: 5px;
  background: #fff;
  color: var(--lt-green);
  box-shadow: inset 0 0 0 1px #d8e5d4;
}
.lt-menu-title { font-size: .9rem; font-weight: 750; }
.lt-menu-note { color: #6b756d; }

.lt-header-actions { gap: 9px; }
.lt-language__trigger {
  min-width: 70px;
  height: 43px;
  padding: 0 9px;
  gap: 7px;
  border-color: #dbe5d8;
  border-radius: 5px;
  color: #404b42;
  font-size: .76rem;
}
.lt-language__trigger img,
.lt-language__menu img { width: 20px; height: 15px; object-fit: cover; border-radius: 1px; }
.lt-language__trigger i { margin-left: 1px; font-size: .57rem; color: #6e796f; }
.lt-language__menu {
  min-width: 170px;
  padding: 6px;
  border-color: #dbe5d8;
  border-top: 3px solid var(--lt-green);
  border-radius: 5px;
  box-shadow: 0 12px 28px rgba(30, 62, 35, .13);
}
.lt-language__menu a { border-radius: 4px; color: #414c43; }
.lt-language__menu a > span { display: inline-flex; align-items: center; gap: 9px; }
.lt-language__menu a strong { color: #7a847b; font-size: .69rem; letter-spacing: .05em; }
.lt-language__menu a:hover,
.lt-language__menu a[aria-current="true"] { background: #edf6e9; color: var(--lt-green); }

.lt-header-cta {
  display: inline-flex;
  min-height: 43px;
  align-items: center;
  gap: 8px;
  padding: 10px 15px;
  border-radius: 5px;
  background: var(--lt-green);
  color: #fff;
  font-size: .82rem;
  font-weight: 750;
  box-shadow: 0 7px 18px rgba(26, 124, 8, .19);
}
.lt-header-cta i { font-size: .9rem; }
.lt-header-cta:hover { background: #145f08; color: #fff; transform: translateY(-1px); }
.lt-mobile-toggle {
  border-color: #d8e3d5;
  border-radius: 5px;
  color: var(--lt-green);
}

/* Buttons: original green/blue identity, refined spacing and accessibility. */
.lt-btn {
  min-height: 47px;
  padding: 11px 24px;
  border-radius: 5px;
  font-size: .93rem;
  font-weight: 750;
  box-shadow: none;
}
.lt-btn:hover { transform: translateY(-2px); }
.lt-btn--primary {
  background: var(--lt-green);
  border-color: var(--lt-green);
  color: #fff;
  box-shadow: 0 8px 20px rgba(26, 124, 8, .18);
}
.lt-btn--primary:hover { background: #145f08; border-color: #145f08; color: #fff; box-shadow: 0 11px 25px rgba(26, 124, 8, .24); }
.lt-btn--secondary {
  background: var(--lt-indigo);
  border-color: var(--lt-indigo);
  color: #fff;
  box-shadow: 0 8px 20px rgba(62, 87, 208, .17);
}
.lt-btn--secondary:hover { background: #3047b3; border-color: #3047b3; color: #fff; }
.lt-btn--light { background: #fff; border-color: #d7e2d4; color: var(--lt-green); }
.lt-btn--light:hover { background: #f4f8f2; border-color: #bfd0ba; color: #145f08; }
.lt-btn--ghost { border-color: #cfdccc; color: #344438; }
.lt-btn--ghost:hover { border-color: var(--lt-green); background: #f4f8f2; color: var(--lt-green); }

/* Homepage hero: restored Alpine background and portrait composition. */
.lt-hero {
  position: relative;
  min-height: 620px;
  padding: 0;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(255,255,255,.97) 0%, rgba(255,255,255,.91) 43%, rgba(255,255,255,.58) 67%, rgba(255,255,255,.12) 100%),
    url('/assets/img/schweiz-1600.webp') center center / cover no-repeat;
}
.lt-hero::before {
  display: block;
  inset: auto 0 0;
  height: 84px;
  background: linear-gradient(to top, rgba(255,255,255,.82), transparent);
  opacity: 1;
}
.lt-hero__grid {
  min-height: 620px;
  grid-template-columns: minmax(0, 1.07fr) minmax(370px, .93fr);
  gap: 32px;
  align-items: stretch;
}
.lt-hero__copy {
  position: relative;
  z-index: 3;
  align-self: center;
  max-width: 705px;
  padding: 66px 0 72px;
}
.lt-hero h1 {
  max-width: 700px;
  margin-bottom: 18px;
  color: #0d2702;
  font-size: clamp(2.55rem, 4.5vw, 3.68rem);
  line-height: 1.07;
  text-shadow: 0 1px 0 rgba(255,255,255,.65);
}
.lt-hero__copy .lt-lead { max-width: 650px; color: #455247; font-size: clamp(1.03rem, 1.45vw, 1.16rem); line-height: 1.7; }
.lt-hero__copy .lt-actions { margin-top: 25px; }
.lt-hero__meta { gap: 8px; margin-top: 24px; }
.lt-hero__meta span {
  padding: 7px 10px;
  border: 1px solid rgba(79, 119, 70, .18);
  border-radius: 5px;
  background: rgba(255,255,255,.74);
  color: #4f5d51;
  box-shadow: 0 4px 12px rgba(36, 66, 42, .05);
  backdrop-filter: blur(4px);
}
.lt-hero__meta i { color: var(--lt-green); }
.lt-hero__visual {
  position: relative;
  z-index: 2;
  min-height: 600px;
  align-self: end;
  overflow: visible;
}
.lt-hero__panel { display: none; }
.lt-hero__portrait {
  position: absolute;
  right: -8px;
  bottom: 0;
  width: auto;
  max-width: 100%;
  max-height: 555px;
  object-fit: contain;
  object-position: bottom center;
  border-radius: 0;
  filter: drop-shadow(0 17px 24px rgba(24, 45, 26, .18));
}
.lt-hero__proof {
  right: 4px;
  bottom: 38px;
  width: min(292px, 72%);
  padding: 15px 17px;
  border: 1px solid rgba(177, 198, 172, .85);
  border-left: 4px solid var(--lt-green);
  border-radius: 6px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 13px 32px rgba(30, 62, 35, .17);
  backdrop-filter: blur(8px);
}
.lt-hero__proof strong { color: #2f4131; }
.lt-hero__proof span { color: #68736a; }

/* Compact inner-page hero in the same mountain visual system. */
.lt-page-hero {
  padding: 54px 0;
  background:
    linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.93) 53%, rgba(255,255,255,.60) 100%),
    url('/assets/img/schweiz-1600.webp') center 47% / cover no-repeat;
  border-bottom: 1px solid #e0e9dd;
}
.lt-page-hero::before { display: none; }
.lt-page-hero__grid { gap: 38px; }
.lt-page-hero__aside {
  border: 1px solid #d9e5d6;
  border-top: 4px solid var(--lt-green);
  border-radius: 7px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 12px 30px rgba(33, 64, 38, .11);
}
.lt-page-hero__aside i { color: var(--lt-green); }

/* Facts, cards and hierarchies: previous square card language, more polished. */
.lt-kpi-row { gap: 12px; }
.lt-kpi {
  border-color: #dce7d9;
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 7px 20px rgba(35, 65, 40, .07);
}
.lt-kpi strong { color: var(--lt-green); }
.lt-statement {
  border-left: 4px solid var(--lt-green);
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 8px 25px rgba(35, 65, 40, .08);
}
.lt-card,
.lt-problem,
.lt-process__step,
.lt-proof-card,
.lt-case,
.lt-profile-fact,
.lt-timeline__item,
.lt-faq details,
.lt-form-card,
.lt-contact-option,
.lt-contact-method {
  border-color: #dce7d9;
  border-radius: 7px;
  box-shadow: 0 8px 24px rgba(38, 64, 43, .08);
}
.lt-card,
.lt-problem,
.lt-process__step,
.lt-proof-card,
.lt-case,
.lt-contact-option { transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.lt-card:hover,
.lt-problem:hover,
.lt-process__step:hover,
.lt-proof-card:hover,
.lt-case:hover,
.lt-contact-option:hover {
  transform: translateY(-3px);
  border-color: #bfd5b9;
  box-shadow: 0 15px 34px rgba(38, 64, 43, .12);
}
.lt-card__icon,
.lt-problem__icon,
.lt-contact-option i {
  border-radius: 5px;
  background: #edf6e9;
  color: var(--lt-green);
}
.lt-tag { border-radius: 4px; background: #edf6e9; color: #36652c; }

.lt-primary-service {
  padding: 28px;
  border: 1px solid #cfdec9;
  border-top: 5px solid var(--lt-green);
  border-radius: 8px;
  background: linear-gradient(145deg, #f4f9f1 0%, #fff 62%);
  box-shadow: 0 14px 38px rgba(35, 68, 40, .11);
}
.lt-primary-service::before { display: none; }
.lt-primary-service__icon {
  border-radius: 6px;
  background: var(--lt-green);
  color: #fff;
  box-shadow: 0 8px 19px rgba(26, 124, 8, .20);
}
.lt-secondary-services { gap: 16px; }
.lt-secondary-service { border-radius: 7px; box-shadow: 0 8px 24px rgba(38, 64, 43, .08); }
.lt-secondary-service__top i { color: var(--lt-green); }
.lt-expertise-strip {
  border-color: #d9e5d5;
  border-radius: 7px;
  background: #f5f8f3;
  box-shadow: none;
}

.lt-problem__solution { border-top-color: #e0e9dd; color: var(--lt-green); }
.lt-process__step { padding-top: 44px; }
.lt-process__number {
  top: 14px;
  left: 17px;
  color: var(--lt-green);
  font-family: "Dosis", sans-serif;
  font-size: .78rem;
  font-weight: 800;
}
.lt-process__step::before {
  content: "";
  position: absolute;
  top: 20px;
  left: 42px;
  width: 24px;
  height: 2px;
  background: #bdd5b7;
}
.lt-process__step::after { background: #b7d2b1; }
.lt-proof-card__icon { border-radius: 5px; background: #edf6e9; color: var(--lt-green); }
.lt-proof-link { border-radius: 5px; }
.lt-proof-link:hover { background: #f3f8f0; color: var(--lt-green); }
.lt-case__image { background: #eef4ec; }
.lt-case__meta,
.lt-timeline__year { color: var(--lt-green); }
.lt-profile-fact { background: #fff; }

.lt-faq summary { color: #344438; }
.lt-faq summary::after { color: var(--lt-green); }
.lt-faq details[open] { border-color: #bdd5b7; box-shadow: 0 10px 28px rgba(35, 65, 40, .10); }

/* Forms keep the existing functionality but return to the established styling. */
.lt-form-card { padding: 25px; }
.lt-form-label { color: #344438; }
.lt-form-control {
  border-color: #ccd9c8;
  border-radius: 5px;
  color: #344438;
}
.lt-form-control:focus {
  border-color: var(--lt-green);
  box-shadow: 0 0 0 4px rgba(26, 124, 8, .09);
}
.lt-contact-option:hover { background: #f4f8f2; }
.lt-form-alert { border-radius: 5px; }

/* Closing section and footer use the previous dark-blue identity and dot motif. */
.lt-closing {
  padding: 46px;
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(4,44,76,.98), rgba(6,61,98,.96)),
    url('/assets/img/dot-bg.png') center / cover;
  box-shadow: 0 18px 42px rgba(4, 44, 76, .19);
}
.lt-closing::after {
  right: -92px;
  top: -112px;
  border-color: rgba(255,255,255,.12);
}
.lt-closing p { color: #d6e1e8; }

.lt-site-footer {
  position: relative;
  overflow: hidden;
  padding: 54px 0 0;
  background: #042c4c;
  color: #d8e4eb;
}
.lt-site-footer::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: url('/assets/img/dot-bg.png') center top / cover no-repeat;
  opacity: .13;
}
.lt-site-footer > .lt-shell { position: relative; z-index: 1; }
.lt-footer-grid { grid-template-columns: 1.35fr .82fr .82fr 1.15fr; gap: 34px; }
.lt-footer-brand img { width: 236px; filter: none; opacity: 1; border-radius: 0; }
.lt-footer-brand p { color: #b8c9d4; }
.lt-site-footer h2,
.lt-site-footer h3 { font-size: .87rem; letter-spacing: .055em; }
.lt-footer-links a { color: #c5d3dc; }
.lt-footer-links a:hover { color: #fff; text-decoration-color: #68b65a; }
.lt-newsletter-form input {
  border-color: rgba(255,255,255,.24);
  border-radius: 5px;
  background: rgba(255,255,255,.08);
}
.lt-newsletter-form input:focus { border-color: #76bd68; box-shadow: 0 0 0 3px rgba(118,189,104,.14); }
.lt-newsletter-form button {
  border-radius: 5px;
  background: var(--green, #1a7c08);
  color: #fff;
}
.lt-newsletter-form button:hover { background: #145f08; }
.lt-social-links a {
  border-radius: 5px;
  background: rgba(255,255,255,.97);
  color: var(--lt-green);
}
.lt-social-links a:hover { background: var(--lt-green); color: #fff; }
.lt-footer-bottom { border-top-color: rgba(255,255,255,.14); }
.lt-footer-bottom p,
.lt-footer-legal a,
.lt-newsletter-note { color: #9fb4c2; }
.lt-go-top {
  border-color: #d4e1d0;
  border-radius: 5px;
  color: #fff;
  background: var(--lt-green);
  box-shadow: 0 8px 24px rgba(26,124,8,.20);
}
.lt-go-top:hover { background: #145f08; }

/* Existing legacy content receives only identity-safe refinements. */
body.lt-heritage-design:not(.ltx-custom-development-body) .section-padding { padding-top: 68px; padding-bottom: 68px; }
body.lt-heritage-design:not(.ltx-custom-development-body) .section-padding-small { padding-top: 46px; padding-bottom: 46px; }
body.lt-heritage-design:not(.ltx-custom-development-body) .section-title h2,
body.lt-heritage-design:not(.ltx-custom-development-body) .page-title-content h2 { color: #263526 !important; font-family: "Dosis", sans-serif; }
body.lt-heritage-design:not(.ltx-custom-development-body) .page-title-area {
  background-color: #f5f8f3 !important;
  border-bottom: 1px solid #e0e9dd;
}
body.lt-heritage-design .default-btn,
body.lt-heritage-design .default-btn-one,
body.lt-heritage-design .default-btn-two { border-radius: 5px !important; }

@media (max-width: 1220px) {
  .lt-nav-link, .lt-nav-trigger { padding-inline: 7px; font-size: .85rem; }
  .lt-brand img { width: 212px; }
  .lt-header-cta { padding-inline: 12px; }
}

@media (max-width: 1100px) {
  .lt-header-cta { display: none; }
  .lt-language__trigger { min-width: 64px; }
}

@media (max-width: 991px) {
  :root { --lt-header-height: 70px; }
  .lt-shell, .lt-wide { width: min(100% - 28px, var(--lt-container)); }
  .lt-section { padding: 56px 0; }
  .lt-section--compact { padding: 41px 0; }
  .lt-brand img { width: 196px; }
  .lt-main-nav {
    top: var(--lt-header-height);
    height: calc(100vh - var(--lt-header-height));
    height: calc(100dvh - var(--lt-header-height));
    padding: 13px 15px 30px;
    border-top: 1px solid #dce6d9;
    background: #fff;
    box-shadow: 0 20px 36px rgba(25, 57, 31, .14);
  }
  .lt-nav-list { gap: 2px; }
  .lt-nav-link,
  .lt-nav-trigger {
    min-height: 45px;
    padding: 11px 9px;
    border-radius: 4px;
  }
  .lt-nav-link::after,
  .lt-nav-trigger::after { display: none; }
  .lt-nav-link:hover,
  .lt-nav-trigger:hover,
  .lt-nav-link[aria-current="page"],
  .lt-nav-item.is-active > .lt-nav-trigger { background: #edf6e9; }
  .lt-nav-dropdown,
  .lt-nav-dropdown--small {
    margin-bottom: 8px;
    padding: 8px;
    border: 1px solid #dce6d9;
    border-left: 3px solid var(--lt-green);
    border-top-width: 1px;
    border-radius: 5px;
    background: #f8faf7;
  }
  .lt-menu-primary { background: #eef6eb; }
  .lt-language__menu { top: calc(100% + 7px); }
  .lt-hero {
    min-height: auto;
    background:
      linear-gradient(90deg, rgba(255,255,255,.97) 0%, rgba(255,255,255,.91) 62%, rgba(255,255,255,.55) 100%),
      url('/assets/img/schweiz-1200.webp') center center / cover no-repeat;
  }
  .lt-hero__grid { min-height: 0; grid-template-columns: 1fr; gap: 12px; }
  .lt-hero__copy { max-width: 760px; padding: 52px 0 10px; }
  .lt-hero h1 { max-width: 690px; }
  .lt-hero__visual { min-height: 405px; max-width: 560px; width: 100%; margin-inline: auto; }
  .lt-hero__portrait { right: 50%; transform: translateX(50%); max-height: 410px; }
  .lt-hero__proof { right: 8px; bottom: 18px; width: min(280px, 65%); }
  .lt-page-hero { padding: 47px 0; }
  .lt-page-hero__grid { grid-template-columns: 1fr; gap: 27px; }
  .lt-primary-service { grid-template-columns: 1fr; }
  .lt-process { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .lt-footer-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 680px) {
  :root { --lt-header-height: 68px; }
  .lt-shell, .lt-wide { width: min(100% - 22px, var(--lt-container)); }
  .lt-brand img { width: 174px; }
  .lt-language__trigger { min-width: 47px; width: 47px; padding: 0 7px; }
  .lt-language__trigger span { display: none; }
  .lt-language__trigger i { display: none; }
  .lt-strategic-page h1 { font-size: clamp(1.94rem, 8vw, 2.48rem); }
  .lt-strategic-page h2 { font-size: clamp(1.55rem, 6.5vw, 2.02rem); }
  .lt-section { padding: 50px 0; }
  .lt-hero {
    background:
      linear-gradient(180deg, rgba(255,255,255,.97) 0%, rgba(255,255,255,.92) 57%, rgba(255,255,255,.58) 100%),
      url('/assets/img/schweiz-800.webp') 58% center / cover no-repeat;
  }
  .lt-hero__copy { padding: 40px 0 5px; }
  .lt-hero h1 { font-size: clamp(2.06rem, 9vw, 2.55rem); line-height: 1.08; }
  .lt-hero__copy .lt-lead { font-size: 1rem; line-height: 1.62; }
  .lt-hero__copy .lt-actions { margin-top: 20px; }
  .lt-hero__meta { margin-top: 18px; }
  .lt-hero__meta span { padding: 6px 8px; background: rgba(255,255,255,.82); }
  .lt-hero__visual { min-height: 345px; }
  .lt-hero__portrait { max-height: 350px; }
  .lt-hero__proof { right: 2px; bottom: 9px; width: 72%; padding: 13px 14px; }
  .lt-page-hero {
    padding: 39px 0;
    background:
      linear-gradient(180deg, rgba(255,255,255,.97), rgba(255,255,255,.88)),
      url('/assets/img/schweiz-800.webp') center / cover no-repeat;
  }
  .lt-actions { align-items: stretch; }
  .lt-actions .lt-btn { width: 100%; }
  .lt-primary-service { padding: 21px; }
  .lt-card,
  .lt-problem,
  .lt-process__step,
  .lt-proof-card,
  .lt-case,
  .lt-contact-option { transform: none !important; }
  .lt-process,
  .lt-process--three { grid-template-columns: 1fr; }
  .lt-closing { padding: 30px 21px; border-radius: 7px; }
  .lt-footer-grid { grid-template-columns: 1fr; gap: 27px; }
}

@media (prefers-reduced-motion: reduce) {
  .lt-card:hover,
  .lt-problem:hover,
  .lt-process__step:hover,
  .lt-proof-card:hover,
  .lt-case:hover,
  .lt-contact-option:hover,
  .lt-btn:hover,
  .lt-header-cta:hover { transform: none; }
}

/* Final specificity corrections after the legacy bundle. */
body.lt-heritage-design .lt-header-cta,
body.lt-heritage-design .lt-header-cta:hover,
body.lt-heritage-design .lt-btn--primary,
body.lt-heritage-design .lt-btn--primary:hover,
body.lt-heritage-design .lt-btn--secondary,
body.lt-heritage-design .lt-btn--secondary:hover { color: #fff; }
body.lt-heritage-design .lt-btn--light,
body.lt-heritage-design .lt-btn--light:hover { color: var(--lt-green); }
body.lt-heritage-design .lt-btn--ghost { color: #344438; }
body.lt-heritage-design .lt-btn--ghost:hover { color: var(--lt-green); }
body.lt-heritage-design .lt-site-footer .lt-footer-links a { color: #c5d3dc; }
body.lt-heritage-design .lt-site-footer .lt-footer-links a:hover { color: #fff; }
body.lt-heritage-design .lt-site-footer .lt-footer-legal a { color: #9fb4c2; }
body.lt-heritage-design .lt-site-footer .lt-footer-legal a:hover { color: #fff; }
body.lt-heritage-design .lt-social-links a { color: var(--lt-green); }
body.lt-heritage-design .lt-social-links a:hover { color: #fff; }
.lt-solution { border-top-color: #e0e9dd; color: var(--lt-green); }
@media (min-width: 992px) { .lt-hero h1 { font-size: clamp(2.55rem, 4.15vw, 3.4rem); } }


/* ==========================================================================\n   Integrated premium header + hero\n   The navigation now shares one continuous Alpine canvas with strategic hero\n   pages. At the top it feels visually weightless; once the page is scrolled it\n   becomes a restrained glass surface for dependable contrast and navigation.\n   ========================================================================== */
body.lt-integrated-hero-header {
  position: relative;
  isolation: isolate;
  --lt-integrated-bg-height: 560px;
}
body.lt-integrated-hero-header.lt-integrated-hero-home { --lt-integrated-bg-height: calc(var(--lt-header-height) + 620px); }
body.lt-integrated-hero-header::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 0;
  right: 0;
  left: 0;
  height: var(--lt-integrated-bg-height);
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(245,250,253,.08) 0%, rgba(255,255,255,.01) 67%, rgba(255,255,255,.84) 100%),
    linear-gradient(90deg, rgba(255,255,255,.985) 0%, rgba(255,255,255,.955) 31%, rgba(255,255,255,.76) 51%, rgba(255,255,255,.33) 72%, rgba(255,255,255,.08) 100%),
    url('/assets/img/schweiz-1600.webp') center center / cover no-repeat;
}
body.lt-integrated-hero-header > .lt-site-header { position: fixed; z-index: 9990; right: 0; left: 0; }
body.lt-integrated-hero-header > main { position: relative; z-index: 1; padding-top: var(--lt-header-height); }
body.lt-integrated-hero-header > .lt-site-footer { position: relative; z-index: 1; }

body.lt-integrated-hero-header .lt-site-header {
  background: rgba(250,253,254,.10);
  border-bottom-color: transparent;
  box-shadow: none;
  -webkit-backdrop-filter: blur(3px) saturate(112%);
  backdrop-filter: blur(3px) saturate(112%);
  transition: background-color .24s ease, border-color .24s ease, box-shadow .24s ease, backdrop-filter .24s ease;
}
body.lt-integrated-hero-header .lt-site-header::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 1px;
  pointer-events: none;
  opacity: 0;
  background: linear-gradient(90deg, transparent 4%, rgba(28,115,31,.16) 24%, rgba(255,255,255,.48) 54%, rgba(27,89,122,.11) 82%, transparent 97%);
  transition: opacity .24s ease;
}
body.lt-integrated-hero-header .lt-site-header.is-scrolled::after,
body.lt-integrated-hero-header.lt-nav-open .lt-site-header::after { opacity: 1; }
body.lt-integrated-hero-header .lt-site-header.is-scrolled,
body.lt-integrated-hero-header.lt-nav-open .lt-site-header {
  background: rgba(250,253,252,.91);
  border-bottom-color: rgba(35,89,56,.11);
  box-shadow: 0 10px 32px rgba(22,55,73,.10);
  -webkit-backdrop-filter: blur(20px) saturate(138%);
  backdrop-filter: blur(20px) saturate(138%);
}
body.lt-integrated-hero-header .lt-header-inner {
  width: min(1320px, calc(100% - 48px));
}
body.lt-integrated-hero-header .lt-brand {
  filter: drop-shadow(0 1px 0 rgba(255,255,255,.42));
}
body.lt-integrated-hero-header .lt-nav-link,
body.lt-integrated-hero-header .lt-nav-trigger {
  color: #17301d;
  text-shadow: 0 1px 0 rgba(255,255,255,.42);
  transition: color .18s ease, background-color .18s ease;
}
body.lt-integrated-hero-header .lt-nav-link:hover,
body.lt-integrated-hero-header .lt-nav-trigger:hover {
  background: rgba(255,255,255,.25);
  color: var(--lt-green);
}
body.lt-integrated-hero-header .lt-nav-link[aria-current="page"],
body.lt-integrated-hero-header .lt-nav-item.is-active > .lt-nav-trigger {
  background: transparent;
  color: var(--lt-green);
}
body.lt-integrated-hero-header .lt-site-header.is-scrolled .lt-nav-link:hover,
body.lt-integrated-hero-header .lt-site-header.is-scrolled .lt-nav-trigger:hover {
  background: rgba(235,246,232,.74);
}
body.lt-integrated-hero-header .lt-language__trigger {
  border-color: rgba(255,255,255,.70);
  background: rgba(255,255,255,.48);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.68), 0 5px 18px rgba(31,65,82,.055);
  -webkit-backdrop-filter: blur(12px) saturate(125%);
  backdrop-filter: blur(12px) saturate(125%);
}
body.lt-integrated-hero-header .lt-site-header.is-scrolled .lt-language__trigger {
  border-color: rgba(56,105,63,.16);
  background: rgba(255,255,255,.78);
}
body.lt-integrated-hero-header .lt-header-cta {
  border: 1px solid rgba(255,255,255,.36);
  box-shadow: 0 9px 24px rgba(22,113,12,.22), inset 0 1px 0 rgba(255,255,255,.12);
}
body.lt-integrated-hero-header .lt-header-cta:hover {
  box-shadow: 0 12px 28px rgba(22,113,12,.27), inset 0 1px 0 rgba(255,255,255,.12);
}

/* The hero itself is transparent: header and hero reveal the exact same canvas. */
body.lt-integrated-hero-header .lt-hero,
body.lt-integrated-hero-header .lt-page-hero {
  background: transparent;
}
body.lt-integrated-hero-header .lt-page-hero {
  border-bottom-color: rgba(42,103,67,.11);
}
body.lt-integrated-hero-header .lt-hero__meta span,
body.lt-integrated-hero-header .lt-hero__proof,
body.lt-integrated-hero-header .lt-page-hero__aside {
  -webkit-backdrop-filter: blur(12px) saturate(120%);
  backdrop-filter: blur(12px) saturate(120%);
}

@media (max-width: 1220px) {
  body.lt-integrated-hero-header .lt-header-inner { width: min(1240px, calc(100% - 34px)); }
}

@media (max-width: 991px) {
  body.lt-integrated-hero-header { --lt-integrated-bg-height: 780px; }
  body.lt-integrated-hero-header.lt-integrated-hero-home { --lt-integrated-bg-height: 900px; }
  body.lt-integrated-hero-header::before {
    background:
      linear-gradient(180deg, rgba(255,255,255,.78) 0%, rgba(255,255,255,.60) 27%, rgba(255,255,255,.34) 66%, rgba(255,255,255,.86) 100%),
      linear-gradient(90deg, rgba(255,255,255,.80), rgba(255,255,255,.30)),
      url('/assets/img/schweiz-1200.webp') 56% center / cover no-repeat;
  }
  body.lt-integrated-hero-header .lt-site-header {
    background: rgba(250,253,252,.40);
    -webkit-backdrop-filter: blur(13px) saturate(125%);
    backdrop-filter: blur(13px) saturate(125%);
  }
  body.lt-integrated-hero-header .lt-header-inner { width: min(100% - 28px, var(--lt-container)); }
  body.lt-integrated-hero-header .lt-main-nav {
    border-top-color: rgba(56,105,63,.14);
    background: rgba(250,253,251,.995);
    box-shadow: 0 22px 42px rgba(25,57,31,.16);
    -webkit-backdrop-filter: blur(22px) saturate(130%);
    backdrop-filter: blur(22px) saturate(130%);
  }
  body.lt-integrated-hero-header .lt-mobile-toggle {
    border-color: rgba(255,255,255,.72);
    background: rgba(255,255,255,.58);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.75), 0 5px 16px rgba(31,65,82,.06);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
  }
  body.lt-integrated-hero-header .lt-hero,
  body.lt-integrated-hero-header .lt-page-hero { background: transparent; }
}

@media (max-width: 680px) {
  body.lt-integrated-hero-header { --lt-integrated-bg-height: 760px; }
  body.lt-integrated-hero-header.lt-integrated-hero-home { --lt-integrated-bg-height: 860px; }
  body.lt-integrated-hero-header::before {
    background:
      linear-gradient(180deg, rgba(255,255,255,.86) 0%, rgba(255,255,255,.70) 34%, rgba(255,255,255,.38) 70%, rgba(255,255,255,.88) 100%),
      url('/assets/img/schweiz-800.webp') 58% center / cover no-repeat;
  }
  body.lt-integrated-hero-header .lt-header-inner { width: min(100% - 22px, var(--lt-container)); }
  body.lt-integrated-hero-header .lt-site-header { background: rgba(250,253,252,.48); }
  body.lt-integrated-hero-header .lt-site-header.is-scrolled,
  body.lt-integrated-hero-header.lt-nav-open .lt-site-header { background: rgba(250,253,252,.95); }
}


/* ==========================================================================
   Alpine hero refinement
   Extends the shared mountain canvas down to the portrait feet and gives the
   entire first fold a calmer, more premium finish.
   ========================================================================== */
body.lt-integrated-hero-header.lt-integrated-hero-home {
  --lt-integrated-bg-height: calc(var(--lt-header-height) + 760px);
}
body.lt-integrated-hero-header.lt-integrated-hero-inner {
  --lt-integrated-bg-height: calc(var(--lt-header-height) + 420px);
}
body.lt-integrated-hero-header.lt-integrated-hero-home::before {
  background:
    radial-gradient(circle at 13% 18%, rgba(255,255,255,.88) 0%, rgba(255,255,255,.50) 20%, rgba(255,255,255,.14) 38%, rgba(255,255,255,0) 56%),
    linear-gradient(180deg, rgba(242,248,251,.07) 0%, rgba(255,255,255,.02) 58%, rgba(255,255,255,.22) 84%, rgba(255,255,255,.08) 100%),
    linear-gradient(90deg, rgba(255,255,255,.988) 0%, rgba(255,255,255,.958) 28%, rgba(255,255,255,.80) 46%, rgba(255,255,255,.42) 64%, rgba(255,255,255,.08) 100%),
    url('/assets/img/schweiz-1600.webp') 54% center / cover no-repeat;
}
body.lt-integrated-hero-header.lt-integrated-hero-home::after {
  content: "";
  position: absolute;
  z-index: 0;
  right: 0;
  left: 0;
  top: calc(var(--lt-header-height) + 438px);
  height: 360px;
  pointer-events: none;
  background:
    radial-gradient(60% 120% at 74% 100%, rgba(76,96,92,.34) 0%, rgba(76,96,92,.19) 28%, rgba(76,96,92,0) 66%),
    radial-gradient(22% 20% at 67% 84%, rgba(34,46,43,.24) 0%, rgba(34,46,43,0) 75%),
    radial-gradient(16% 16% at 78% 88%, rgba(34,46,43,.18) 0%, rgba(34,46,43,0) 73%),
    linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.02) 18%, rgba(169,183,191,.11) 72%, rgba(255,255,255,0) 100%);
}
body.lt-integrated-hero-header.lt-integrated-hero-home .lt-hero {
  min-height: 720px;
}
body.lt-integrated-hero-header.lt-integrated-hero-home .lt-hero__grid {
  min-height: 720px;
  align-items: stretch;
}
body.lt-integrated-hero-header.lt-integrated-hero-home .lt-hero__copy {
  padding: 82px 0 88px;
}
body.lt-integrated-hero-header.lt-integrated-hero-home .lt-hero__copy .lt-lead {
  max-width: 670px;
}
body.lt-integrated-hero-header.lt-integrated-hero-home .lt-hero__visual {
  min-height: 660px;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
}
body.lt-integrated-hero-header.lt-integrated-hero-home .lt-hero__visual::before {
  content: "";
  position: absolute;
  right: -10px;
  bottom: 4px;
  width: 480px;
  height: 160px;
  pointer-events: none;
  z-index: 1;
  background:
    radial-gradient(58% 104% at 50% 100%, rgba(79,92,91,.38) 0%, rgba(79,92,91,.14) 48%, rgba(79,92,91,0) 100%),
    radial-gradient(26% 42% at 30% 66%, rgba(42,50,48,.18) 0%, rgba(42,50,48,0) 100%),
    radial-gradient(28% 42% at 73% 72%, rgba(42,50,48,.14) 0%, rgba(42,50,48,0) 100%);
}
body.lt-integrated-hero-header.lt-integrated-hero-home .lt-hero__visual::after {
  content: "";
  position: absolute;
  right: 18px;
  bottom: 16px;
  width: 350px;
  height: 55px;
  border-radius: 50%;
  pointer-events: none;
  z-index: 1;
  background: radial-gradient(ellipse at center, rgba(31,44,36,.28) 0%, rgba(31,44,36,.12) 42%, rgba(31,44,36,0) 78%);
}
body.lt-integrated-hero-header.lt-integrated-hero-home .lt-hero__portrait {
  right: 12px;
  bottom: 0;
  max-height: 620px;
  filter: drop-shadow(0 22px 34px rgba(22,41,31,.19));
}
body.lt-integrated-hero-header.lt-integrated-hero-home .lt-hero__proof {
  right: 0;
  bottom: 66px;
  width: min(308px, 72%);
  background: rgba(255,255,255,.90);
  box-shadow: 0 18px 34px rgba(24,50,35,.16);
}
body.lt-integrated-hero-header.lt-integrated-hero-inner::before {
  background:
    linear-gradient(180deg, rgba(244,249,252,.10) 0%, rgba(255,255,255,.03) 63%, rgba(255,255,255,.18) 100%),
    linear-gradient(90deg, rgba(255,255,255,.986) 0%, rgba(255,255,255,.948) 40%, rgba(255,255,255,.74) 65%, rgba(255,255,255,.18) 100%),
    url('/assets/img/schweiz-1600.webp') 54% 38% / cover no-repeat;
}
body.lt-integrated-hero-header.lt-integrated-hero-inner .lt-page-hero {
  padding: 62px 0 58px;
}
body.lt-integrated-hero-header.lt-integrated-hero-inner .lt-page-hero__aside {
  background: rgba(255,255,255,.90);
  box-shadow: 0 16px 32px rgba(25,56,37,.12);
}

@media (max-width: 991px) {
  body.lt-integrated-hero-header.lt-integrated-hero-home {
    --lt-integrated-bg-height: calc(var(--lt-header-height) + 900px);
  }
  body.lt-integrated-hero-header.lt-integrated-hero-inner {
    --lt-integrated-bg-height: calc(var(--lt-header-height) + 500px);
  }
  body.lt-integrated-hero-header.lt-integrated-hero-home::before {
    background:
      linear-gradient(180deg, rgba(255,255,255,.77) 0%, rgba(255,255,255,.63) 28%, rgba(255,255,255,.40) 66%, rgba(255,255,255,.16) 100%),
      linear-gradient(90deg, rgba(255,255,255,.86), rgba(255,255,255,.38)),
      url('/assets/img/schweiz-1200.webp') 60% center / cover no-repeat;
  }
  body.lt-integrated-hero-header.lt-integrated-hero-home::after {
    top: calc(var(--lt-header-height) + 555px);
    height: 320px;
    background:
      radial-gradient(80% 110% at 50% 100%, rgba(86,103,99,.30) 0%, rgba(86,103,99,.12) 32%, rgba(86,103,99,0) 70%),
      linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(178,191,198,.09) 72%, rgba(255,255,255,0) 100%);
  }
  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-hero {
    min-height: 812px;
  }
  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-hero__grid {
    min-height: 0;
  }
  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-hero__copy {
    padding: 54px 0 12px;
  }
  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-hero__visual {
    min-height: 470px;
    max-width: 590px;
    margin-inline: auto;
  }
  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-hero__portrait {
    right: 50%;
    transform: translateX(50%);
    max-height: 450px;
  }
  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-hero__visual::before {
    right: 50%;
    bottom: 6px;
    width: 360px;
    height: 130px;
    transform: translateX(50%);
  }
  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-hero__visual::after {
    right: 50%;
    bottom: 16px;
    width: 255px;
    transform: translateX(50%);
  }
  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-hero__proof {
    right: 50%;
    bottom: 18px;
    width: min(320px, 74%);
    transform: translateX(50%);
  }
}

@media (max-width: 680px) {
  body.lt-integrated-hero-header.lt-integrated-hero-home {
    --lt-integrated-bg-height: calc(var(--lt-header-height) + 830px);
  }
  body.lt-integrated-hero-header.lt-integrated-hero-home::before {
    background:
      linear-gradient(180deg, rgba(255,255,255,.86) 0%, rgba(255,255,255,.74) 34%, rgba(255,255,255,.46) 68%, rgba(255,255,255,.18) 100%),
      url('/assets/img/schweiz-800.webp') 61% center / cover no-repeat;
  }
  body.lt-integrated-hero-header.lt-integrated-hero-home::after {
    top: calc(var(--lt-header-height) + 540px);
    height: 250px;
  }
  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-hero {
    min-height: 748px;
  }
  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-hero__copy {
    padding: 40px 0 6px;
  }
  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-hero__visual {
    min-height: 408px;
  }
  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-hero__portrait {
    max-height: 382px;
  }
  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-hero__visual::before {
    width: 286px;
    height: 108px;
  }
  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-hero__visual::after {
    width: 210px;
    height: 42px;
  }
  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-hero__proof {
    width: min(292px, 76%);
  }
  body.lt-integrated-hero-header.lt-integrated-hero-inner {
    --lt-integrated-bg-height: calc(var(--lt-header-height) + 460px);
  }
}


/* ==========================================================================
   Homepage luxury refinement
   Premium visual continuity for all homepage sections below the hero.
   ========================================================================== */
.lt-home-luxury {
  position: relative;
}
.lt-home-luxury .lt-section {
  position: relative;
}
.lt-home-luxury .lt-section__head {
  margin-bottom: 28px;
}
.lt-home-luxury .lt-section__head h2 {
  max-width: 900px;
}
.lt-home-luxury .lt-section__head p,
.lt-home-luxury .lt-section__head .lt-lead {
  max-width: 860px;
}
.lt-home-luxury .lt-home-kpis {
  margin-top: -24px;
  padding-top: 0;
}
.lt-home-luxury .lt-home-kpis .lt-shell {
  position: relative;
  z-index: 2;
}
.lt-home-luxury .lt-home-kpis .lt-grid-4 {
  gap: 16px;
}
.lt-home-luxury .lt-home-kpis .lt-kpi {
  position: relative;
  overflow: hidden;
  padding: 18px 18px 17px;
  border: 1px solid rgba(188,209,182,.72);
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(249,252,248,.95));
  box-shadow: 0 16px 34px rgba(36,64,41,.10);
}
.lt-home-luxury .lt-home-kpis .lt-kpi::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 4px;
  background: linear-gradient(90deg, rgba(26,124,8,.78), rgba(96,175,81,.72));
}
.lt-home-luxury .lt-home-kpis .lt-kpi strong {
  font-size: 1.26rem;
}
.lt-home-luxury .lt-home-statement {
  padding-top: 18px;
}
.lt-home-luxury .lt-home-statement::before,
.lt-home-luxury .lt-home-proof::before,
.lt-home-luxury .lt-home-faq::before {
  content: "";
  position: absolute;
  inset: 18px 0;
  border-top: 1px solid rgba(183,203,177,.16);
  border-bottom: 1px solid rgba(183,203,177,.12);
  background: linear-gradient(180deg, rgba(244,248,242,.60), rgba(255,255,255,.72));
  pointer-events: none;
}
.lt-home-luxury .lt-home-statement .lt-statement {
  position: relative;
  overflow: hidden;
  padding: 32px 34px;
  border: 1px solid rgba(193,212,188,.76);
  border-left-width: 0;
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(246,251,244,.98), rgba(255,255,255,.96));
  box-shadow: 0 18px 40px rgba(34,62,40,.08);
}
.lt-home-luxury .lt-home-statement .lt-statement::before {
  content: "";
  position: absolute;
  left: 0;
  top: 18px;
  bottom: 18px;
  width: 5px;
  border-radius: 8px;
  background: linear-gradient(180deg, var(--lt-green), rgba(92,168,75,.66));
}
.lt-home-luxury .lt-home-problems .lt-problem-grid {
  gap: 18px;
}
.lt-home-luxury .lt-home-problems .lt-problem {
  padding: 25px 23px 20px;
  background: linear-gradient(180deg, #ffffff, #fbfcfa);
}
.lt-home-luxury .lt-home-problems .lt-problem__head {
  margin-bottom: 10px;
}
.lt-home-luxury .lt-home-problems .lt-problem__number {
  color: var(--lt-green);
}
.lt-home-luxury .lt-home-problems .lt-solution {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px dashed rgba(180,203,173,.75);
}
.lt-home-luxury .lt-home-services {
  overflow: hidden;
}
.lt-home-luxury .lt-home-services::after {
  content: "";
  position: absolute;
  right: -120px;
  top: 34px;
  width: 360px;
  height: 360px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(149,201,138,.12) 0%, rgba(149,201,138,0) 68%);
  pointer-events: none;
}
.lt-home-luxury .lt-home-services .lt-primary-service {
  position: relative;
  overflow: hidden;
  padding: 32px;
}
.lt-home-luxury .lt-home-services .lt-primary-service::after {
  content: "";
  position: absolute;
  right: -80px;
  bottom: -80px;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(64,132,49,.14) 0%, rgba(64,132,49,0) 70%);
}
.lt-home-luxury .lt-home-services .lt-primary-service__proof {
  position: relative;
  z-index: 1;
  border-color: rgba(188,206,183,.9);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.64);
}
.lt-home-luxury .lt-home-services .lt-secondary-services .lt-card {
  padding: 24px 22px;
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(250,252,249,.95));
}
.lt-home-luxury .lt-home-services .lt-expertise-strip {
  position: relative;
  overflow: hidden;
  margin-top: 20px;
}
.lt-home-luxury .lt-home-services .lt-expertise-strip::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(245,249,244,.92), rgba(255,255,255,.72));
  pointer-events: none;
}
.lt-home-luxury .lt-home-services .lt-expertise-strip > * {
  position: relative;
  z-index: 1;
}
.lt-home-luxury .lt-home-process .lt-process {
  gap: 16px;
}
.lt-home-luxury .lt-home-process .lt-process__step {
  overflow: hidden;
  padding: 50px 18px 20px;
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,251,247,.94));
}
.lt-home-luxury .lt-home-process .lt-process__step::before {
  top: 18px;
  left: 18px;
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: 0;
  border-radius: 999px;
  background: rgba(237,246,233,.95);
  box-shadow: inset 0 0 0 1px rgba(149,193,139,.55);
}
.lt-home-luxury .lt-home-process .lt-process__step::after {
  top: 34px;
  right: -15px;
  width: 18px;
  height: 2px;
  background: linear-gradient(90deg, rgba(170,201,163,.95), rgba(170,201,163,.35));
}
.lt-home-luxury .lt-home-process .lt-process__step h3 {
  min-height: 50px;
}
.lt-home-luxury .lt-home-proof .lt-proof-showcase {
  position: relative;
  z-index: 1;
  padding: 16px;
  border: 1px solid rgba(192,210,186,.66);
  border-radius: 26px;
  background: linear-gradient(135deg, rgba(255,255,255,.88), rgba(249,252,248,.94));
  box-shadow: 0 22px 48px rgba(34,62,40,.08);
}
.lt-home-luxury .lt-home-proof .lt-proof-image {
  overflow: hidden;
  border: 1px solid rgba(193,210,187,.9);
  border-radius: 22px;
  box-shadow: 0 18px 40px rgba(31,58,37,.14);
}
.lt-home-luxury .lt-home-proof .lt-proof-image img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 430px;
  object-fit: cover;
}
.lt-home-luxury .lt-home-proof .lt-proof-links {
  gap: 12px;
}
.lt-home-luxury .lt-home-proof .lt-proof-link {
  background: rgba(255,255,255,.84);
  border-color: rgba(194,213,189,.88);
}
.lt-home-luxury .lt-home-about .lt-split {
  gap: 54px;
}
.lt-home-luxury .lt-home-about .lt-split__media {
  position: relative;
  overflow: visible;
  border-radius: 24px;
  border-color: rgba(193,210,187,.92);
  box-shadow: 0 22px 48px rgba(28,56,35,.14);
}
.lt-home-luxury .lt-home-about .lt-split__media::after {
  content: "";
  position: absolute;
  left: -20px;
  bottom: -22px;
  width: 120px;
  height: 120px;
  border-radius: 28px;
  background: linear-gradient(135deg, rgba(237,246,233,.85), rgba(255,255,255,0));
  z-index: -1;
}
.lt-home-luxury .lt-home-faq .lt-section__head {
  margin-bottom: 24px;
}
.lt-home-luxury .lt-home-faq .lt-faq {
  position: relative;
  z-index: 1;
  gap: 12px;
}
.lt-home-luxury .lt-home-faq .lt-faq details {
  overflow: hidden;
  border-color: rgba(193,211,188,.9);
  box-shadow: 0 12px 30px rgba(34,62,40,.07);
}
.lt-home-luxury .lt-home-faq .lt-faq summary {
  padding: 18px 54px 18px 20px;
}
.lt-home-luxury .lt-home-faq .lt-faq__answer {
  background: linear-gradient(180deg, rgba(248,251,247,.84), rgba(255,255,255,.95));
}
.lt-home-luxury .lt-home-closing {
  padding-top: 8px;
}
.lt-home-luxury .lt-home-closing .lt-closing {
  border: 1px solid rgba(110,154,191,.18);
  box-shadow: 0 24px 54px rgba(4, 44, 76, .22);
}
.lt-home-luxury .lt-home-closing .lt-closing__inner {
  max-width: 880px;
}

@media (max-width: 991px) {
  .lt-home-luxury .lt-home-kpis {
    margin-top: -8px;
  }
  .lt-home-luxury .lt-home-proof .lt-proof-showcase {
    padding: 14px;
  }
  .lt-home-luxury .lt-home-proof .lt-proof-image img {
    min-height: 300px;
  }
  .lt-home-luxury .lt-home-about .lt-split {
    gap: 32px;
  }
  .lt-home-luxury .lt-home-process .lt-process__step h3 {
    min-height: 0;
  }
}

@media (max-width: 680px) {
  .lt-home-luxury .lt-home-kpis {
    margin-top: 0;
  }
  .lt-home-luxury .lt-home-statement .lt-statement {
    padding: 24px 20px 24px 26px;
    border-radius: 12px;
  }
  .lt-home-luxury .lt-home-proof .lt-proof-showcase {
    border-radius: 16px;
    padding: 10px;
  }
  .lt-home-luxury .lt-home-proof .lt-proof-image {
    border-radius: 14px;
  }
  .lt-home-luxury .lt-home-proof .lt-proof-image img {
    min-height: 240px;
  }
  .lt-home-luxury .lt-home-about .lt-split__media {
    border-radius: 16px;
  }
}

/* ==========================================================================
   EXACT DESKTOP HERO REFERENCE
   The user supplied reference artwork is used as the visible first fold on
   large desktop screens so the composition is reproduced 1:1. The live HTML
   remains present for semantics, keyboard navigation and clickable controls.
   Tablet/mobile keep the responsive live implementation.
   ========================================================================== */
@media (min-width: 1400px) {
  body.lt-integrated-hero-header.lt-integrated-hero-home {
    --lt-exact-home-fold-height: 41.10429448vw; /* 804 / 1956 */
    --lt-integrated-bg-height: var(--lt-exact-home-fold-height);
  }

  body.lt-integrated-hero-header.lt-integrated-hero-home::before {
    top: 0;
    height: var(--lt-exact-home-fold-height);
    background-image: url('/assets/img/hero-exact-reference-1956x804.png');
    background-position: top center;
    background-size: 100% auto;
    background-repeat: no-repeat;
  }

  body.lt-integrated-hero-header.lt-integrated-hero-home::after {
    display: none;
  }

  body.lt-integrated-hero-header.lt-integrated-hero-home > main {
    padding-top: var(--lt-header-height);
  }

  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-hero {
    min-height: calc(var(--lt-exact-home-fold-height) - var(--lt-header-height));
    height: calc(var(--lt-exact-home-fold-height) - var(--lt-header-height));
    overflow: hidden;
    background: transparent !important;
  }

  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-hero::before,
  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-hero::after,
  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-hero__visual::before,
  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-hero__visual::after {
    display: none !important;
  }

  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-hero__grid {
    min-height: calc(var(--lt-exact-home-fold-height) - var(--lt-header-height));
    height: calc(var(--lt-exact-home-fold-height) - var(--lt-header-height));
  }

  /* The reference already contains the visible copy and portrait. Keep the
     live elements invisible but interactive so the design stays exact. */
  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-hero__copy,
  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-hero__visual {
    opacity: 0;
  }

  /* At the top the reference contains the complete header artwork. The actual
     header becomes visible again after scrolling, preserving normal usability. */
  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-site-header:not(.is-scrolled) {
    background: transparent !important;
    border-bottom-color: transparent !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }

  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-site-header:not(.is-scrolled)::after {
    opacity: 0 !important;
  }

  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-site-header:not(.is-scrolled) .lt-header-inner {
    opacity: 0;
  }

  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-site-header .lt-header-inner {
    transition: opacity .18s ease;
  }

  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-site-header.is-scrolled .lt-header-inner,
  body.lt-integrated-hero-header.lt-integrated-hero-home.lt-nav-open .lt-site-header .lt-header-inner {
    opacity: 1;
  }

  /* Do not let the premium KPI cards overlap the exact reference artwork. */
  .lt-home-luxury .lt-home-kpis {
    margin-top: 0;
  }
}


/* Exact-reference CTA interaction fix.
   The visible buttons are baked into the desktop reference image. These
   transparent hotspots sit pixel-for-pixel over those two buttons so mouse
   clicks always execute the intended live links. */
.lt-exact-desktop-cta-hotspots { display: none; }

@media (min-width: 1400px) {
  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-hero__copy,
  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-hero__visual {
    pointer-events: none;
  }

  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-exact-desktop-cta-hotspots {
    display: block;
    position: absolute;
    z-index: 70;
    inset: 0;
    pointer-events: none;
  }

  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-exact-hotspot {
    position: absolute;
    display: block;
    pointer-events: auto;
    cursor: pointer;
    border-radius: .28vw;
    background: transparent;
    outline: 0;
    -webkit-tap-highlight-color: transparent;
  }

  /* Exact coordinates from the 1956 × 804 reference artwork.
     We use vw units because the reference itself scales from viewport width. */
  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-exact-hotspot--primary {
    left: 21.4213vw;
    top: calc(28.9366vw - var(--lt-header-height));
    width: 14.2127vw;
    height: 2.1472vw;
  }

  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-exact-hotspot--secondary {
    left: 21.4724vw;
    top: calc(31.4417vw - var(--lt-header-height));
    width: 12.7812vw;
    height: 2.1472vw;
  }

  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-exact-hotspot:hover {
    box-shadow: 0 0 0 2px rgba(255,255,255,.08), 0 7px 20px rgba(22,55,73,.08);
  }

  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-exact-hotspot:focus-visible {
    outline: 3px solid rgba(255,255,255,.96);
    outline-offset: 2px;
    box-shadow: 0 0 0 5px rgba(26,124,8,.42);
  }
}


/* ==========================================================================
   EXACT DESKTOP HEADER INTERACTION MAP
   The desktop reference artwork contains the visible header. Instead of
   duplicating navigation logic, the real header controls are positioned as
   transparent hit areas exactly over their visible counterparts. This keeps
   all existing URLs, dropdown logic and language switching fully functional.
   ========================================================================== */
@media (min-width: 1400px) {
  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-site-header:not(.is-scrolled) .lt-header-inner {
    position: relative;
    width: 100%;
    max-width: none;
    min-height: var(--lt-header-height);
    margin: 0;
    padding: 0;
    opacity: 1 !important;
    pointer-events: none;
  }

  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-site-header:not(.is-scrolled) .lt-brand {
    position: absolute;
    z-index: 6;
    left: 16.1043vw;
    top: 1.0225vw;
    width: 12.0143vw;
    height: 2.9652vw;
    margin: 0;
    opacity: 0;
    pointer-events: auto;
    cursor: pointer;
  }
  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-site-header:not(.is-scrolled) .lt-brand img {
    width: 100%;
    height: 100%;
  }

  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-site-header:not(.is-scrolled) .lt-main-nav {
    position: absolute;
    z-index: 7;
    inset: 0;
    margin: 0;
    pointer-events: none;
  }
  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-site-header:not(.is-scrolled) .lt-nav-list {
    position: static;
    display: block;
    width: 100%;
    height: 100%;
  }
  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-site-header:not(.is-scrolled) .lt-nav-item {
    position: absolute;
    top: 1.3804vw;
    height: 2.5051vw;
    min-height: 34px;
    pointer-events: auto;
  }
  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-site-header:not(.is-scrolled) .lt-nav-item:nth-child(1) { left: 35.7873vw; width: 4.8569vw; }
  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-site-header:not(.is-scrolled) .lt-nav-item:nth-child(2) { left: 40.7464vw; width: 4.7546vw; }
  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-site-header:not(.is-scrolled) .lt-nav-item:nth-child(3) { left: 45.5010vw; width: 6.0327vw; }
  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-site-header:not(.is-scrolled) .lt-nav-item:nth-child(4) { left: 51.4826vw; width: 8.4356vw; }
  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-site-header:not(.is-scrolled) .lt-nav-item:nth-child(5) { left: 59.8671vw; width: 4.6524vw; }
  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-site-header:not(.is-scrolled) .lt-nav-item:nth-child(6) { left: 64.4172vw; width: 5.2658vw; }

  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-site-header:not(.is-scrolled) .lt-nav-link,
  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-site-header:not(.is-scrolled) .lt-nav-trigger {
    width: 100%;
    height: 100%;
    min-height: 0;
    margin: 0;
    padding: 0;
    border: 0;
    opacity: 0;
    pointer-events: auto;
    cursor: pointer;
  }

  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-site-header:not(.is-scrolled) .lt-nav-dropdown {
    top: calc(100% + .42vw);
    z-index: 40;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-site-header:not(.is-scrolled) .lt-nav-item.is-open > .lt-nav-dropdown {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-site-header:not(.is-scrolled) .lt-nav-dropdown,
  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-site-header:not(.is-scrolled) .lt-nav-dropdown * {
    opacity: 1;
  }

  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-site-header:not(.is-scrolled) .lt-header-actions {
    position: static;
    margin: 0;
    pointer-events: none;
  }
  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-site-header:not(.is-scrolled) .lt-language {
    position: absolute;
    z-index: 30;
    left: 71.3701vw;
    top: 1.3292vw;
    width: 4.8057vw;
    height: 2.6074vw;
    min-width: 67px;
    min-height: 37px;
    pointer-events: auto;
  }
  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-site-header:not(.is-scrolled) .lt-language__trigger {
    width: 100%;
    height: 100%;
    min-width: 0;
    padding: 0;
    border: 0;
    opacity: 0;
    pointer-events: auto;
    cursor: pointer;
  }
  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-site-header:not(.is-scrolled) .lt-language__menu {
    top: calc(100% + 8px);
    right: 0;
    z-index: 45;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-site-header:not(.is-scrolled) .lt-language.is-open .lt-language__menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-site-header:not(.is-scrolled) .lt-language__menu,
  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-site-header:not(.is-scrolled) .lt-language__menu * {
    opacity: 1;
  }
  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-site-header:not(.is-scrolled) .lt-header-cta {
    position: absolute;
    z-index: 30;
    left: 76.6360vw;
    top: 1.2781vw;
    width: 10.9407vw;
    height: 2.7096vw;
    min-width: 153px;
    min-height: 38px;
    margin: 0;
    padding: 0;
    border: 0;
    opacity: 0;
    pointer-events: auto;
    cursor: pointer;
  }

  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-site-header:not(.is-scrolled) .lt-brand:focus-visible,
  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-site-header:not(.is-scrolled) .lt-nav-item:focus-within,
  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-site-header:not(.is-scrolled) .lt-language:focus-within,
  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-site-header:not(.is-scrolled) .lt-header-cta:focus-visible {
    outline: 3px solid rgba(255,255,255,.96);
    outline-offset: 2px;
    box-shadow: 0 0 0 5px rgba(26,124,8,.42);
    border-radius: 6px;
  }
}

/* ==========================================================================
   MOBILE PREMIUM HEADER + NAVIGATION · 2026-08-12
   A dedicated mobile experience: compact alpine glass header, large touch
   targets, animated off-canvas navigation and a prominent appointment CTA.
   Desktop behaviour remains unchanged.
   ========================================================================== */
.lt-mobile-nav-backdrop,
.lt-mobile-nav-footer { display: none; }

@media (max-width: 991px) {
  :root { --lt-header-height: 70px; }

  .lt-site-header {
    min-height: var(--lt-header-height);
    background: rgba(250,253,252,.88);
    border-bottom: 1px solid rgba(42,94,53,.10);
    box-shadow: 0 8px 28px rgba(17,48,58,.08);
    -webkit-backdrop-filter: blur(20px) saturate(138%);
    backdrop-filter: blur(20px) saturate(138%);
  }

  body.lt-integrated-hero-header .lt-site-header {
    background: linear-gradient(180deg, rgba(250,253,252,.72), rgba(250,253,252,.50));
    border-bottom-color: rgba(255,255,255,.22);
    box-shadow: 0 8px 30px rgba(23,55,67,.055);
    -webkit-backdrop-filter: blur(18px) saturate(135%);
    backdrop-filter: blur(18px) saturate(135%);
  }
  body.lt-integrated-hero-header .lt-site-header.is-scrolled,
  body.lt-integrated-hero-header.lt-nav-open .lt-site-header {
    background: rgba(250,253,252,.965);
    border-bottom-color: rgba(47,102,57,.12);
    box-shadow: 0 12px 32px rgba(20,51,62,.11);
    -webkit-backdrop-filter: blur(24px) saturate(142%);
    backdrop-filter: blur(24px) saturate(142%);
  }

  .lt-header-inner,
  body.lt-integrated-hero-header .lt-header-inner {
    width: min(100% - 22px, var(--lt-container));
    min-height: var(--lt-header-height);
    gap: 9px;
  }

  .lt-brand {
    min-width: 0;
    overflow: visible;
  }
  .lt-brand img,
  body.lt-integrated-hero-header .lt-brand img {
    width: clamp(154px, 42vw, 188px);
    max-height: 48px;
    object-fit: contain;
    object-position: left center;
    filter: drop-shadow(0 1px 0 rgba(255,255,255,.62));
  }

  .lt-header-actions {
    margin-left: auto;
    gap: 7px;
  }
  .lt-header-cta { display: none !important; }

  .lt-language {
    position: relative;
    z-index: 9998;
  }
  .lt-language__trigger,
  body.lt-integrated-hero-header .lt-language__trigger {
    width: 48px;
    min-width: 48px;
    height: 44px;
    padding: 0 8px;
    gap: 5px;
    border: 1px solid rgba(80,126,82,.17);
    border-radius: 12px;
    background: rgba(255,255,255,.72);
    color: #314635;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.78), 0 7px 18px rgba(26,60,42,.07);
    -webkit-backdrop-filter: blur(14px) saturate(130%);
    backdrop-filter: blur(14px) saturate(130%);
    touch-action: manipulation;
  }
  .lt-language__trigger span { display: none; }
  .lt-language__trigger img {
    width: 21px;
    height: 15px;
    flex: 0 0 auto;
    border-radius: 2px;
    box-shadow: 0 0 0 1px rgba(24,46,29,.08);
  }
  .lt-language__trigger i,
  body.lt-integrated-hero-header .lt-language__trigger i {
    display: block;
    margin: 0;
    font-size: .55rem;
    color: #647267;
  }
  .lt-language.is-open .lt-language__trigger {
    border-color: rgba(26,124,8,.38);
    background: #fff;
    box-shadow: 0 0 0 3px rgba(26,124,8,.08), 0 10px 24px rgba(26,60,42,.10);
  }
  .lt-language__menu,
  body.lt-integrated-hero-header .lt-language__menu {
    z-index: 10001;
    top: calc(100% + 9px);
    right: 0;
    min-width: 186px;
    padding: 7px;
    border: 1px solid rgba(69,116,73,.16);
    border-top: 3px solid var(--lt-green);
    border-radius: 14px;
    background: rgba(253,255,253,.985);
    box-shadow: 0 18px 42px rgba(23,55,31,.18);
    -webkit-backdrop-filter: blur(22px) saturate(135%);
    backdrop-filter: blur(22px) saturate(135%);
  }
  .lt-language__menu a {
    min-height: 43px;
    padding: 10px 11px;
    border-radius: 9px;
  }

  .lt-mobile-toggle,
  body.lt-integrated-hero-header .lt-mobile-toggle {
    display: inline-grid;
    width: 46px;
    height: 44px;
    margin: 0;
    padding: 0;
    place-items: center;
    border: 1px solid rgba(80,126,82,.17);
    border-radius: 12px;
    background: rgba(255,255,255,.72);
    color: var(--lt-green);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.78), 0 7px 18px rgba(26,60,42,.07);
    -webkit-backdrop-filter: blur(14px) saturate(130%);
    backdrop-filter: blur(14px) saturate(130%);
    touch-action: manipulation;
    transition: background .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease, transform .2s ease;
  }
  .lt-mobile-toggle::before,
  .lt-mobile-toggle::after,
  .lt-mobile-toggle span {
    grid-area: 1 / 1;
    width: 20px;
    height: 2px;
    margin: 0;
    border-radius: 999px;
    background: currentColor;
    transform-origin: center;
    transition: transform .22s ease, opacity .18s ease;
  }
  .lt-mobile-toggle::before { transform: translateY(-6px); }
  .lt-mobile-toggle span { transform: translateY(0); }
  .lt-mobile-toggle::after { transform: translateY(6px); }
  .lt-mobile-toggle[aria-expanded="true"] {
    border-color: var(--lt-green);
    background: var(--lt-green);
    color: #fff;
    box-shadow: 0 10px 24px rgba(26,124,8,.24);
  }
  .lt-mobile-toggle[aria-expanded="true"] span { opacity: 0; transform: scaleX(.4); }
  .lt-mobile-toggle[aria-expanded="true"]::before { transform: rotate(45deg); }
  .lt-mobile-toggle[aria-expanded="true"]::after { transform: rotate(-45deg); }
  .lt-mobile-toggle:active { transform: scale(.97); }

  .lt-mobile-nav-backdrop {
    position: fixed;
    z-index: 9985;
    top: var(--lt-header-height);
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    width: 100%;
    height: auto;
    padding: 0;
    border: 0;
    background: rgba(10,31,38,.32);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    -webkit-backdrop-filter: blur(3px);
    backdrop-filter: blur(3px);
    transition: opacity .22s ease, visibility .22s ease;
  }
  body.lt-nav-open .lt-mobile-nav-backdrop {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

  .lt-main-nav,
  body.lt-integrated-hero-header .lt-main-nav {
    position: fixed;
    z-index: 9992;
    top: calc(var(--lt-header-height) + 8px);
    right: 8px;
    bottom: 8px;
    left: auto;
    display: block;
    width: min(430px, calc(100% - 16px));
    height: auto;
    max-height: calc(100dvh - var(--lt-header-height) - 16px);
    margin: 0;
    padding: 12px 12px calc(12px + env(safe-area-inset-bottom, 0px));
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: rgba(73,119,74,.30) transparent;
    border: 1px solid rgba(84,129,84,.18);
    border-top: 1px solid rgba(84,129,84,.18);
    border-radius: 20px;
    background:
      radial-gradient(circle at 94% 0%, rgba(176,215,166,.17), transparent 28%),
      linear-gradient(180deg, rgba(253,255,253,.985), rgba(247,251,246,.985));
    box-shadow: 0 26px 70px rgba(12,42,25,.25), inset 0 1px 0 rgba(255,255,255,.88);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateX(calc(100% + 24px));
    transform-origin: right center;
    -webkit-backdrop-filter: blur(26px) saturate(140%);
    backdrop-filter: blur(26px) saturate(140%);
    transition: transform .26s cubic-bezier(.2,.8,.2,1), opacity .2s ease, visibility .26s ease;
  }
  .lt-main-nav::before {
    content: "";
    position: sticky;
    z-index: 3;
    top: -12px;
    display: block;
    height: 3px;
    margin: -12px -12px 10px;
    border-radius: 20px 20px 0 0;
    background: linear-gradient(90deg, var(--lt-green), #6db75f 62%, rgba(109,183,95,.18));
  }
  .lt-main-nav.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(0);
  }
  .lt-main-nav::-webkit-scrollbar { width: 5px; }
  .lt-main-nav::-webkit-scrollbar-thumb { border-radius: 999px; background: rgba(73,119,74,.28); }

  .lt-nav-list {
    display: grid;
    gap: 4px;
    align-items: stretch;
    width: 100%;
  }
  .lt-nav-item {
    position: relative;
    width: 100%;
  }
  .lt-nav-link,
  .lt-nav-trigger,
  body.lt-integrated-hero-header .lt-nav-link,
  body.lt-integrated-hero-header .lt-nav-trigger {
    width: 100%;
    min-height: 50px;
    justify-content: space-between;
    padding: 12px 13px;
    border: 1px solid transparent;
    border-radius: 11px;
    background: transparent;
    color: #304333;
    font-family: "Dosis", "Catamaran", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: .98rem;
    font-weight: 700;
    line-height: 1.25;
    text-align: left;
    text-shadow: none;
    white-space: normal;
    touch-action: manipulation;
    transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
  }
  .lt-nav-link::after,
  .lt-nav-trigger::after { display: none !important; }
  .lt-nav-link:hover,
  .lt-nav-trigger:hover,
  .lt-nav-link:focus-visible,
  .lt-nav-trigger:focus-visible {
    border-color: rgba(136,183,126,.24);
    background: rgba(237,246,233,.74);
    color: var(--lt-green);
    outline: none;
  }
  .lt-nav-link[aria-current="page"],
  .lt-nav-item.is-active > .lt-nav-trigger,
  .lt-nav-item.is-open > .lt-nav-trigger {
    border-color: rgba(126,174,116,.26);
    background: linear-gradient(90deg, rgba(235,246,231,.95), rgba(246,250,244,.88));
    color: var(--lt-green);
  }
  .lt-nav-item.is-open > .lt-nav-trigger svg { transform: rotate(180deg); }
  .lt-nav-trigger svg {
    width: 12px;
    height: 12px;
    flex: 0 0 auto;
    margin-left: 8px;
    color: #728276;
  }

  .lt-nav-dropdown,
  .lt-nav-dropdown--small,
  body.lt-integrated-hero-header .lt-nav-dropdown {
    position: static;
    display: block !important;
    width: 100%;
    max-height: 0;
    margin: 0;
    padding: 0 8px;
    overflow: hidden;
    border: 0 solid transparent;
    border-left-width: 0;
    border-radius: 12px;
    background: rgba(244,249,242,.64);
    box-shadow: none;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: none;
    transition: max-height .28s ease, opacity .18s ease, padding .22s ease, margin .22s ease, border-color .22s ease, visibility .22s ease;
  }
  .lt-nav-item.is-open > .lt-nav-dropdown,
  .lt-nav-item.is-open:hover > .lt-nav-dropdown,
  .lt-nav-item.is-open:focus-within > .lt-nav-dropdown,
  body.lt-integrated-hero-header .lt-nav-item.is-open > .lt-nav-dropdown {
    max-height: 1100px;
    margin: 4px 0 8px;
    padding: 9px;
    border: 1px solid rgba(164,194,156,.32);
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
  .lt-nav-item:hover > .lt-nav-dropdown,
  .lt-nav-item:focus-within > .lt-nav-dropdown { display: block !important; }
  .lt-menu-grid { grid-template-columns: 1fr; gap: 8px; }
  .lt-menu-primary,
  .lt-menu-column { gap: 5px; }
  .lt-menu-primary {
    padding: 7px;
    border: 1px solid rgba(157,193,149,.31);
    border-radius: 11px;
    background: linear-gradient(145deg, rgba(237,246,233,.94), rgba(249,252,248,.96));
  }
  .lt-menu-label {
    margin: 4px 8px 5px;
    color: #718072;
    font-size: .65rem;
    font-weight: 850;
    letter-spacing: .095em;
  }
  .lt-menu-link {
    grid-template-columns: 38px minmax(0,1fr);
    gap: 10px;
    min-height: 50px;
    padding: 10px;
    border: 1px solid transparent;
    border-radius: 10px;
    background: rgba(255,255,255,.52);
    color: #3c4d3f;
    touch-action: manipulation;
  }
  .lt-menu-link:hover,
  .lt-menu-link:focus-visible,
  .lt-menu-link[aria-current="page"] {
    border-color: rgba(151,190,142,.30);
    background: #fff;
    color: var(--lt-green);
    box-shadow: 0 7px 20px rgba(34,69,38,.08);
    outline: none;
  }
  .lt-menu-icon {
    width: 38px;
    height: 38px;
    border-radius: 9px;
    background: #fff;
    box-shadow: inset 0 0 0 1px rgba(169,200,161,.45), 0 4px 12px rgba(37,68,41,.05);
  }
  .lt-menu-title { font-size: .91rem; line-height: 1.28; }
  .lt-menu-note { margin-top: 3px; font-size: .73rem; line-height: 1.38; }
  .lt-menu-divider { margin: 6px 8px; background: rgba(175,201,168,.45); }

  .lt-mobile-nav-footer {
    position: sticky;
    z-index: 4;
    bottom: -1px;
    display: block;
    margin: 12px -2px -2px;
    padding: 12px 2px 2px;
    background: linear-gradient(180deg, rgba(249,252,248,0), rgba(249,252,248,.95) 25%, rgba(249,252,248,.99) 100%);
  }
  .lt-mobile-nav-appointment {
    display: grid;
    grid-template-columns: 42px minmax(0,1fr) 28px;
    gap: 11px;
    align-items: center;
    min-height: 68px;
    padding: 10px 11px;
    border: 1px solid rgba(255,255,255,.26);
    border-radius: 14px;
    background: linear-gradient(135deg, #1a7c08, #176c09 62%, #125b08);
    color: #fff !important;
    text-decoration: none;
    box-shadow: 0 13px 28px rgba(26,124,8,.23), inset 0 1px 0 rgba(255,255,255,.12);
    touch-action: manipulation;
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
  }
  .lt-mobile-nav-appointment:hover,
  .lt-mobile-nav-appointment:focus-visible {
    color: #fff !important;
    filter: brightness(1.035);
    box-shadow: 0 16px 32px rgba(26,124,8,.29), inset 0 1px 0 rgba(255,255,255,.14);
    outline: none;
    transform: translateY(-1px);
  }
  .lt-mobile-nav-appointment__icon {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 11px;
    background: rgba(255,255,255,.13);
    color: #fff;
  }
  .lt-mobile-nav-appointment__copy { min-width: 0; }
  .lt-mobile-nav-appointment__copy strong {
    display: block;
    color: #fff;
    font-family: "Dosis", "Catamaran", sans-serif;
    font-size: .92rem;
    font-weight: 750;
    line-height: 1.2;
  }
  .lt-mobile-nav-appointment__copy small {
    display: block;
    margin-top: 3px;
    color: rgba(255,255,255,.78);
    font-size: .69rem;
    font-weight: 520;
    line-height: 1.3;
  }
  .lt-mobile-nav-appointment__arrow {
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border-radius: 50%;
    background: rgba(255,255,255,.11);
    color: #fff;
    font-size: 1rem;
  }

  body.lt-nav-open .lt-go-top { opacity: 0; pointer-events: none; }
}

@media (max-width: 680px) {
  :root { --lt-header-height: 66px; }
  .lt-header-inner,
  body.lt-integrated-hero-header .lt-header-inner { width: calc(100% - 18px); }
  .lt-brand img,
  body.lt-integrated-hero-header .lt-brand img { width: clamp(146px, 42vw, 166px); max-height: 44px; }
  .lt-header-actions { gap: 6px; }
  .lt-language__trigger,
  body.lt-integrated-hero-header .lt-language__trigger { width: 45px; min-width: 45px; height: 42px; border-radius: 11px; padding: 0 7px; }
  .lt-mobile-toggle,
  body.lt-integrated-hero-header .lt-mobile-toggle { width: 44px; height: 42px; border-radius: 11px; }
  .lt-main-nav,
  body.lt-integrated-hero-header .lt-main-nav {
    top: calc(var(--lt-header-height) + 7px);
    right: 7px;
    bottom: 7px;
    width: calc(100% - 14px);
    max-height: calc(100dvh - var(--lt-header-height) - 14px);
    padding: 10px 10px calc(10px + env(safe-area-inset-bottom, 0px));
    border-radius: 18px;
  }
  .lt-main-nav::before { margin: -10px -10px 9px; border-radius: 18px 18px 0 0; }
  .lt-nav-link,
  .lt-nav-trigger,
  body.lt-integrated-hero-header .lt-nav-link,
  body.lt-integrated-hero-header .lt-nav-trigger { min-height: 48px; padding: 11px 12px; font-size: .94rem; }
  .lt-mobile-nav-appointment { min-height: 64px; border-radius: 13px; }
}

@media (max-width: 365px) {
  .lt-brand img,
  body.lt-integrated-hero-header .lt-brand img { width: 139px; }
  .lt-language__trigger,
  body.lt-integrated-hero-header .lt-language__trigger { width: 42px; min-width: 42px; padding: 0 6px; }
  .lt-language__trigger i { display: none; }
  .lt-mobile-toggle,
  body.lt-integrated-hero-header .lt-mobile-toggle { width: 42px; }
}


/* ==========================================================================
   Mobile menu reliability fix
   Body-state fallback makes the premium panel visible even if browser timing,
   caching or script execution delays the direct .is-open selector.
   ========================================================================== */
@media (max-width: 991px) {
  body.lt-nav-open .lt-main-nav,
  body.lt-nav-open.lt-integrated-hero-header .lt-main-nav {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translate3d(0,0,0) !important;
  }
  body.lt-nav-open .lt-mobile-toggle,
  body.lt-nav-open.lt-integrated-hero-header .lt-mobile-toggle {
    border-color: var(--lt-green);
    background: var(--lt-green);
    color: #fff;
    box-shadow: 0 10px 24px rgba(26,124,8,.24);
  }
  body.lt-nav-open .lt-mobile-toggle span { opacity: 0; transform: scaleX(.4); }
  body.lt-nav-open .lt-mobile-toggle::before { transform: rotate(45deg); }
  body.lt-nav-open .lt-mobile-toggle::after { transform: rotate(-45deg); }
}


/* ==========================================================================
   MOBILE NAVIGATION FINAL RELIABILITY FIX · 2026-08-12
   Root cause: the previous fixed panel combined top + bottom + height:auto +
   max-height. Chromium/WebKit can resolve this to a near-zero content height.
   The panel now has one explicit viewport-derived height and one state source.
   ========================================================================== */
@media (max-width: 991px) {
  html { overflow-x: hidden; }
  body.lt-nav-open { overflow: hidden !important; touch-action: none; }

  .lt-main-nav,
  body.lt-integrated-hero-header .lt-main-nav {
    position: fixed !important;
    top: calc(var(--lt-header-height) + 8px) !important;
    right: 8px !important;
    bottom: auto !important;
    left: auto !important;
    width: min(430px, calc(100vw - 16px)) !important;
    height: calc(100vh - var(--lt-header-height) - 16px) !important;
    height: calc(100dvh - var(--lt-header-height) - 16px) !important;
    min-height: 320px !important;
    max-height: none !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
  }

  .lt-main-nav.is-open,
  body.lt-nav-open .lt-main-nav,
  body.lt-nav-open.lt-integrated-hero-header .lt-main-nav {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translate3d(0,0,0) !important;
  }

  .lt-mobile-nav-backdrop {
    position: fixed !important;
    top: var(--lt-header-height) !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    height: auto !important;
  }

  body.lt-nav-open .lt-site-header,
  body.lt-integrated-hero-header.lt-nav-open .lt-site-header {
    z-index: 9995 !important;
  }

  body.lt-nav-open .lt-mobile-toggle {
    position: relative;
    z-index: 10005;
  }
}

@media (max-width: 680px) {
  .lt-main-nav,
  body.lt-integrated-hero-header .lt-main-nav {
    top: calc(var(--lt-header-height) + 7px) !important;
    right: 7px !important;
    width: calc(100vw - 14px) !important;
    height: calc(100vh - var(--lt-header-height) - 14px) !important;
    height: calc(100dvh - var(--lt-header-height) - 14px) !important;
    min-height: 300px !important;
  }
}

@media (max-height: 560px) and (max-width: 991px) {
  .lt-main-nav,
  body.lt-integrated-hero-header .lt-main-nav {
    min-height: 0 !important;
  }
}

/* ==========================================================================
   MOBILE NAVIGATION FINAL LAYOUT / CLIPPING REPAIR · 2026-08-12
   Fixes inherited desktop translate(-50%) on accordion dropdowns and removes
   the sticky footer overlay. Every mobile submenu is now constrained to the
   visible panel and may wrap safely without horizontal clipping.
   ========================================================================== */
@media (max-width: 991px) {
  .lt-main-nav,
  body.lt-integrated-hero-header .lt-main-nav {
    box-sizing: border-box !important;
    overflow-x: clip !important;
    padding-bottom: max(14px, env(safe-area-inset-bottom, 0px)) !important;
  }

  .lt-nav-list,
  .lt-nav-item,
  .lt-nav-dropdown,
  .lt-nav-dropdown--small,
  .lt-menu-grid,
  .lt-menu-primary,
  .lt-menu-column,
  .lt-menu-link,
  .lt-menu-link > span,
  .lt-menu-link > span:last-child,
  .lt-menu-title,
  .lt-menu-note {
    box-sizing: border-box !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .lt-nav-list {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  .lt-nav-item {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    margin: 0 !important;
    transform: none !important;
  }

  .lt-nav-dropdown,
  .lt-nav-dropdown--small,
  body.lt-integrated-hero-header .lt-nav-dropdown,
  body.lt-integrated-hero-header .lt-nav-dropdown--small,
  .lt-nav-item.is-open > .lt-nav-dropdown,
  .lt-nav-item.is-open:hover > .lt-nav-dropdown,
  .lt-nav-item.is-open:focus-within > .lt-nav-dropdown,
  body.lt-integrated-hero-header .lt-nav-item.is-open > .lt-nav-dropdown {
    position: static !important;
    inset: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    transform: none !important;
    translate: none !important;
    margin-inline: 0 !important;
    box-sizing: border-box !important;
    overflow-x: clip !important;
  }

  .lt-nav-dropdown,
  .lt-nav-dropdown--small,
  body.lt-integrated-hero-header .lt-nav-dropdown {
    display: block !important;
    max-height: 0 !important;
    margin-block: 0 !important;
    padding: 0 7px !important;
    border-width: 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  .lt-nav-item.is-open > .lt-nav-dropdown,
  .lt-nav-item.is-open:hover > .lt-nav-dropdown,
  .lt-nav-item.is-open:focus-within > .lt-nav-dropdown,
  body.lt-integrated-hero-header .lt-nav-item.is-open > .lt-nav-dropdown {
    max-height: 1400px !important;
    margin: 5px 0 9px !important;
    padding: 9px !important;
    border: 1px solid rgba(153,190,145,.34) !important;
    border-radius: 13px !important;
    background: linear-gradient(180deg, rgba(247,251,246,.98), rgba(253,255,253,.98)) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.92) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
  }

  .lt-menu-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 8px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
  }

  .lt-menu-primary,
  .lt-menu-column {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-content: start !important;
    width: 100% !important;
    margin: 0 !important;
    transform: none !important;
  }

  .lt-menu-primary {
    padding: 6px !important;
    border: 1px solid rgba(155,193,147,.28) !important;
    border-radius: 11px !important;
    background: linear-gradient(145deg, rgba(237,246,233,.95), rgba(249,252,248,.98)) !important;
  }

  .lt-menu-column {
    gap: 5px !important;
  }

  .lt-menu-label {
    max-width: 100% !important;
    margin: 4px 7px 5px !important;
    overflow: hidden !important;
    color: #728075 !important;
    font-size: .64rem !important;
    line-height: 1.2 !important;
    letter-spacing: .085em !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .lt-menu-link {
    display: grid !important;
    grid-template-columns: 36px minmax(0, 1fr) !important;
    gap: 10px !important;
    align-items: center !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 10px !important;
    overflow: hidden !important;
    border-radius: 10px !important;
    transform: none !important;
  }

  .lt-menu-link > span:last-child {
    display: block !important;
    width: 100% !important;
    overflow: hidden !important;
  }

  .lt-menu-icon {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    flex: 0 0 36px !important;
  }

  .lt-menu-title,
  .lt-menu-note {
    display: block !important;
    width: 100% !important;
    overflow: visible !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    -webkit-hyphens: auto;
    hyphens: auto;
    white-space: normal !important;
  }

  .lt-menu-title {
    color: #295f20 !important;
    font-size: .91rem !important;
    font-weight: 780 !important;
    line-height: 1.27 !important;
  }

  .lt-menu-note {
    margin-top: 3px !important;
    color: #68746a !important;
    font-size: .73rem !important;
    line-height: 1.38 !important;
  }

  .lt-menu-divider {
    width: auto !important;
    max-width: 100% !important;
    margin: 6px 7px !important;
  }

  /* Keep the appointment CTA in normal flow so it never covers navigation. */
  .lt-mobile-nav-footer {
    position: static !important;
    inset: auto !important;
    display: block !important;
    width: 100% !important;
    margin: 13px 0 0 !important;
    padding: 13px 0 0 !important;
    border-top: 1px solid rgba(161,191,154,.38) !important;
    background: transparent !important;
    transform: none !important;
  }

  .lt-mobile-nav-appointment {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  .lt-mobile-nav-appointment__copy,
  .lt-mobile-nav-appointment__copy strong,
  .lt-mobile-nav-appointment__copy small {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-wrap: break-word !important;
    white-space: normal !important;
  }
}

@media (max-width: 430px) {
  .lt-main-nav,
  body.lt-integrated-hero-header .lt-main-nav {
    right: 6px !important;
    width: calc(100vw - 12px) !important;
    padding-right: 9px !important;
    padding-left: 9px !important;
    border-radius: 17px !important;
  }

  .lt-nav-link,
  .lt-nav-trigger,
  body.lt-integrated-hero-header .lt-nav-link,
  body.lt-integrated-hero-header .lt-nav-trigger {
    padding-inline: 11px !important;
  }

  .lt-nav-item.is-open > .lt-nav-dropdown,
  body.lt-integrated-hero-header .lt-nav-item.is-open > .lt-nav-dropdown {
    padding: 7px !important;
  }

  .lt-menu-link {
    grid-template-columns: 34px minmax(0, 1fr) !important;
    gap: 9px !important;
    padding: 9px !important;
  }

  .lt-menu-icon {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
  }

  .lt-menu-title { font-size: .88rem !important; }
  .lt-menu-note { font-size: .71rem !important; }
}

@media (max-width: 360px) {
  .lt-menu-link {
    grid-template-columns: 32px minmax(0, 1fr) !important;
    gap: 8px !important;
  }
  .lt-menu-icon {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    max-width: 32px !important;
  }
  .lt-menu-title { font-size: .85rem !important; }
  .lt-menu-note { font-size: .69rem !important; }
  .lt-mobile-nav-appointment__copy small { font-size: .66rem !important; }
}

/* Mobile width containment hardening. */
@media (max-width: 991px) {
  .lt-nav-link,
  .lt-nav-trigger,
  body.lt-integrated-hero-header .lt-nav-link,
  body.lt-integrated-hero-header .lt-nav-trigger {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
    overflow: hidden !important;
  }

  .lt-main-nav::before,
  body.lt-integrated-hero-header .lt-main-nav::before {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    left: 0 !important;
    width: auto !important;
    height: 3px !important;
    margin: 0 !important;
    border-radius: 20px 20px 0 0 !important;
    pointer-events: none !important;
  }
}


/* ==========================================================================
   MOBILE HOMEPAGE PREMIUM HERO RECOMPOSITION · 2026-08-12
   A dedicated mobile composition: one continuous Alpine canvas from headline
   through portrait, compact trust chips, a restrained proof card and a smooth
   hand-off into 2x2 proof facts. Desktop exact-reference styling is untouched.
   ========================================================================== */
@media (max-width: 991px) {
  body.lt-integrated-hero-header.lt-integrated-hero-home {
    --lt-integrated-bg-height: var(--lt-header-height);
  }

  /* The header keeps its glass canvas. The hero owns its own uninterrupted
     mountain background so it can grow naturally with translated copy. */
  body.lt-integrated-hero-header.lt-integrated-hero-home::after {
    display: none !important;
  }

  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-hero {
    min-height: 0 !important;
    height: auto !important;
    overflow: hidden !important;
    padding: 0 0 24px !important;
    border-bottom: 1px solid rgba(126,159,120,.20);
    background:
      radial-gradient(circle at 8% 4%, rgba(255,255,255,.92) 0%, rgba(255,255,255,.62) 23%, rgba(255,255,255,.15) 49%, rgba(255,255,255,0) 65%),
      linear-gradient(180deg, rgba(248,251,252,.30) 0%, rgba(255,255,255,.18) 40%, rgba(255,255,255,.04) 70%, rgba(225,235,231,.12) 100%),
      linear-gradient(90deg, rgba(255,255,255,.74) 0%, rgba(255,255,255,.42) 50%, rgba(255,255,255,.08) 100%),
      url('/assets/img/schweiz-1200.webp') 61% center / cover no-repeat !important;
  }

  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-hero::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    inset: auto 0 0 !important;
    height: 190px !important;
    pointer-events: none !important;
    z-index: 0 !important;
    background:
      linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(240,246,242,.10) 42%, rgba(230,239,233,.30) 100%),
      radial-gradient(70% 58% at 50% 100%, rgba(38,61,48,.20) 0%, rgba(38,61,48,.07) 42%, rgba(38,61,48,0) 77%) !important;
    opacity: 1 !important;
    mask-image: none !important;
  }

  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-hero__grid {
    position: relative;
    z-index: 1;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    min-height: 0 !important;
    height: auto !important;
    gap: 8px !important;
    align-items: start !important;
  }

  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-hero__copy {
    max-width: 720px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 34px 0 10px !important;
  }

  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-hero .lt-eyebrow {
    margin-bottom: 11px !important;
    font-size: .67rem !important;
    letter-spacing: .075em !important;
    line-height: 1.35 !important;
  }

  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-hero h1 {
    max-width: 680px !important;
    margin-bottom: 14px !important;
    font-size: clamp(2rem, 7.4vw, 2.75rem) !important;
    line-height: 1.055 !important;
    letter-spacing: -.032em !important;
  }

  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-hero__copy .lt-lead {
    max-width: 650px !important;
    margin-bottom: 0 !important;
    color: #445148 !important;
    font-size: .98rem !important;
    line-height: 1.58 !important;
  }

  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-hero__copy .lt-actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 10px !important;
    margin-top: 20px !important;
  }

  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-hero__copy .lt-actions .lt-btn {
    min-height: 48px !important;
    width: 100% !important;
    justify-content: center !important;
    padding: 11px 13px !important;
    border-radius: 9px !important;
    font-size: .82rem !important;
    line-height: 1.2 !important;
    box-shadow: 0 10px 24px rgba(31,68,36,.12) !important;
  }

  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-hero__meta {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 7px !important;
    max-width: 600px !important;
    margin-top: 15px !important;
  }

  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-hero__meta span {
    width: fit-content !important;
    max-width: 100% !important;
    min-height: 33px !important;
    padding: 7px 10px !important;
    border: 1px solid rgba(147,177,140,.32) !important;
    border-radius: 8px !important;
    background: rgba(255,255,255,.82) !important;
    color: #4e5b51 !important;
    font-size: .76rem !important;
    font-weight: 700 !important;
    line-height: 1.28 !important;
    box-shadow: 0 7px 19px rgba(28,56,35,.07) !important;
    -webkit-backdrop-filter: blur(8px) saturate(112%);
    backdrop-filter: blur(8px) saturate(112%);
  }

  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-hero__visual {
    position: relative !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    justify-items: center !important;
    align-items: end !important;
    min-height: 0 !important;
    max-width: 590px !important;
    width: 100% !important;
    margin: 3px auto 0 !important;
    padding: 0 0 6px !important;
    overflow: visible !important;
  }

  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-hero__visual::before {
    content: "" !important;
    position: absolute !important;
    z-index: 1 !important;
    right: 50% !important;
    bottom: 50px !important;
    width: min(92vw, 440px) !important;
    height: 125px !important;
    transform: translateX(50%) !important;
    border-radius: 50% !important;
    pointer-events: none !important;
    background: radial-gradient(ellipse at center, rgba(30,48,39,.25) 0%, rgba(30,48,39,.11) 38%, rgba(30,48,39,0) 73%) !important;
  }

  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-hero__visual::after {
    display: none !important;
  }

  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-hero__visual picture {
    position: relative !important;
    z-index: 2 !important;
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
    margin: 0 !important;
  }

  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-hero__portrait {
    position: relative !important;
    right: auto !important;
    bottom: auto !important;
    display: block !important;
    width: auto !important;
    max-width: min(82vw, 430px) !important;
    height: auto !important;
    max-height: 430px !important;
    margin: 0 auto !important;
    transform: none !important;
    object-position: center bottom !important;
    filter: drop-shadow(0 18px 27px rgba(23,43,31,.17)) !important;
  }

  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-hero__proof {
    position: relative !important;
    z-index: 4 !important;
    right: auto !important;
    bottom: auto !important;
    width: min(92%, 390px) !important;
    margin: -58px auto 0 !important;
    padding: 15px 17px !important;
    transform: none !important;
    border: 1px solid rgba(156,186,149,.64) !important;
    border-left: 4px solid var(--lt-green) !important;
    border-radius: 12px !important;
    background: rgba(255,255,255,.92) !important;
    box-shadow: 0 18px 38px rgba(27,54,34,.15) !important;
    -webkit-backdrop-filter: blur(15px) saturate(118%);
    backdrop-filter: blur(15px) saturate(118%);
  }

  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-hero__proof strong {
    margin-bottom: 4px !important;
    color: #2c3f31 !important;
    font-size: .93rem !important;
    line-height: 1.3 !important;
  }

  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-hero__proof span {
    color: #657068 !important;
    font-size: .75rem !important;
    line-height: 1.45 !important;
  }

  /* Bridge the hero into proof facts instead of starting with four oversized
     full-width cards. */
  .lt-home-luxury .lt-home-kpis {
    position: relative !important;
    z-index: 3 !important;
    margin-top: -12px !important;
    padding: 0 0 34px !important;
    background: linear-gradient(180deg, rgba(246,249,245,.98), #fff 78%) !important;
  }

  .lt-home-luxury .lt-home-kpis .lt-grid-4 {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .lt-home-luxury .lt-home-kpis .lt-kpi {
    min-width: 0 !important;
    min-height: 118px !important;
    padding: 17px 15px 15px !important;
    border: 1px solid rgba(174,201,168,.58) !important;
    border-radius: 12px !important;
    background: linear-gradient(155deg, rgba(255,255,255,.98), rgba(248,251,247,.97)) !important;
    box-shadow: 0 13px 30px rgba(31,60,37,.075) !important;
  }

  .lt-home-luxury .lt-home-kpis .lt-kpi::before {
    height: 3px !important;
  }

  .lt-home-luxury .lt-home-kpis .lt-kpi strong {
    overflow-wrap: anywhere !important;
    color: #18770d !important;
    font-size: clamp(1.18rem, 4.9vw, 1.48rem) !important;
    line-height: 1.08 !important;
  }

  .lt-home-luxury .lt-home-kpis .lt-kpi span {
    margin-top: 7px !important;
    color: #667169 !important;
    font-size: .72rem !important;
    line-height: 1.38 !important;
  }
}

@media (max-width: 680px) {
  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-hero {
    padding-bottom: 20px !important;
    background:
      radial-gradient(circle at 6% 3%, rgba(255,255,255,.94) 0%, rgba(255,255,255,.70) 24%, rgba(255,255,255,.14) 54%, rgba(255,255,255,0) 67%),
      linear-gradient(180deg, rgba(250,252,253,.32) 0%, rgba(255,255,255,.15) 40%, rgba(255,255,255,.03) 72%, rgba(228,238,232,.13) 100%),
      url('/assets/img/schweiz-800.webp') 63% center / cover no-repeat !important;
  }

  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-hero__copy {
    padding-top: 28px !important;
  }

  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-hero h1 {
    font-size: clamp(1.9rem, 8vw, 2.35rem) !important;
  }

  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-hero__copy .lt-actions {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 8px !important;
  }

  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-hero__copy .lt-actions .lt-btn {
    min-height: 46px !important;
    font-size: .84rem !important;
  }

  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-hero__portrait {
    max-width: min(88vw, 390px) !important;
    max-height: 385px !important;
  }

  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-hero__proof {
    width: min(94%, 360px) !important;
    margin-top: -52px !important;
  }

  .lt-home-luxury .lt-home-kpis {
    margin-top: -8px !important;
  }
}

@media (max-width: 350px) {
  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-hero__copy {
    padding-top: 24px !important;
  }

  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-hero h1 {
    font-size: 1.76rem !important;
  }

  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-hero__portrait {
    max-height: 345px !important;
  }

  .lt-home-luxury .lt-home-kpis .lt-grid-4 {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .lt-home-luxury .lt-home-kpis .lt-kpi {
    min-height: 0 !important;
  }
}

/* Mobile proof-card containment refinement. */
@media (max-width: 991px) {
  body.lt-integrated-hero-header.lt-integrated-hero-home .lt-hero__proof {
    box-sizing: border-box !important;
    width: min(calc(100% - 20px), 360px) !important;
  }
}


/* ==========================================================================
   2026-08-12 – Desktop section luxury polish
   Refines statement, process, proof links and closing CTA for a more premium,
   calmer and more convincing desktop presentation while preserving mobile.
   ========================================================================== */
@media (min-width: 992px) {
  .lt-home-luxury .lt-home-statement {
    padding-top: 28px;
  }
  .lt-home-luxury .lt-home-statement::before {
    inset: 12px 0;
    border-top-color: rgba(188,208,181,.26);
    border-bottom-color: rgba(188,208,181,.16);
    background: linear-gradient(180deg, rgba(245,249,243,.58), rgba(255,255,255,.84));
  }
  .lt-home-luxury .lt-home-statement .lt-statement {
    min-height: 136px;
    padding: 40px 46px 42px 46px;
    border-radius: 26px;
    border-color: rgba(190,210,184,.9);
    background:
      radial-gradient(circle at 86% 18%, rgba(151,197,137,.12) 0%, rgba(151,197,137,0) 18%),
      linear-gradient(135deg, rgba(252,254,251,.98) 0%, rgba(244,249,241,.96) 52%, rgba(255,255,255,.98) 100%);
    box-shadow:
      0 26px 60px rgba(29, 57, 34, .10),
      inset 0 1px 0 rgba(255,255,255,.90);
  }
  .lt-home-luxury .lt-home-statement .lt-statement::before {
    top: 18px;
    bottom: 18px;
    width: 6px;
    border-radius: 999px;
    background: linear-gradient(180deg, #278715 0%, #83c66f 100%);
    box-shadow: 0 0 0 4px rgba(110, 183, 89, .10);
  }
  .lt-home-luxury .lt-home-statement .lt-statement::after {
    content: "";
    position: absolute;
    right: 22px;
    top: 20px;
    width: 148px;
    height: 148px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(155, 199, 145, .13) 0%, rgba(155, 199, 145, 0) 70%);
    pointer-events: none;
  }
  .lt-home-luxury .lt-home-statement .lt-statement p {
    position: relative;
    z-index: 1;
    max-width: 1040px;
    font-size: clamp(1.62rem, 2vw, 2.28rem);
    line-height: 1.48;
    letter-spacing: -.02em;
    font-weight: 780;
    color: #516055;
  }

  .lt-home-luxury .lt-home-process .lt-process {
    gap: 18px;
    align-items: stretch;
  }
  .lt-home-luxury .lt-home-process .lt-process__step {
    min-height: 240px;
    padding: 84px 20px 26px;
    border-radius: 22px;
    border-color: rgba(190,210,184,.88);
    background:
      radial-gradient(circle at 88% 14%, rgba(151, 197, 138, .10) 0%, rgba(151,197,138,0) 23%),
      linear-gradient(180deg, rgba(255,255,255,.99) 0%, rgba(246,250,244,.96) 100%);
    box-shadow:
      0 18px 42px rgba(29, 57, 34, .08),
      inset 0 1px 0 rgba(255,255,255,.95);
    transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
  }
  .lt-home-luxury .lt-home-process .lt-process__step:hover {
    transform: translateY(-8px);
    border-color: rgba(157, 192, 149, .96);
    box-shadow: 0 24px 48px rgba(29, 57, 34, .14);
  }
  .lt-home-luxury .lt-home-process .lt-process__step::before {
    top: 18px;
    left: 18px;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: linear-gradient(180deg, #eff8ec 0%, #e4f1df 100%);
    box-shadow:
      inset 0 0 0 1px rgba(133,184,119,.55),
      0 12px 22px rgba(86, 140, 73, .10);
  }
  .lt-home-luxury .lt-home-process .lt-process__step::after {
    top: 37px;
    right: -17px;
    width: 22px;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(135, 182, 122, .92), rgba(135, 182, 122, .18));
  }
  .lt-home-luxury .lt-home-process .lt-process__step h3 {
    min-height: 0;
    margin-bottom: 16px;
    font-size: 1.12rem;
    line-height: 1.14;
    letter-spacing: -.02em;
    color: #2f3d31;
  }
  .lt-home-luxury .lt-home-process .lt-process__step p {
    font-size: .99rem;
    line-height: 1.62;
    color: #667369;
  }

  .lt-home-luxury .lt-home-proof .lt-proof-showcase {
    padding: 18px;
    border-radius: 30px;
    border-color: rgba(191,212,185,.82);
    background:
      radial-gradient(circle at 90% 12%, rgba(158, 198, 149, .11), rgba(158,198,149,0) 24%),
      linear-gradient(135deg, rgba(255,255,255,.95), rgba(247,251,245,.96));
    box-shadow: 0 26px 54px rgba(29, 57, 34, .10);
  }
  .lt-home-luxury .lt-home-proof .lt-proof-links {
    gap: 14px;
  }
  .lt-home-luxury .lt-home-proof .lt-proof-link {
    position: relative;
    overflow: hidden;
    grid-template-columns: 54px minmax(0,1fr) 38px;
    gap: 16px;
    align-items: center;
    padding: 17px 18px;
    border-radius: 18px;
    border-color: rgba(194,213,189,.95);
    background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(247,250,245,.95));
    box-shadow: 0 14px 32px rgba(29, 57, 34, .07);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease;
  }
  .lt-home-luxury .lt-home-proof .lt-proof-link::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 100% 0%, rgba(155, 198, 144, .10), rgba(155,198,144,0) 34%);
    pointer-events: none;
  }
  .lt-home-luxury .lt-home-proof .lt-proof-link:hover {
    transform: translateX(4px) translateY(-2px);
    border-color: rgba(168, 198, 160, .98);
    background: linear-gradient(135deg, rgba(252,254,251,.98), rgba(243,248,240,.98));
    box-shadow: 0 18px 38px rgba(29, 57, 34, .12);
    color: #2f7130;
  }
  .lt-home-luxury .lt-home-proof .lt-proof-link__icon {
    width: 54px;
    height: 54px;
    border-radius: 16px;
    background: linear-gradient(135deg, #eef8ea, #ddecda);
    color: #2c7931;
    box-shadow: inset 0 0 0 1px rgba(144, 186, 134, .55);
  }
  .lt-home-luxury .lt-home-proof .lt-proof-link:nth-child(1) .lt-proof-link__icon { background: linear-gradient(135deg, #edf8eb, #dcefd8); }
  .lt-home-luxury .lt-home-proof .lt-proof-link:nth-child(2) .lt-proof-link__icon { background: linear-gradient(135deg, #eef8ef, #dfeee1); }
  .lt-home-luxury .lt-home-proof .lt-proof-link:nth-child(3) .lt-proof-link__icon { background: linear-gradient(135deg, #eef6fb, #dceaf8); color: #2d6b9b; box-shadow: inset 0 0 0 1px rgba(123, 172, 215, .46); }
  .lt-home-luxury .lt-home-proof .lt-proof-link:nth-child(4) .lt-proof-link__icon { background: linear-gradient(135deg, #f2f8ea, #e4f0d8); }
  .lt-home-luxury .lt-home-proof .lt-proof-link strong {
    position: relative;
    z-index: 1;
    font-size: 1.18rem;
    letter-spacing: -.01em;
    color: #374438;
  }
  .lt-home-luxury .lt-home-proof .lt-proof-link span {
    position: relative;
    z-index: 1;
    margin-top: 4px;
    font-size: .92rem;
    line-height: 1.52;
    color: #6a766b;
  }
  .lt-home-luxury .lt-home-proof .lt-proof-link__arrow {
    position: relative;
    z-index: 1;
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(56, 123, 56, .08);
    color: #3d7540;
    transition: transform .22s ease, background .22s ease, color .22s ease;
  }
  .lt-home-luxury .lt-home-proof .lt-proof-link:hover .lt-proof-link__arrow {
    transform: translateX(3px);
    background: #2d7b1f;
    color: #fff;
  }

  .lt-home-luxury .lt-home-closing {
    padding-top: 12px;
  }
  .lt-home-luxury .lt-home-closing .lt-closing {
    padding: 60px 62px;
    border-radius: 30px;
    border: 1px solid rgba(138, 176, 206, .24);
    background:
      radial-gradient(circle at 88% 12%, rgba(90, 142, 199, .24) 0%, rgba(90,142,199,0) 22%),
      radial-gradient(circle at 10% 88%, rgba(52, 172, 120, .14) 0%, rgba(52,172,120,0) 26%),
      linear-gradient(135deg, #072847 0%, #0b3d63 46%, #0d5572 100%);
    box-shadow:
      0 28px 68px rgba(4,44,76,.26),
      inset 0 1px 0 rgba(255,255,255,.05);
  }
  .lt-home-luxury .lt-home-closing .lt-closing::after {
    right: -36px;
    top: -60px;
    width: 320px;
    height: 320px;
    border-color: rgba(255,255,255,.10);
    box-shadow: 0 0 0 58px rgba(255,255,255,.03), 0 0 0 116px rgba(255,255,255,.022);
  }
  .lt-home-luxury .lt-home-closing .lt-closing__inner {
    max-width: 920px;
  }
  .lt-home-luxury .lt-home-closing .lt-section__eyebrow {
    color: #ffb641;
    letter-spacing: .14em;
  }
  .lt-home-luxury .lt-home-closing h2 {
    max-width: 980px;
    margin-bottom: 18px;
    font-size: clamp(2.65rem, 4.05vw, 4.1rem);
    line-height: 1.06;
    letter-spacing: -.035em;
    color: #f5fbff;
  }
  .lt-home-luxury .lt-home-closing p {
    max-width: 860px;
    margin-bottom: 28px;
    font-size: 1.24rem;
    line-height: 1.64;
    color: rgba(223,236,244,.94);
  }
  .lt-home-luxury .lt-home-closing .lt-actions {
    gap: 14px;
    margin-top: 10px;
  }
  .lt-home-luxury .lt-home-closing .lt-btn {
    min-height: 56px;
    padding: 16px 26px;
    border-radius: 16px;
    font-size: 1rem;
    font-weight: 780;
    letter-spacing: -.01em;
  }
  .lt-home-luxury .lt-home-closing .lt-btn--light {
    border-color: rgba(255,255,255,.44);
    background: rgba(255,255,255,.96);
    color: #277615;
    box-shadow: 0 18px 34px rgba(3, 28, 49, .18);
  }
  .lt-home-luxury .lt-home-closing .lt-btn--light:hover {
    background: #ffffff;
    border-color: rgba(255,255,255,.72);
    color: #1f6412;
  }
  .lt-home-luxury .lt-home-closing .lt-btn--secondary {
    border-color: rgba(106,133,255,.36);
    background: linear-gradient(135deg, #4f67e9, #4258d1);
    color: #fff;
    box-shadow: 0 16px 34px rgba(37, 60, 180, .26);
  }
  .lt-home-luxury .lt-home-closing .lt-btn--secondary:hover {
    background: linear-gradient(135deg, #4158db, #364cc5);
    border-color: rgba(106,133,255,.52);
    color: #fff;
  }
}

@media (max-width: 991px) {
  .lt-home-luxury .lt-home-statement .lt-statement p {
    color: #556259;
  }
  .lt-home-luxury .lt-home-proof .lt-proof-link strong {
    color: #374438;
  }
  .lt-home-luxury .lt-home-closing .lt-closing {
    background:
      radial-gradient(circle at 88% 10%, rgba(84,136,192,.20) 0%, rgba(84,136,192,0) 20%),
      linear-gradient(135deg, #072847 0%, #0b3d63 52%, #0d5572 100%);
  }
}
