/* Heizungssysteme.org – Wärme der Zukunft */
.hs-design-active {
  --hs-ink: #071e30;
  --hs-ink-soft: #123149;
  --hs-paper: #f6f4ef;
  --hs-white: #fff;
  --hs-copper: #f07139;
  --hs-copper-dark: #d85923;
  --hs-teal: #255d62;
  --hs-text: #102436;
  --hs-muted: #657584;
  --hs-line: #dce1e3;
  --hs-shadow: 0 22px 60px rgba(7, 30, 48, .12);
  --hs-radius: 22px;
  --hs-site: 1400px;
  --hs-content: 1380px;
  --hs-hero-x: 0px;
  --hs-hero-y: 0px;
  background: var(--hs-paper);
  color: var(--hs-text);
  font-family: "Segoe UI Variable", "Aptos", "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
}

body.hs-design-active.boxed-layout #tie-wrapper {
  width: min(100%, var(--hs-site)) !important;
  max-width: var(--hs-site) !important;
  margin-inline: auto !important;
  box-shadow: var(--hs-shadow) !important;
}

.hs-design-active a { transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease; }
.hs-shell { width: min(calc(100% - 64px), var(--hs-content)); margin-inline: auto; }

/* Global header: the existing Jannah menu remains intact and is styled once. */
.hs-design-active #theme-header {
  position: relative;
  z-index: 999;
  margin: 0;
  border: 0;
  background: var(--hs-ink);
  box-shadow: none;
  font-family: inherit;
}

.hs-design-active #theme-header .main-nav-wrapper,
.hs-design-active #theme-header #main-nav {
  border: 0 !important;
  background: var(--hs-ink) !important;
  box-shadow: none !important;
}

.hs-design-active #theme-header #main-nav .main-menu-wrapper {
  background: transparent !important;
  box-shadow: none !important;
}

.hs-design-active #theme-header #top-nav {
  display: none !important;
}

.hs-design-active #theme-header #main-nav .container,
.hs-design-active #footer .container {
  width: min(calc(100% - 64px), var(--hs-content)) !important;
  max-width: var(--hs-content) !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
}

.home.hs-design-active #content { margin-top: 0 !important; }

.hs-global-logo { flex: 0 0 auto; margin: 0 auto 0 0 !important; padding: 0 !important; }
.hs-global-logo > a,
.hs-footer-brand__link {
  display: inline-flex !important;
  align-items: center;
  gap: 11px;
  min-width: max-content;
  color: #fff !important;
}
.hs-global-logo__icon,
.hs-footer-brand__link > img { width: 53px !important; height: 48px !important; object-fit: cover; object-position: left center; border-radius: 2px; }
.hs-global-logo__wordmark { color: #fff; font-size: clamp(20px, 1.6vw, 26px); font-weight: 750; letter-spacing: -.045em; line-height: 1; white-space: nowrap; }
.hs-global-logo__wordmark > span { color: var(--hs-copper); }

@media (min-width: 992px) {
  .hs-shell-ready #theme-header .header-container { display: none !important; }
  .hs-design-active #theme-header #main-nav.fixed {
    width: min(100%, var(--hs-site)) !important;
    max-width: var(--hs-site) !important;
    left: max(0px, calc((100% - var(--hs-site)) / 2)) !important;
    right: auto !important;
  }
  .hs-design-active #theme-header,
  .hs-design-active #theme-header .main-nav-wrapper,
  .hs-design-active #theme-header #main-nav,
  .hs-design-active #theme-header #main-nav .container,
  .hs-design-active #theme-header #main-nav .main-menu-wrapper { min-height: 84px; }
  .hs-design-active #theme-header #main-nav .main-menu-wrapper { display: flex; align-items: center; width: 100%; border-bottom: 1px solid rgba(255,255,255,.17); }
  .hs-design-active #theme-header #main-nav .main-menu { float: none; }
  .hs-design-active #theme-header #main-nav .menu > li > a {
    height: 84px;
    padding: 0 17px;
    color: rgba(255,255,255,.88) !important;
    font-size: 17.4px;
    font-weight: 560;
    line-height: 84px;
  }
  .hs-design-active #theme-header #main-nav .menu > li > a:hover,
  .hs-design-active #theme-header #main-nav .menu > li.current-menu-item > a,
  .hs-design-active #theme-header #main-nav .menu > li.current-menu-ancestor > a { color: #fff !important; background: transparent !important; }
  .hs-design-active #theme-header #main-nav .menu > li > a::after { background: var(--hs-copper); }
  .hs-design-active #theme-header #main-nav .components > li > a { height: 84px; color: #fff !important; line-height: 84px; }
  .hs-design-active #theme-header #main-nav .sub-menu { border-top-color: var(--hs-copper); }
}

/* Global footer: a clean open layout, enhanced once and kept out of article fragments. */
.hs-design-active #footer {
  position: relative;
  overflow: hidden;
  margin: 0;
  border: 0;
  color: rgba(255,255,255,.7);
  background: #041522;
  font-family: inherit;
}
.hs-design-active #footer::before {
  content: "";
  position: absolute;
  width: 520px;
  height: 520px;
  right: -220px;
  top: -310px;
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 50%;
  box-shadow: 0 0 0 72px rgba(255,255,255,.025), 0 0 0 144px rgba(255,255,255,.015);
  pointer-events: none;
}
.hs-design-active #footer-widgets-container { position: relative; z-index: 1; padding: 0; background: transparent; }
.hs-footer-panel {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(150px, .72fr) minmax(140px, .55fr);
  gap: clamp(48px, 7vw, 110px);
  padding: 68px 0 58px;
  border-top: 3px solid var(--hs-copper);
}
.hs-footer-brand { max-width: 510px; }
.hs-footer-brand__link { margin-bottom: 25px; }
.hs-footer-brand p { max-width: 480px; margin: 0; color: rgba(255,255,255,.62); font-size: 15px; line-height: 1.75; }
.hs-footer-promise { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 25px; color: rgba(255,255,255,.48); font-size: 12px; font-weight: 650; letter-spacing: .04em; }
.hs-footer-promise span { position: relative; }
.hs-footer-promise span + span::before { content: ""; position: absolute; width: 4px; height: 4px; left: -11px; top: 50%; border-radius: 50%; background: var(--hs-copper); transform: translateY(-50%); }
.hs-footer-group { min-width: 0; padding-top: 8px; }
.hs-footer-group__title { display: block; margin-bottom: 22px; color: rgba(255,255,255,.42); font-size: 11px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.hs-footer-links { display: grid; gap: 14px; }
.hs-footer-links a { width: max-content; max-width: 100%; color: rgba(255,255,255,.77) !important; font-size: 15px; font-weight: 620; text-decoration: none !important; }
.hs-footer-links a:hover { color: #fff !important; transform: translateX(3px); }
.hs-design-active #footer .footer-widget-area { display: none !important; }
.hs-design-active #site-info { position: relative; z-index: 1; padding: 22px 0; border-top: 1px solid rgba(255,255,255,.09); color: rgba(255,255,255,.42); background: #03111b; font-size: 12px; }
.hs-design-active #site-info .container { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.hs-design-active #site-info .copyright-text { float: none; }

/* Homepage */
.hs-home { display: block; width: 100%; margin: 0; padding: 0; color: var(--hs-text); background: var(--hs-paper); }
.hs-hero { position: relative; min-height: min(690px, 84vh); display: grid; align-items: center; overflow: hidden; color: #fff; background: var(--hs-ink); isolation: isolate; }
.hs-hero__media,
.hs-hero__media img,
.hs-hero__shade,
.hs-hero__glow,
.hs-hero__snow { position: absolute; inset: 0; width: 100%; height: 100%; }
.hs-hero__media { z-index: -4; margin: 0; overflow: hidden; }
.hs-hero__media img { max-width: none; object-fit: cover; object-position: center; transform: translate3d(var(--hs-hero-x), var(--hs-hero-y), 0) scale(1.035); animation: hs-hero-breathe 16s ease-in-out infinite alternate; will-change: transform; }
.hs-hero__shade { z-index: -3; background: linear-gradient(90deg, rgba(3,18,30,.91) 0%, rgba(3,18,30,.72) 35%, rgba(3,18,30,.12) 66%, rgba(3,18,30,.1) 100%), linear-gradient(0deg, rgba(4,21,34,.34), transparent 45%); }
.hs-hero__glow { z-index: -2; left: -20%; width: 70%; background: radial-gradient(ellipse at 45% 70%, rgba(38,109,116,.23), transparent 62%); animation: hs-glow-drift 11s ease-in-out infinite alternate; }
.hs-hero__snow { z-index: -1; opacity: .35; background-image: radial-gradient(circle, rgba(255,255,255,.82) 0 1px, transparent 1.5px), radial-gradient(circle, rgba(255,255,255,.6) 0 1.2px, transparent 1.8px); background-size: 150px 180px, 220px 260px; background-position: 20px -40px, 90px -130px; animation: hs-snow-fall 18s linear infinite; -webkit-mask-image: linear-gradient(90deg, #000 0%, transparent 72%); mask-image: linear-gradient(90deg, #000 0%, transparent 72%); }
.hs-hero__inner { position: relative; z-index: 1; margin-block: 52px; }
.hs-eyebrow { margin: 0 0 18px; color: rgba(255,255,255,.72); font-size: 12px; font-weight: 750; letter-spacing: .28em; line-height: 1.2; text-transform: uppercase; }
.hs-eyebrow--dark { color: var(--hs-teal); }
.hs-hero h1 { max-width: 780px; margin: 0; color: #fff; font-family: inherit; font-size: clamp(51px, 5.25vw, 88px); font-weight: 720; letter-spacing: -.056em; line-height: .98; text-wrap: balance; }
.hs-hero__copy { max-width: 610px; margin: 26px 0 0; color: rgba(255,255,255,.82); font-size: clamp(16px, 1.35vw, 20px); line-height: 1.6; }
.hs-hero__actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
.hs-button { min-height: 54px; display: inline-flex; align-items: center; justify-content: center; gap: 18px; padding: 0 26px; border: 1px solid transparent; border-radius: 999px; font-size: 15px; font-weight: 700; text-decoration: none !important; }
.hs-button:hover { transform: translateY(-2px); }
.hs-button--primary { color: #fff !important; background: var(--hs-copper); box-shadow: 0 12px 32px rgba(240,113,57,.28); }
.hs-button--primary:hover { background: var(--hs-copper-dark); box-shadow: 0 16px 36px rgba(240,113,57,.36); }
.hs-button--ghost { color: #fff !important; border-color: rgba(255,255,255,.42); background: rgba(255,255,255,.06); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.hs-button--ghost:hover { border-color: rgba(255,255,255,.72); background: rgba(255,255,255,.13); }
.hs-button--light { margin-top: 14px; color: var(--hs-ink) !important; background: #fff; }
.hs-trust { display: flex; flex-wrap: wrap; gap: 22px; margin-top: 38px; color: rgba(255,255,255,.67); font-size: 13px; font-weight: 570; }
.hs-trust span { display: inline-flex; align-items: center; gap: 8px; }
.hs-trust span + span::before { content: ""; width: 4px; height: 4px; margin-right: 14px; border-radius: 50%; background: var(--hs-copper); }
.hs-trust i { display: grid; place-items: center; width: 19px; height: 19px; border: 1px solid currentColor; border-radius: 50%; font-size: 10px; font-style: normal; }

.hs-latest-strip { border-bottom: 1px solid var(--hs-line); background: #fff; }
.hs-latest-strip__inner { min-height: 72px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 28px; }
.hs-live-label { display: inline-flex; align-items: center; gap: 9px; color: var(--hs-copper-dark); font-size: 11px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.hs-live-label i { width: 7px; height: 7px; border-radius: 50%; background: var(--hs-copper); box-shadow: 0 0 0 5px rgba(240,113,57,.12); }
.hs-latest-strip a { min-width: 0; display: flex; align-items: center; justify-content: space-between; gap: 20px; color: var(--hs-text); font-weight: 700; }
.hs-latest-strip a span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hs-latest-strip a b { color: var(--hs-teal); font-size: 20px; }
.hs-latest-strip time { color: var(--hs-muted); font-size: 13px; white-space: nowrap; }

.hs-latest { padding: 72px 0 104px; }
.hs-topics { padding: 36px 0 104px; background: #fff; }
.hs-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 42px; }
.hs-section-heading h2 { margin: 0; color: var(--hs-text); font-family: inherit; font-size: clamp(36px, 4vw, 64px); font-weight: 720; letter-spacing: -.055em; line-height: 1; }
.hs-text-link { display: inline-flex; align-items: center; gap: 12px; padding-bottom: 7px; border-bottom: 1px solid currentColor; color: var(--hs-teal) !important; font-weight: 700; }

.hs-article-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.hs-article-card { min-width: 0; overflow: hidden; border-radius: var(--hs-radius); background: #fff; box-shadow: 0 1px 0 rgba(7,30,48,.06); transition: transform .28s ease, box-shadow .28s ease; transition-delay: var(--hs-delay, 0ms); }
.hs-article-card:hover { transform: translateY(-7px); box-shadow: var(--hs-shadow); }
.hs-card-image { position: relative; aspect-ratio: 1.32; display: block; overflow: hidden; background: #d8e0e3; }
.hs-card-image > img { width: 100%; height: 100%; margin: 0; object-fit: cover; transition: transform .6s cubic-bezier(.2,.6,.2,1); }
.hs-article-card:hover .hs-card-image > img { transform: scale(1.045); }
.hs-category-pill { position: absolute; left: 16px; top: 16px; max-width: calc(100% - 32px); padding: 8px 12px; overflow: hidden; border-radius: 30px; color: #fff; background: rgba(7,30,48,.84); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); font-size: 11px; font-weight: 750; letter-spacing: .08em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.hs-card-body { padding: 22px 22px 24px; }
.hs-card-meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 13px; color: var(--hs-muted); font-size: 12px; }
.hs-read-icon { display: grid; place-items: center; flex: 0 0 auto; width: 29px; height: 29px; border-radius: 50%; color: var(--hs-teal); background: #edf3f2; font-size: 15px; }
.hs-card-body h3 { margin: 0; color: var(--hs-text); font-family: inherit; font-size: clamp(17px, 1.4vw, 22px); font-weight: 700; letter-spacing: -.025em; line-height: 1.23; }
.hs-card-body h3 a { color: inherit !important; }
.hs-card-body p { margin: 14px 0 0; display: -webkit-box; overflow: hidden; color: var(--hs-muted); font-size: 14px; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }

.hs-topic-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.hs-topic-card { position: relative; min-height: 300px; display: flex; flex-direction: column; justify-content: space-between; padding: 28px; overflow: hidden; border-radius: var(--hs-radius); color: var(--hs-text) !important; background: #e8efee; transition: transform .3s ease, box-shadow .3s ease; }
.hs-topic-card::before { content: ""; position: absolute; width: 290px; height: 290px; right: -80px; bottom: -125px; border: 1px solid rgba(7,30,48,.12); border-radius: 50%; box-shadow: 0 0 0 45px rgba(255,255,255,.13), 0 0 0 90px rgba(255,255,255,.08); }
.hs-topic-card:hover { transform: translateY(-6px); box-shadow: var(--hs-shadow); }
.hs-topic-card--heat { background: #e2eceb; }
.hs-topic-card--cost { color: #fff !important; background: var(--hs-ink-soft); }
.hs-topic-card--solar { background: #eee4d3; }
.hs-topic-number { position: relative; z-index: 1; font-size: 11px; font-weight: 800; letter-spacing: .16em; opacity: .6; }
.hs-topic-card h3 { position: relative; z-index: 1; margin: 0 0 9px; color: inherit; font-family: inherit; font-size: clamp(24px, 2vw, 32px); font-weight: 700; letter-spacing: -.035em; }
.hs-topic-card p { position: relative; z-index: 1; max-width: 310px; margin: 0; color: inherit; line-height: 1.55; opacity: .72; }
.hs-round-arrow { position: absolute; z-index: 1; right: 24px; top: 22px; display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid currentColor; border-radius: 50%; font-size: 19px; opacity: .6; transition: transform .25s ease; }
.hs-topic-card:hover .hs-round-arrow { transform: rotate(45deg); }

.hs-editorial { padding: 112px 0; color: #fff; background: var(--hs-ink); }
.hs-editorial__inner { display: grid; grid-template-columns: 1.25fr .75fr; gap: clamp(60px, 9vw, 150px); align-items: center; }
.hs-editorial__quote { margin: 0; color: #fff; font-size: clamp(40px, 4.8vw, 80px); font-weight: 300; letter-spacing: -.055em; line-height: 1.08; }
.hs-editorial__copy > p:not(.hs-eyebrow) { color: rgba(255,255,255,.72); font-size: 17px; line-height: 1.7; }

.hs-reveal { opacity: 0; transform: translateY(22px); transition: opacity .65s ease, transform .65s ease; }
.hs-reveal.is-visible { opacity: 1; transform: translateY(0); }

@keyframes hs-hero-breathe {
  from { transform: translate3d(var(--hs-hero-x), var(--hs-hero-y), 0) scale(1.035); }
  to { transform: translate3d(calc(var(--hs-hero-x) - 9px), calc(var(--hs-hero-y) - 3px), 0) scale(1.075); }
}
@keyframes hs-glow-drift { from { transform: translateX(-2%); opacity: .6; } to { transform: translateX(10%); opacity: 1; } }
@keyframes hs-snow-fall { to { background-position: 50px 320px, 130px 390px; } }

@media (max-width: 1180px) and (min-width: 992px) {
  .hs-design-active #theme-header #main-nav .menu > li > a { padding-inline: 11px; font-size: 16px; }
  .hs-global-logo__wordmark { font-size: 22px; }
}

@media (max-width: 991px) {
  .hs-shell,
  .hs-design-active #theme-header #main-nav .container,
  .hs-design-active #footer .container { width: min(calc(100% - 40px), var(--hs-content)); }
  .hs-design-active #theme-header .header-container { width: 100%; max-width: none; padding: 0 20px; color: #fff; background: var(--hs-ink); }
  .hs-design-active #theme-header .logo-row { min-height: 76px; display: flex; align-items: center; border-bottom: 1px solid rgba(255,255,255,.17); }
  .hs-design-active #theme-header .logo-container { width: 100%; display: flex; align-items: center; justify-content: center; padding: 0; }
  .hs-design-active #theme-header .mobile-header-components { color: #fff; }
  .hs-design-active #theme-header #logo.hs-global-logo { margin: 0 !important; }
  .hs-global-logo__icon { width: 43px !important; height: 40px !important; }
  .hs-global-logo__wordmark { font-size: 18px; }
  .hs-design-active #mobile-menu { font-family: inherit; }
  .hs-design-active #mobile-menu .menu > li > a { font-size: 19px; font-weight: 650; }
  .hs-article-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hs-topic-grid { grid-template-columns: 1fr 1fr; }
  .hs-topic-card:last-child { grid-column: 1 / -1; }
  .hs-editorial__inner { grid-template-columns: 1fr; }
  .hs-footer-panel { grid-template-columns: 1.25fr .75fr; }
  .hs-footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 700px) {
  .hs-shell,
  .hs-design-active #footer .container { width: min(calc(100% - 30px), var(--hs-content)); }
  .hs-hero { min-height: min(680px, 83vh); align-items: end; }
  .hs-hero__media img { object-position: 64% center; }
  .hs-hero__shade { background: linear-gradient(0deg, rgba(3,18,30,.97) 0%, rgba(3,18,30,.72) 57%, rgba(3,18,30,.2) 100%); }
  .hs-hero__inner { margin-block: 34px; }
  .hs-hero h1 { font-size: clamp(43px, 13vw, 64px); }
  .hs-hero__copy { font-size: 16px; line-height: 1.55; }
  .hs-hero__actions { flex-direction: column; align-items: stretch; }
  .hs-button { width: 100%; }
  .hs-trust { gap: 10px 16px; margin-top: 28px; }
  .hs-trust span + span::before { display: none; }
  .hs-latest-strip__inner { min-height: 84px; grid-template-columns: 1fr auto; gap: 7px 16px; padding-block: 12px; }
  .hs-latest-strip a { grid-column: 1 / -1; grid-row: 2; }
  .hs-latest-strip time { grid-column: 2; grid-row: 1; }
  .hs-latest { padding: 54px 0 76px; }
  .hs-topics { padding: 54px 0 76px; }
  .hs-section-heading { align-items: flex-start; flex-direction: column; margin-bottom: 30px; }
  .hs-article-grid,
  .hs-topic-grid { grid-template-columns: 1fr; }
  .hs-topic-card:last-child { grid-column: auto; }
  .hs-article-card { display: grid; grid-template-columns: 42% 58%; }
  .hs-card-image { height: 100%; min-height: 180px; aspect-ratio: auto; }
  .hs-card-body { padding: 18px; }
  .hs-card-body p { display: none; }
  .hs-category-pill { top: 10px; left: 10px; max-width: calc(100% - 20px); padding: 6px 8px; font-size: 9px; }
  .hs-card-meta { font-size: 11px; }
  .hs-card-body h3 { font-size: 16px; }
  .hs-editorial { padding: 84px 0; }
  .hs-footer-panel { grid-template-columns: 1fr 1fr; gap: 38px 28px; padding: 48px 0 42px; }
  .hs-footer-brand { grid-column: 1 / -1; }
  .hs-footer-brand__link { margin-bottom: 18px; }
  .hs-footer-promise { gap: 8px 14px; }
}

@media (prefers-reduced-motion: reduce) {
  .hs-design-active *,
  .hs-design-active *::before,
  .hs-design-active *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
  .hs-hero__media img { transform: none; }
  .hs-hero__snow { display: none; }
  .hs-reveal { opacity: 1; transform: none; }
}
