.hero-overlay {
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
}

.content-block {
  display: block;
  width: 100%;
  padding: 24px 5%;
}

.standalone-heading {
  margin: 0 0 20px;
  color: inherit;
  font-family: SeppSerif, Georgia, serif;
  font-size: clamp(32px, 4.5vw, 58px);
  font-weight: 500;
  line-height: 1.06;
  text-wrap: balance;
}

.standalone-richtext {
  color: inherit;
  font-size: 17px;
}

/* Image-inspired card blocks */
.benefit-strip { width: min(1400px,calc(100% - 48px)); margin: 2rem auto; overflow: hidden; }
.benefit-strip-grid { display: grid; grid-template-columns: repeat(var(--benefit-columns,4),minmax(0,1fr)); }
.benefit-item { display: grid; min-width: 0; grid-template-columns: var(--embedded-icon-size,62px) minmax(0,1fr); align-items: center; gap: 1.35rem; padding: .65rem 1.5rem; color: inherit; text-decoration: none; }
.benefit-strip[data-dividers=true] .benefit-item + .benefit-item { border-left: 1px solid #edf0ed; }
.benefit-icon,.service-card-icon { display: grid; width: var(--embedded-icon-size,62px); height: var(--embedded-icon-size,62px); place-items: center; color: var(--embedded-icon-color,#67a48d); }
.benefit-icon svg,.service-card-icon svg { width: 100%; height: 100%; }
.benefit-item h3 { margin: 0 0 .35rem; color: var(--forest-950); font-family: SeppSerif,Georgia,serif; font-size: 1.35rem; font-weight: 500; line-height: 1.08; }
.benefit-item p { margin: 0; color: #6d7773; font-size: .93rem; line-height: 1.48; }
.benefit-item [data-block-text] { display: block; width: 100%; }
.benefit-item:hover h3 { color: var(--sepp-600); }

.audience-card { display: flex; width: min(100%,340px); flex-direction: column; gap: 2rem; }
.audience-card-content { display: flex; flex: 1; flex-direction: column; justify-content: flex-end; }
.audience-card[data-content-position=top] .audience-card-content { justify-content: flex-start; }
.audience-card[data-content-position=center] .audience-card-content { justify-content: center; }
.audience-card .eyebrow { margin-bottom: .75rem; }
.audience-card h2 { margin: 0 0 1.1rem; color: var(--forest-950); font-family: SeppSerif,Georgia,serif; font-size: 1.75rem; font-weight: 500; line-height: 1.05; }
.audience-card ul { margin: 0 0 1.7rem; padding-left: 1.25rem; color: #263833; font-weight: 700; line-height: 1.45; }
.audience-description { margin: 0; color: #707975; line-height: 1.55; }
.editorial-link { display: flex; align-items: center; gap: .8rem; width: max-content; color: var(--sepp-600); text-decoration: none; text-transform: uppercase; letter-spacing: .13em; font-size: .7rem; font-weight: 900; }
.editorial-link span { transition: transform .18s ease; }
.editorial-link:hover span { transform: translateX(.3rem); }
.audience-card-compact { min-height: 420px !important; border-radius: 28px !important; }
.audience-card-wide { width: min(100%,760px); min-height: 360px !important; border-radius: 30px !important; }
.audience-card [data-block-text] { display: block; width: 100%; }

.service-card { position: relative; display: grid; width: min(100%,440px); grid-template-columns: var(--embedded-icon-size,62px) minmax(0,1fr); align-items: start; gap: 1.9rem; color: inherit; text-decoration: none; }
.service-card-heading { display: flex; align-items: flex-start; gap: .65rem; }
.service-card-number { color: var(--sepp-500); font-size: .72rem; line-height: 1.2; }
.service-card h3 { margin: 0; color: var(--forest-950); font-family: SeppSerif,Georgia,serif; font-size: 1.2rem; font-weight: 500; line-height: 1.08; }
.service-card-copy > p { margin: 1.15rem 0 0; color: #43504c; font-size: .82rem; line-height: 1.42; }
.service-card [data-block-text] { display: block; width: 100%; }
.service-card-vertical { grid-template-columns: 1fr; }
.service-card-arrow { position: absolute; right: 1.2rem; bottom: .9rem; color: var(--sepp-500); transition: transform .18s ease; }
a.service-card:hover .service-card-arrow { transform: translateX(.3rem); }

@media(max-width:1024px) {
  .benefit-strip-grid { grid-template-columns: repeat(var(--benefit-columns-tablet,2),minmax(0,1fr)); }
  .benefit-strip[data-dividers=true] .benefit-item { border: 0; border-top: 1px solid #edf0ed; }
  .benefit-strip[data-dividers=true] .benefit-item:nth-child(-n+2) { border-top: 0; }
  .benefit-strip[data-dividers=true][data-tablet-columns="3"] .benefit-item:nth-child(-n+3) { border-top: 0; }
}
@media(max-width:700px) {
  .benefit-strip { width: min(100% - 32px,1400px); }
  .benefit-strip-grid { grid-template-columns: repeat(var(--benefit-columns-mobile,1),minmax(0,1fr)); }
  .benefit-strip[data-dividers=true] .benefit-item { border-left: 0; border-top: 1px solid #edf0ed; }
  .benefit-strip[data-dividers=true] .benefit-item:first-child { border-top: 0; }
  .benefit-strip[data-dividers=true][data-mobile-columns="2"] .benefit-item:nth-child(2) { border-top: 0; }
  .benefit-item { padding: 1rem .25rem; }
  .audience-card,.audience-card-wide { width: min(100% - 32px,760px); min-height: 0 !important; margin-inline: auto; }
  .service-card { width: min(100% - 32px,440px); grid-template-columns: 52px minmax(0,1fr); gap: 1.2rem; margin-inline: auto; }
  .service-card-vertical { grid-template-columns: 1fr; }
}

.hero-mountain[class*="hero-animation-"] { will-change: transform; }
.hero-animation-zoom { animation: hero-zoom var(--hero-animation-duration, 18s) ease-in-out infinite alternate; }
.hero-animation-pan-left { animation: hero-pan-left var(--hero-animation-duration, 18s) ease-in-out infinite alternate; }
.hero-animation-pan-right { animation: hero-pan-right var(--hero-animation-duration, 18s) ease-in-out infinite alternate; }
.hero-animation-fade { animation: hero-fade var(--hero-animation-duration, 8s) ease-in-out infinite alternate; }
.hero-animation-parallax { animation: hero-parallax var(--hero-animation-duration, 18s) ease-in-out infinite alternate; }

@keyframes hero-zoom { to { transform: scale(var(--hero-animation-scale, 1.08)); } }
@keyframes hero-pan-left {
  from { transform: scale(var(--hero-animation-scale, 1.08)) translateX(calc(var(--hero-animation-intensity, 8%) / 2)); }
  to { transform: scale(var(--hero-animation-scale, 1.08)) translateX(calc(var(--hero-animation-intensity, 8%) / -2)); }
}
@keyframes hero-pan-right {
  from { transform: scale(var(--hero-animation-scale, 1.08)) translateX(calc(var(--hero-animation-intensity, 8%) / -2)); }
  to { transform: scale(var(--hero-animation-scale, 1.08)) translateX(calc(var(--hero-animation-intensity, 8%) / 2)); }
}
@keyframes hero-fade { from { opacity: .68; } to { opacity: .95; } }
@keyframes hero-parallax {
  from { transform: scale(var(--hero-animation-scale, 1.08)) translateY(calc(var(--hero-animation-intensity, 8%) / -2)); }
  to { transform: scale(var(--hero-animation-scale, 1.08)) translateY(calc(var(--hero-animation-intensity, 8%) / 2)); }
}

.site-header-sticky {
  position: fixed;
  padding-inline: 24px;
  border-radius: 0 0 18px 18px;
  background: rgb(251 250 245 / .88);
  box-shadow: 0 8px 30px rgb(16 46 40 / .08);
  backdrop-filter: blur(16px);
}
.site-header-solid { background: var(--cream-50); }
.site-header .header-cta { min-height: 42px; padding: .6rem 1rem; font-size: .68rem; }
.nav-item { position: relative; }
.nav-submenu {
  position: absolute;
  top: 100%;
  left: 0;
  display: none;
  min-width: 190px;
  border: 1px solid var(--sage-200);
  background: var(--cream-50);
  padding: .55rem;
  box-shadow: var(--shadow);
}
.nav-item:hover > .nav-submenu, .nav-item:focus-within > .nav-submenu { display: grid; }
.nav-submenu .nav-item, .nav-submenu a { display: block; }
.nav-submenu a { padding: .65rem .8rem !important; }
.footer-grid > section nav, .footer-contact, .footer-social, .footer-bottom nav { display: flex; flex-direction: column; gap: .65rem; }
.footer-contact { margin-top: 1rem; }
.footer-social { flex-direction: row !important; flex-wrap: wrap; margin-top: 1rem; }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.footer-bottom nav { flex-direction: row; flex-wrap: wrap; }

.block-heading { max-width: 820px; margin-bottom: 2.6rem; }
.block-heading h2, .image-text h2, .download-card h2, .form-link-card h2 { font-family: SeppSerif, Georgia, serif; font-size: clamp(2rem, 4vw, 3.7rem); line-height: 1.08; color: var(--forest-950); margin: 0 0 1rem; }
.block-heading > p:last-child { color: #65716e; }
.image-text-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(2rem,6vw,6rem); align-items: center; }
.image-text[data-image-side="right"] figure { order: 2; }
.image-text figure { margin: 0; min-height: 420px; overflow: hidden; border-radius: 28px; }
.image-text figure img { width: 100%; height: 100%; min-height: 420px; object-fit: cover; }
.image-text .button { margin-top: 1.25rem; }
.faq-list { display: grid; gap: .75rem; }
.faq-item { border: 1px solid var(--sage-200); background: #fff; border-radius: 18px; }
details.faq-item summary { cursor: pointer; list-style: none; position: relative; padding: 1.25rem 3.5rem 1.25rem 1.4rem; color: var(--forest-950); font-weight: 800; }
details.faq-item summary::-webkit-details-marker { display: none; }
details.faq-item summary::after { content: "+"; position: absolute; right: 1.4rem; font-size: 1.4rem; font-weight: 400; transition: transform .2s ease; }
details.faq-item[open] summary::after { transform: rotate(45deg); }
details.faq-item > div { padding: 0 1.4rem 1.35rem; }
details.faq-item p { margin: 0; color: #65716e; }
.faq-minimal .faq-item { border-width: 0 0 1px; border-radius: 0; background: transparent; }
.faq-cards .faq-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
.faq-cards .faq-item { padding: 1.5rem; }
.faq-cards .faq-item h3 { margin-top: 0; color: var(--forest-950); }
.gallery-grid { display: grid; grid-template-columns: repeat(var(--gallery-columns,3),minmax(0,1fr)); gap: 1rem; }
.gallery-item { margin: 0; overflow: hidden; border-radius: 20px; background: var(--cream-100); }
.gallery-item img { width: 100%; aspect-ratio: 4/3; object-fit: cover; transition: transform .25s ease; }
.gallery-item:hover img { transform: scale(1.025); }
.gallery-item figcaption { padding: .9rem 1rem; font-weight: 700; }
.testimonial-grid, .pricing-grid, .team-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(250px,1fr)); gap: 1.2rem; }
.testimonial { margin: 0; padding: 1.7rem; border: 1px solid #dce8e1; border-radius: 22px; background: #fff; }
.testimonial blockquote { margin: 0 0 1.4rem; color: var(--forest-950); font-family: SeppSerif,Georgia,serif; font-size: 1.35rem; }
.testimonial figcaption { display: flex; align-items: center; gap: .8rem; }
.testimonial figcaption img { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; }
.testimonial figcaption span { display: grid; }
.testimonial figcaption small { color: #71807a; }
.testimonials-quotes .testimonial { border: 0; background: transparent; padding-inline: 0; }
.testimonials-compact .testimonial blockquote { font-family: inherit; font-size: 1rem; }
.logo-strip { padding-block: 3.5rem; }
.logo-strip h2 { font-size: .8rem; text-align: center; text-transform: uppercase; letter-spacing: .13em; color: #71807a; }
.logo-strip-grid { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: clamp(1.5rem,4vw,4rem); margin-top: 2rem; }
.logo-strip-grid img { max-width: 150px; max-height: 58px; object-fit: contain; }
.logo-strip[data-grayscale="true"] img { filter: grayscale(1); opacity: .7; transition: .2s ease; }
.logo-strip[data-grayscale="true"] a:hover img { filter: none; opacity: 1; }
.price-card { position: relative; display: flex; flex-direction: column; border: 1px solid #dce8e1; border-radius: 24px; background: #fff; padding: 1.7rem; }
.price-featured { border: 2px solid var(--sepp-600); box-shadow: var(--shadow); }
.price-badge { position: absolute; right: 1rem; top: 1rem; border-radius: 999px; background: var(--sepp-600); color: #fff; padding: .3rem .65rem; font-size: .68rem; font-weight: 800; text-transform: uppercase; }
.price-card h3 { font-family: SeppSerif,Georgia,serif; font-size: 1.7rem; color: var(--forest-950); }
.price { display: flex; align-items: baseline; gap: .4rem; }
.price strong { font-size: 2.4rem; color: var(--forest-950); }
.price-card ul { padding-left: 1.2rem; flex: 1; }
.price-card .button { margin-top: 1rem; }
.download-card, .form-link-card { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: clamp(2rem,5vw,4rem); border-radius: 28px; background: var(--cream-100); }
.form-link-card { display: block; max-width: 850px; margin-inline: auto; text-align: center; }
.form-link-card .button { margin-top: 1rem; }
.notice { width: min(1120px,calc(100% - 48px)); margin: 2rem auto; display: flex; align-items: center; justify-content: space-between; gap: 1rem; border: 1px solid var(--sage-200); border-left: 5px solid var(--sepp-600); border-radius: 14px; background: #edf5f1; padding: 1rem 1.2rem; }
.notice p { margin: .2rem 0 0; }
.notice-warning { border-left-color: #b57918; background: #fff7e8; }
.notice-success { border-left-color: #27805e; background: #eaf8f1; }
.notice-dark { border-color: var(--forest-800); background: var(--forest-800); color: #fff; }
.team-card { overflow: hidden; border: 1px solid #dce8e1; border-radius: 22px; background: #fff; }
.team-card > img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.team-card > div { display: grid; gap: .25rem; padding: 1.35rem; }
.team-card h3 { margin: 0; font-family: SeppSerif,Georgia,serif; color: var(--forest-950); font-size: 1.5rem; }
.team-card p { margin: 0 0 .5rem; }
.team-role { color: var(--sepp-600); font-weight: 700; }
.video-consent { aspect-ratio: 16/9; display: grid; place-items: center; align-content: center; gap: .8rem; border-radius: 24px; overflow: hidden; background: linear-gradient(rgb(16 46 40/.72),rgb(16 46 40/.72)),var(--forest-800) center/cover; color: #fff; }
.video-consent iframe { width: 100%; height: 100%; border: 0; }
.form-embed { display: block; width: 100%; min-height: 720px; border: 1px solid #dce8e1; border-radius: 22px; background: var(--cream-100); }
.form-embed-fallback { text-align: center; font-size: .85rem; }

/* Configurable columns and grids */
.layout-grid { min-width: 0; }
.layout-cell { min-width: 0; }
.layout-cell > *:first-child { margin-top: 0; }
.layout-cell > *:last-child { margin-bottom: 0; }

/* Slideshow */
.slideshow { overflow: hidden; }
.slideshow:focus-visible { outline: 3px solid var(--sepp-500); outline-offset: -3px; }
.slideshow-stage { position: relative; min-height: var(--slideshow-height, 520px); }
.slideshow-slide { position: absolute; inset: 0; overflow: hidden; margin: 0; border-radius: 26px; background: var(--forest-950); opacity: 0; visibility: hidden; transform: translateX(7%); transition: opacity .5s ease, transform .5s ease, visibility .5s; pointer-events: none; }
.slideshow[data-transition=fade] .slideshow-slide { transform: none; }
.slideshow-slide[data-active=true] { z-index: 1; opacity: 1; visibility: visible; transform: none; pointer-events: auto; }
.slideshow-slide > img { width: 100%; height: var(--slideshow-height, 520px); object-fit: cover; }
.slideshow-slide figcaption { position: absolute; inset: auto 0 0; display: grid; gap: .25rem; padding: clamp(4rem, 9vw, 7rem) clamp(1.3rem, 4vw, 3.2rem) clamp(1.4rem, 4vw, 2.6rem); color: #fff; background: linear-gradient(transparent, rgb(8 26 22 / .88)); }
.slideshow-slide figcaption strong { font-family: SeppSerif, Georgia, serif; font-size: clamp(1.45rem, 3vw, 2.5rem); font-weight: 500; line-height: 1.1; }
.slideshow-slide figcaption span { max-width: 740px; }
.slideshow-slide figcaption [data-block-text] { display: block; width: 100%; }
.slideshow-arrow { position: absolute; z-index: 3; top: 50%; display: grid; width: 48px; height: 48px; place-items: center; transform: translateY(-50%); border: 0; border-radius: 50%; background: rgb(255 255 255 / .9); color: var(--forest-950); box-shadow: 0 9px 30px rgb(16 46 40 / .2); cursor: pointer; font-size: 2rem; line-height: 1; }
.slideshow-arrow:disabled { cursor: default; opacity: .35; }
.slideshow-prev { left: 1rem; }
.slideshow-next { right: 1rem; }
.slideshow[data-navigation-position=outside] .slideshow-stage { margin-inline: 2.2rem; }
.slideshow[data-navigation-position=outside] .slideshow-prev { left: -1.5rem; }
.slideshow[data-navigation-position=outside] .slideshow-next { right: -1.5rem; }
.slideshow-pagination { display: flex; align-items: center; justify-content: center; gap: .5rem; margin-top: 1rem; }
.slideshow-pagination button { border: 0; cursor: pointer; }
.slideshow-pagination-dots button { width: .65rem; height: .65rem; padding: 0; border-radius: 999px; background: var(--sage-200); transition: width .2s ease, background .2s ease; }
.slideshow-pagination-dots button[aria-selected=true] { width: 2rem; background: var(--sepp-600); }
.slideshow-pagination-numbers button { display: grid; width: 2rem; height: 2rem; place-items: center; border-radius: 50%; background: #e8efeb; color: var(--forest-800); font-weight: 800; }
.slideshow-pagination-numbers button[aria-selected=true] { background: var(--sepp-600); color: #fff; }
.slideshow-pagination-progress > span { width: min(420px, 72%); height: 4px; overflow: hidden; border-radius: 999px; background: #dbe5df; }
.slideshow-pagination-progress i { display: block; width: 0; height: 100%; background: var(--sepp-600); transition: width .25s ease; }
.slideshow[data-pagination-position=overlay] .slideshow-pagination { position: absolute; z-index: 3; right: 0; bottom: 1.2rem; left: 0; margin: 0; }
.slideshow[data-pagination-position=overlay] .slideshow-pagination-dots button { box-shadow: 0 0 0 1px rgb(255 255 255 / .55); }
.slideshow-empty { display: grid; min-height: var(--slideshow-height, 520px); place-items: center; border: 2px dashed var(--sage-200); border-radius: 26px; color: #65716e; background: var(--cream-100); }
@media(max-width:700px) { .slideshow-stage,.slideshow-slide>img,.slideshow-empty { min-height: min(var(--slideshow-height,520px),420px); height: min(var(--slideshow-height,520px),420px); } .slideshow[data-navigation-position=outside] .slideshow-stage { margin-inline: 0; } .slideshow[data-navigation-position=outside] .slideshow-prev { left: .65rem; } .slideshow[data-navigation-position=outside] .slideshow-next { right: .65rem; } .slideshow-arrow { width: 42px; height: 42px; } }
@media(prefers-reduced-motion:reduce) { .slideshow-slide { transition: none; } }

/* Icon block */
.site-icon { display: flex; padding: 1.5rem clamp(1.5rem,5vw,4rem); color: var(--icon-color,#47836f); }
.site-icon-left { justify-content: flex-start; }
.site-icon-center { justify-content: center; }
.site-icon-right { justify-content: flex-end; }
.site-icon > a { display: inline-flex; color: inherit; text-decoration: none; }
.site-icon-visual { display: grid; width: var(--icon-size,64px); height: var(--icon-size,64px); place-items: center; border-radius: var(--icon-radius,18px); color: var(--icon-color,#47836f); }
.site-icon-visual svg { width: 68%; height: 68%; }
.site-icon-soft .site-icon-visual { background: var(--icon-background,#edf3ef); }
.site-icon-outline .site-icon-visual { border: 1px solid currentColor; }
.site-icon-solid .site-icon-visual { background: var(--icon-background,#47836f); color: #fff; }
.site-icon > a:hover .site-icon-visual { transform: translateY(-2px); }

/* Block motion: Inhalte bleiben ohne JavaScript sichtbar. Erst die Laufzeit setzt data-motion-state. */
[data-motion-state] { transition: opacity var(--motion-duration,700ms) var(--motion-easing,ease), transform var(--motion-duration,700ms) var(--motion-easing,ease), filter var(--motion-duration,700ms) var(--motion-easing,ease); transition-delay: var(--motion-delay,0ms); will-change: opacity,transform,filter; }
[data-motion-state="in"] { opacity: 1; transform: none; filter: none; }
[data-motion-state="idle"][data-motion-enter="fade-in"] { opacity: 0; }
[data-motion-state="idle"][data-motion-enter="fade-up"] { opacity: 0; transform: translateY(var(--motion-distance,32px)); }
[data-motion-state="idle"][data-motion-enter="fade-down"] { opacity: 0; transform: translateY(calc(var(--motion-distance,32px) * -1)); }
[data-motion-state="idle"][data-motion-enter="fade-left"] { opacity: 0; transform: translateX(var(--motion-distance,32px)); }
[data-motion-state="idle"][data-motion-enter="fade-right"] { opacity: 0; transform: translateX(calc(var(--motion-distance,32px) * -1)); }
[data-motion-state="idle"][data-motion-enter="zoom-in"] { opacity: 0; transform: scale(.82); }
[data-motion-state="idle"][data-motion-enter="squeeze-in"] { opacity: 0; transform: scaleX(.65); }
[data-motion-state="idle"][data-motion-enter="blur-in"] { opacity: 0; filter: blur(14px); }
[data-motion-state="idle"][data-motion-enter="rotate-in"] { opacity: 0; transform: rotate(-7deg) scale(.92); }
[data-motion-state="idle"][data-motion-enter="flip-in"] { opacity: 0; transform: perspective(900px) rotateX(65deg); transform-origin: center bottom; }
[data-motion-state="out"][data-motion-exit="fade-out"] { opacity: 0; }
[data-motion-state="out"][data-motion-exit="slide-up"] { opacity: 0; transform: translateY(calc(var(--motion-distance,32px) * -1)); }
[data-motion-state="out"][data-motion-exit="slide-down"] { opacity: 0; transform: translateY(var(--motion-distance,32px)); }
[data-motion-state="out"][data-motion-exit="slide-left"] { opacity: 0; transform: translateX(calc(var(--motion-distance,32px) * -1)); }
[data-motion-state="out"][data-motion-exit="slide-right"] { opacity: 0; transform: translateX(var(--motion-distance,32px)); }
[data-motion-state="out"][data-motion-exit="zoom-out"] { opacity: 0; transform: scale(.82); }
[data-motion-state="out"][data-motion-exit="squeeze-out"] { opacity: 0; transform: scaleX(.65); }
[data-motion-state="out"][data-motion-exit="blur-out"] { opacity: 0; filter: blur(14px); }
[data-motion-state="in"][data-motion-loop="float"] { animation:site-motion-float 3.8s ease-in-out infinite; }
[data-motion-state="in"][data-motion-loop="pulse"] { animation:site-motion-pulse 2.4s ease-in-out infinite; }
[data-motion-state="in"][data-motion-loop="breathe"] { animation:site-motion-breathe 3.2s ease-in-out infinite; }
@keyframes site-motion-float { 50% { transform: translateY(-8px); } }
@keyframes site-motion-pulse { 50% { transform: scale(1.035); } }
@keyframes site-motion-breathe { 50% { opacity: .78; } }

@media (max-width: 700px) {
  .site-header .header-cta { display: none; }
  .footer-bottom { align-items: flex-start; flex-direction: column; }
  .image-text-grid, .faq-cards .faq-list { grid-template-columns: 1fr; }
  .image-text[data-image-side="right"] figure { order: 0; }
  .gallery-grid { grid-template-columns: 1fr 1fr; }
  .download-card, .notice { align-items: stretch; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-mountain[class*="hero-animation-"] { animation: none !important; transform: none !important; }
  [data-motion-state] { animation: none !important; transition: none !important; opacity: 1 !important; transform: none !important; filter: none !important; }
}

/* Image and text cards */
.image-card-section { width: min(100%,1180px); }
.image-card-grid { display: grid; grid-template-columns: repeat(var(--image-card-columns,1),minmax(0,1fr)); gap: var(--image-card-gap,24px); align-items: stretch; }
.image-card { position: relative; display: flex; min-width: 0; overflow: hidden; flex-direction: column; border: 1px solid var(--image-card-border,#dfe7e2); border-radius: var(--image-card-radius,28px); background: var(--image-card-background,#fff); color: inherit; text-decoration: none; transition: transform .24s ease,box-shadow .24s ease; }
.image-card-section[data-equal-height=false] .image-card-grid { align-items: start; }
.image-card-section[data-shadow=soft] .image-card { box-shadow: 0 14px 38px rgb(16 46 40/.1); }
.image-card-section[data-shadow=strong] .image-card { box-shadow: 0 20px 55px rgb(16 46 40/.2); }
.image-card-section[data-hover=lift] .image-card:hover { transform: translateY(-5px); box-shadow: 0 24px 55px rgb(16 46 40/.17); }
.image-card-media { position: relative; overflow: hidden; width: 100%; aspect-ratio: 16/9; background: var(--cream-100); }
.image-card-section[data-aspect=classic] .image-card-media { aspect-ratio: 4/3; }
.image-card-section[data-aspect=square] .image-card-media { aspect-ratio: 1; }
.image-card-section[data-aspect=custom] .image-card-media { height: var(--image-card-height,300px); aspect-ratio: auto; }
.image-card-media img { display: block; width: 100%; height: 100%; transition: transform .45s cubic-bezier(.22,1,.36,1); }
.image-card-section[data-hover=zoom] .image-card:hover .image-card-media img { transform: scale(1.045); }
.image-card-content { display: flex; min-width: 0; flex: 1; flex-direction: column; align-items: stretch; padding: var(--image-card-padding,36px); }
.image-card-content .eyebrow { margin: 0 0 1rem; color: var(--image-card-accent,var(--sepp-500)); }
.image-card-content h3 { margin: 0; color: var(--forest-950); font: 500 clamp(1.75rem,3.2vw,3rem)/1.03 SeppSerif,Georgia,serif; }
.image-card-highlight { margin: 1.4rem 0 0; color: var(--forest-950); font-weight: 700; line-height: 1.45; white-space: pre-line; }
.image-card-description { margin: 1.45rem 0 0; color: #65716e; font-size: 1.05rem; line-height: 1.6; white-space: pre-line; }
.image-card-content .editorial-link { width: max-content; max-width: 100%; margin-top: 2rem; color: var(--image-card-accent,var(--sepp-500)); }
.image-card-link:focus-visible,.image-card-content .editorial-link:focus-visible { outline: 3px solid var(--image-card-accent,var(--sepp-500)); outline-offset: 4px; }
.image-card-compact .image-card-content { padding: calc(var(--image-card-padding,36px) * .7); }
.image-card-compact .image-card-content h3 { font-size: clamp(1.5rem,2.5vw,2.2rem); }
.image-card-horizontal .image-card { display: grid; grid-template-columns: minmax(220px,42%) minmax(0,1fr); }
.image-card-horizontal .image-card-media { height: 100%; min-height: var(--image-card-height,300px); aspect-ratio: auto; }
.image-card-horizontal[data-image-side=right] .image-card-media { order: 2; }
.image-card-overlay .image-card { isolation: isolate; min-height: max(420px,var(--image-card-height,300px)); justify-content: flex-end; border: 0; background: var(--forest-950); }
.image-card-overlay .image-card-media { position: absolute; inset: 0; z-index: -2; height: 100%; aspect-ratio: auto; }
.image-card-overlay .image-card::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg,transparent 15%,rgb(7 30 25/.88) 100%); pointer-events: none; }
.image-card-overlay .image-card-content { flex: 0 0 auto; justify-content: flex-end; color: #fff; }
.image-card-overlay .image-card-content h3,.image-card-overlay .image-card-highlight,.image-card-overlay .image-card-description { color: #fff; }

/* Process timeline */
.process { --process-accent: var(--sepp-500); }
.process .process-list { position: relative; display: grid; grid-template-columns: repeat(auto-fit,minmax(180px,1fr)); gap: clamp(1.2rem,3vw,3rem); margin-top: 3.5rem; }
.process-step { position: relative; min-width: 0; text-align: center; }
.process-step .process-marker { position: relative; z-index: 1; display: grid; width: 58px; height: 58px; place-items: center; margin: 0 auto 1.6rem; border: 6px solid var(--cream-50); border-radius: 50%; background: var(--process-accent); color: #fff; font-weight: 900; box-shadow: 0 0 0 1px color-mix(in srgb,var(--process-accent) 24%,transparent); }
.process-step .process-marker svg { width: 24px; height: 24px; }
.process[data-marker=outline] .process-marker { border: 6px solid var(--cream-50); background: #fff; color: var(--process-accent); box-shadow: 0 0 0 2px var(--process-accent); }
.process-step h3 { margin: 0 0 .8rem; color: var(--forest-950); font-family: SeppSerif,Georgia,serif; font-size: clamp(1.25rem,2vw,1.7rem); font-weight: 500; line-height: 1.12; }
.process-step p { max-width: 310px; margin: 0 auto; color: #65716e; line-height: 1.55; }
.process[data-align=left] .process-step { text-align: left; }
.process[data-align=left] .process-marker,.process[data-align=left] .process-step p { margin-left: 0; }
.process-timeline[data-connector=true] .process-list::before { content: ""; position: absolute; top: 29px; right: calc(50% / var(--process-count,4)); left: calc(50% / var(--process-count,4)); height: 1px; background: color-mix(in srgb,var(--process-accent) 36%,transparent); }
.process-cards .process-step { min-height: 240px; border: 1px solid #dce8e1; border-radius: 24px; background: rgb(255 255 255/.78); padding: 2rem; text-align: left; }
.process-cards .process-marker { margin-left: 0; border-color: #fff; }
.process-vertical .process-list { grid-template-columns: 1fr; max-width: 780px; gap: 0; }
.process-vertical .process-step { min-height: 150px; padding: 0 0 2.5rem 90px; text-align: left; }
.process-vertical .process-marker { position: absolute; left: 0; margin: 0; }
.process-vertical[data-connector=true] .process-step:not(:last-child)::after { content: ""; position: absolute; top: 58px; bottom: 0; left: 28px; width: 1px; background: color-mix(in srgb,var(--process-accent) 36%,transparent); }
.process-vertical .process-step p { margin-left: 0; }
.process-compact .process-list { gap: 0; border-top: 1px solid var(--sage-200); }
.process-compact .process-step { display: grid; grid-template-columns: 42px minmax(0,1fr); gap: .25rem 1rem; padding: 1.2rem; border-bottom: 1px solid var(--sage-200); text-align: left; }
.process-compact .process-marker { grid-row: span 2; width: 42px; height: 42px; margin: 0; border-width: 3px; }
.process-compact .process-step p { margin: 0; }

/* Comparison table */
.comparison-scroll { width: 100%; overflow-x: auto; border: 1px solid #dce8e1; border-radius: 24px; background: #fff; box-shadow: 0 12px 36px rgb(16 46 40/.06); }
.comparison-table table { width: 100%; min-width: 720px; border-collapse: collapse; }
.comparison-table th,.comparison-table td { min-width: 170px; border-right: 1px solid #e5ece8; border-bottom: 1px solid #e5ece8; padding: 1rem 1.2rem; text-align: center; }
.comparison-table th:first-child { min-width: 220px; text-align: left; }
.comparison-table thead th { padding-block: 1.5rem; color: var(--forest-950); }
.comparison-table thead strong,.comparison-table thead small { display: block; }
.comparison-table thead strong { font: 500 1.45rem/1.15 SeppSerif,Georgia,serif; }
.comparison-table thead small { margin-top: .4rem; color: #65716e; font-size: .8rem; }
.comparison-table tbody th { font-weight: 700; }
.comparison-table td { color: #43504c; font-weight: 700; }
.comparison-table .comparison-featured { background: color-mix(in srgb,var(--sepp-500) 9%,#fff); }
.comparison-table tfoot th,.comparison-table tfoot td { border-bottom: 0; }
.comparison-table tfoot .button { width: 100%; }
.comparison-table[data-sticky-labels=true] th:first-child { position: sticky; left: 0; z-index: 1; background: #fff; box-shadow: 8px 0 16px rgb(16 46 40/.04); }
.comparison-mobile-cards { display: none; }
.comparison-mobile-cards article { border: 1px solid #dce8e1; border-radius: 22px; background: #fff; padding: 1.4rem; }
.comparison-mobile-cards h3 { margin: 0; color: var(--forest-950); font: 500 1.7rem SeppSerif,Georgia,serif; }
.comparison-mobile-cards article>p { margin-top: .35rem; color: #65716e; }
.comparison-mobile-cards dl div { display: flex; justify-content: space-between; gap: 1rem; border-top: 1px solid #e5ece8; padding: .8rem 0; }
.comparison-mobile-cards dt { font-weight: 700; }.comparison-mobile-cards dd { margin: 0; }

/* Content tabs */
.tabs-layout { display: grid; gap: 1.5rem; }
.tabs-navigation { display: flex; gap: .35rem; border-bottom: 1px solid var(--sage-200); }
.tabs-navigation button { min-height: 50px; border: 0; border-bottom: 3px solid transparent; background: transparent; padding: .7rem 1.2rem; color: #65716e; cursor: pointer; font-weight: 800; }
.tabs-navigation button[aria-selected=true] { border-color: var(--sepp-600); color: var(--forest-950); }
.tabs-pills .tabs-navigation { border: 0; border-radius: 999px; background: #e8efeb; padding: .35rem; }
.tabs-pills .tabs-navigation button { flex: 1; border: 0; border-radius: 999px; }
.tabs-pills .tabs-navigation button[aria-selected=true] { background: #fff; box-shadow: 0 4px 18px rgb(16 46 40/.1); }
.tabs-side .tabs-layout { grid-template-columns: minmax(190px,280px) minmax(0,1fr); align-items: start; }
.tabs-side .tabs-navigation { display: grid; border: 0; border-right: 1px solid var(--sage-200); }
.tabs-side .tabs-navigation button { border: 0; border-right: 3px solid transparent; text-align: left; }
.tabs-side .tabs-navigation button[aria-selected=true] { border-color: var(--sepp-600); background: #edf3ef; }
.tabs-panel-inner { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); align-items: center; gap: clamp(1.5rem,5vw,4rem); min-height: 320px; border-radius: 24px; background: #fff; padding: clamp(1.4rem,4vw,3rem); }
.tabs-panel-inner:not(:has(>img)) { grid-template-columns: 1fr; }
.tabs-panel-inner img { width: 100%; height: 280px; border-radius: 18px; object-fit: cover; }
.tabs-panel-inner h3 { margin: 0 0 1rem; color: var(--forest-950); font: 500 clamp(1.7rem,3vw,2.5rem)/1.1 SeppSerif,Georgia,serif; }
.tabs-panel-inner p { color: #65716e; }.tabs-panel-inner ul { margin: 1rem 0; padding-left: 1.2rem; }
.tabs-panel-inner .button { margin-top: 1rem; }.tabs-mobile-accordion { display: none; }

/* Location and contact */
.location-contact { background: var(--cream-100); }
.location-grid { display: grid; grid-template-columns: minmax(280px,.8fr) minmax(0,1.2fr); gap: clamp(1.5rem,5vw,4rem); align-items: stretch; }
.location-details { display: grid; align-content: center; gap: 1.4rem; border-radius: 24px; background: #fff; padding: clamp(1.5rem,4vw,3rem); }
.location-details strong { display: block; margin-bottom: .35rem; color: var(--forest-950); font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; }
.location-details p { margin: 0; }.location-links { display: grid; gap: .35rem; }.location-links a { color: var(--sepp-600); font-weight: 800; }
.location-details .button { width: max-content; margin-top: .5rem; }
.location-visual { display: grid; min-height: 430px; overflow: hidden; place-items: center; border-radius: 24px; background: var(--forest-800); color: #fff; }
.location-visual>img,.location-visual>iframe { width: 100%; height: 100%; min-height: 430px; border: 0; object-fit: cover; }
.location-map-consent { display: grid; max-width: 520px; place-items: center; gap: 1rem; padding: 2rem; text-align: center; }
.location-map-consent>span,.location-placeholder { font: 500 4rem SeppSerif,Georgia,serif; color: var(--sepp-500); }
.location-map-consent .button { border-color: #fff; background: #fff; color: var(--forest-800); }
.location-card .location-grid { max-width: 880px; margin-inline: auto; grid-template-columns: 1fr; }.location-card .location-visual { min-height: 300px; }
.location-wide .container { width: min(1400px,calc(100% - 48px)); }
.location-contact[data-show-map=false] .location-grid { grid-template-columns: minmax(0,760px); }.location-contact[data-show-map=false] .location-details { width: 100%; }

@media(max-width:1024px) {
  .image-card-grid { grid-template-columns: repeat(var(--image-card-columns-tablet,1),minmax(0,1fr)); }
  .process-timeline[data-tablet-mode=wrap] .process-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .process-timeline[data-tablet-mode=wrap] .process-list::before { display: none; }
  .process-timeline[data-tablet-mode=scroll] .process-list { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 1rem; }
  .process-timeline[data-tablet-mode=scroll] .process-step { min-width: 280px; scroll-snap-align: start; }
}
@media(max-width:700px) {
  .image-card-grid { grid-template-columns: repeat(var(--image-card-columns-mobile,1),minmax(0,1fr)); }
  .image-card-horizontal .image-card { display: flex; }
  .image-card-horizontal .image-card-media { min-height: 0; aspect-ratio: 16/9; }
  .image-card-horizontal[data-image-side=right] .image-card-media { order: 0; }
  .image-card-content { padding: min(var(--image-card-padding,36px),28px); }
  .process-timeline .process-list { display: grid!important; grid-template-columns: 1fr!important; gap: 0; overflow: visible!important; }
  .process-timeline .process-list::before { display: block!important; top: 29px; right: auto; bottom: 30px; left: 28px; width: 1px; height: auto; }
  .process-timeline .process-step { min-width: 0!important; min-height: 145px; padding: 0 0 2rem 82px; text-align: left; }
  .process-timeline .process-marker { position: absolute; left: 0; margin: 0; }
  .process-timeline .process-step p { margin-left: 0; }
  .comparison-table[data-mobile-mode=cards] .comparison-scroll { display: none; }
  .comparison-table[data-mobile-mode=cards] .comparison-mobile-cards { display: grid; gap: 1rem; }
  .tabs-layout { display: none; }.tabs-mobile-accordion { display: grid; gap: .6rem; }
  .tabs-mobile-item { overflow: hidden; border: 1px solid var(--sage-200); border-radius: 16px; background: #fff; }
  .tabs-mobile-trigger { position: relative; width: 100%; min-height: 54px; border: 0; background: transparent; padding: .8rem 3rem .8rem 1rem; text-align: left; color: var(--forest-950); font-weight: 800; }
  .tabs-mobile-trigger::after { content: "+"; position: absolute; right: 1rem; font-size: 1.4rem; font-weight: 400; }.tabs-mobile-trigger[aria-expanded=true]::after { content: "−"; }
  .tabs-mobile-content .tabs-panel-inner { grid-template-columns: 1fr; min-height: 0; border-radius: 0; padding-top: .5rem; }.tabs-mobile-content .tabs-panel-inner img { height: 210px; }
  .location-grid { grid-template-columns: 1fr; }.location-visual,.location-visual>img,.location-visual>iframe { min-height: 320px; }
}

@media(prefers-reduced-motion:reduce) {
  .image-card,.image-card-media img { transition: none!important; transform: none!important; }
}
