/* ==========================================================================
   ACTIVITY LIFE — PARTNER LANDING (variant F, light liquid glass) — shared .com (de) / .ru (ru)
   Template: page-templates/activity-life-partner-landing.php
   Scope:    everything under .alp — header/footer are untouched.
   Breakpoints (aligned with traveler-childtheme):
     ≥1280  desktop wide   (notifications float outside the cabinet)
     1200–1279 / 992–1199  desktop / laptop
     768–991.98            tablet (portrait + small landscape)
     ≤767.98               phone portrait
     ≤414                  narrow phone
     landscape, coarse pointer, max-height 520  phone landscape
   Hover effects only for (hover:hover) and (pointer:fine).
   ========================================================================== */

.alp {
	--alp-ink: #14202b;
	--alp-muted: #41515e;
	--alp-bg: #f2f6f9;
	--alp-accent: #ef7a00;
	--alp-accent-2: #e37600;
	--alp-accent-ink: #b35800;
	--alp-green: #1f9e78;
	--alp-green-ink: #137a5c;
	--alp-blue: #0f6fa8;
	--alp-btn-grad: linear-gradient(116deg, var(--alp-accent), var(--alp-accent-2));
	--alp-btn-shadow: 0 16px 32px rgba(239, 122, 0, 0.24);
	--alp-btn-shadow-hover: 0 20px 40px rgba(239, 122, 0, 0.34);
	--alp-glass: rgba(255, 255, 255, 0.62);
	--alp-glass-strong: rgba(255, 255, 255, 0.82);
	--alp-glass-border: rgba(255, 255, 255, 0.8);
	--alp-shadow: 0 16px 48px rgba(20, 45, 70, 0.14);
	--alp-shadow-strong: 0 24px 64px rgba(20, 45, 70, 0.22);
	--alp-shadow-hover: 0 22px 56px rgba(20, 45, 70, 0.2);
	--alp-radius: 26px;
	--alp-header-offset: 92px; /* Traveler header is position:absolute over the hero */
	--alp-gutter: 48px;
	--alp-ease: cubic-bezier(.2, .7, .2, 1);
	--alp-font: "Manrope", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--alp-font-display: "Unbounded", "Manrope", system-ui, sans-serif;

	display: block;
	background: var(--alp-bg);
	color: var(--alp-ink);
	font-family: var(--alp-font);
	font-size: 16px;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
	overflow-x: clip;
}

/* ---------- local reset (beats bootstrap / traveler defaults) ---------- */
/* #alp + element = (1,0,1): beats theme rules like
   body.st-mod-style .st-style-elementor h1 (0,2,2); every component rule is
   #alp .alp-* (1,1,0) and therefore still wins over this reset */
:where(.alp) *, :where(.alp) *::before, :where(.alp) *::after { box-sizing: border-box; }
#alp h1, #alp h2, #alp h3, #alp p,
#alp ul, #alp ol, #alp li, #alp figure { margin: 0; padding: 0; }
#alp ul, #alp ol { list-style: none; }
#alp h1, #alp h2, #alp h3 {
	color: var(--alp-ink);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0;
	text-transform: none;
}
#alp a,
#alp a:hover,
#alp a:focus { text-decoration: none; }
#alp a:focus-visible,
#alp summary:focus-visible {
	outline: 3px solid rgba(239, 122, 0, 0.55);
	outline-offset: 3px;
}
#alp .alp-sr {
	position: absolute !important; width: 1px; height: 1px; overflow: hidden;
	clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap;
}
#alp .alp-ico {
	width: 1em; height: 1em; flex-shrink: 0;
	fill: none; stroke: currentColor; stroke-width: 2.2;
	stroke-linecap: round; stroke-linejoin: round;
}

/* ---------- layout ---------- */
#alp .alp-wrap { width: 100%; max-width: 1280px; margin: 0 auto; padding: 0 var(--alp-gutter); }
#alp .alp-wrap--md { max-width: 1100px; }
#alp .alp-wrap--sm { max-width: 860px; }
#alp .alp-center { text-align: center; }
#alp .alp-section { padding: 72px 0; }

#alp .alp-h2 {
	font-family: var(--alp-font-display);
	font-size: 38px;
	line-height: 1.15;
	margin-bottom: 12px;
}
#alp .alp-h2--sm { font-size: 32px; margin-bottom: 26px; }
#alp .alp-sub { color: var(--alp-muted); font-size: 18px; margin-bottom: 30px; }
#alp .alp-accent { color: #e46f00; }
#alp .alp-hero__title, #alp .alp-h2 { text-wrap: balance; }

/* ---------- glass ---------- */
#alp .alp-glass {
	background: var(--alp-glass);
	-webkit-backdrop-filter: blur(20px) saturate(1.8);
	backdrop-filter: blur(20px) saturate(1.8);
	border: 1px solid var(--alp-glass-border);
	box-shadow: var(--alp-shadow), inset 0 1px 0 rgba(255, 255, 255, 0.9);
}
#alp .alp-glass--strong {
	background: var(--alp-glass-strong);
	-webkit-backdrop-filter: blur(24px) saturate(1.8);
	backdrop-filter: blur(24px) saturate(1.8);
	border-color: rgba(255, 255, 255, 0.9);
	box-shadow: var(--alp-shadow-strong), inset 0 1px 0 rgba(255, 255, 255, 0.95);
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
	#alp .alp-glass { background: rgba(255, 255, 255, 0.9); }
	#alp .alp-glass--strong { background: rgba(255, 255, 255, 0.96); }
}

/* blurred panorama behind a section, so glass has something to refract */
#alp .alp-soft { position: relative; overflow: hidden; isolation: isolate; }
#alp .alp-soft::before {
	content: "";
	position: absolute; inset: -40px; z-index: -1;
	background: url("../img/partner-landing/landing-soft-480.webp") center 20% / cover no-repeat;
	filter: blur(40px) saturate(1.35) brightness(1.22);
	opacity: .55;
}

/* ---------- buttons ---------- */
#alp .alp-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	min-height: 48px;
	padding: 16px 32px;
	border: 0; border-radius: 16px;
	background: var(--alp-btn-grad);
	box-shadow: var(--alp-btn-shadow);
	color: #fff !important;
	font-family: var(--alp-font);
	font-weight: 800; font-size: 17px; line-height: 1.2;
	text-align: center;
	cursor: pointer;
	transition: transform .2s var(--alp-ease), box-shadow .2s var(--alp-ease), filter .2s ease;
}
#alp .alp-btn--lg { padding: 19px 40px; font-size: 18px; margin-top: 40px; }
#alp .alp-btn--xl { padding: 21px 48px; font-size: 19px; border-radius: 18px; }
#alp .alp-btn--sm { padding: 12px 18px; font-size: 15px; border-radius: 12px; min-height: 44px; white-space: nowrap; }
#alp .alp-btn:active { transform: translateY(0) scale(.98); box-shadow: var(--alp-btn-shadow); }

/* ---------- badge / pills / trust ---------- */
#alp .alp-badge {
	display: inline-flex; align-items: center; gap: 8px;
	padding: 8px 14px; border-radius: 999px;
	background: rgba(31, 158, 120, 0.12); color: var(--alp-green-ink);
	font-size: 13px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase;
}
#alp .alp-badge__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--alp-green); }
#alp .alp-pill { display: inline-block; padding: 4px 10px; border-radius: 999px; font-size: 12px; font-weight: 800; white-space: nowrap; }
#alp .alp-pill--ok { background: rgba(31, 158, 120, 0.14); color: var(--alp-green-ink); }
#alp .alp-pill--new { background: rgba(239, 122, 0, 0.14); color: var(--alp-accent-ink); }

#alp .alp-trust {
	display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 22px;
	margin-top: 26px; font-size: 16px; font-weight: 700;
}
#alp .alp-trust li { display: inline-flex; align-items: center; gap: 8px; }
#alp .alp-trust .alp-ico { color: var(--alp-green); stroke-width: 2.8; font-size: 18px; }

/* ==========================================================================
   HERO
   ========================================================================== */
#alp .alp-hero {
	position: relative;
	padding: calc(var(--alp-header-offset) + 48px) 0 40px;
	background-color: #cfe0ec;
	background-image:
		linear-gradient(180deg, rgba(255, 255, 255, 0) 50%, var(--alp-bg) 100%),
		image-set(url("../img/partner-landing/landing-hero-1920.webp") type("image/webp"), url("../img/partner-landing/landing-hero-1280.jpg") type("image/jpeg"));
	background-size: cover;
	background-position: center top;
	background-repeat: no-repeat;
}
#alp .alp-hero__inner { display: flex; flex-direction: column; align-items: center; }
#alp .alp-hero__card {
	width: 100%; max-width: 900px;
	border-radius: 32px;
	padding: 52px 48px;
	text-align: center;
}
#alp .alp-hero__title {
	font-family: var(--alp-font-display);
	font-size: 50px; line-height: 1.08;
	margin: 22px auto 18px;
	max-width: 760px;
}
#alp .alp-hero__lead { color: var(--alp-muted); font-size: 20px; line-height: 1.55; max-width: 640px; margin: 0 auto 32px; }
#alp .alp-hero__lead b { color: var(--alp-ink); }

/* German / English copy is longer: wider, slightly smaller headline */
#alp.alp--de .alp-hero__title, #alp.alp--en .alp-hero__title { max-width: 820px; font-size: 46px; }
@media (max-width: 1199.98px) { #alp.alp--de .alp-hero__title, #alp.alp--en .alp-hero__title { font-size: 42px; } }
@media (max-width: 991.98px) { #alp.alp--de .alp-hero__title, #alp.alp--en .alp-hero__title { font-size: 36px; } }
@media (max-width: 767.98px) { #alp.alp--de .alp-hero__title, #alp.alp--en .alp-hero__title { font-size: 26px; } }
@media (max-width: 414px) { #alp.alp--de .alp-hero__title, #alp.alp--en .alp-hero__title { font-size: 23px; } }
@media (orientation: landscape) and (hover: none) and (pointer: coarse) and (max-height: 520px) { #alp.alp--de .alp-hero__title, #alp.alp--en .alp-hero__title { font-size: 24px; } }

/* cabinet mockup */
#alp .alp-cab { position: relative; width: 100%; max-width: 760px; margin-top: 56px; }
#alp .alp-cab__window { border-radius: var(--alp-radius); padding: 26px; transition: transform .3s var(--alp-ease), box-shadow .3s var(--alp-ease); }
#alp .alp-cab__dots { display: flex; gap: 6px; margin-bottom: 16px; }
#alp .alp-cab__dots span { width: 11px; height: 11px; border-radius: 50%; background: #f2a35e; }
#alp .alp-cab__dots span:nth-child(2) { background: #f5d27a; }
#alp .alp-cab__dots span:nth-child(3) { background: #7fd3b4; }
#alp .alp-cab__head { display: flex; justify-content: space-between; align-items: center; font-weight: 800; font-size: 17px; }
#alp .alp-cab__list { display: flex; flex-direction: column; gap: 9px; margin-top: 16px; }
#alp .alp-cab__row {
	display: flex; justify-content: space-between; align-items: center; gap: 12px;
	padding: 14px 16px; border-radius: 13px;
	background: #fff; border: 1px solid #e6ecf1; font-size: 15px;
	transition: transform .2s var(--alp-ease), border-color .2s ease, box-shadow .2s ease;
}

#alp .alp-note {
	display: flex; align-items: center; gap: 12px;
	padding: 14px 18px; border-radius: 18px;
	text-align: left;
	transition: transform .25s var(--alp-ease), box-shadow .25s var(--alp-ease);
}
#alp .alp-note b { display: block; font-size: 15px; line-height: 1.3; }
#alp .alp-note small { display: block; color: var(--alp-muted); font-size: 13px; }
#alp .alp-note__ico {
	display: inline-flex; align-items: center; justify-content: center;
	width: 40px; height: 40px; border-radius: 12px; font-size: 22px; flex-shrink: 0;
}
#alp .alp-note__ico--green { color: var(--alp-green); background: rgba(31, 158, 120, 0.12); }
#alp .alp-note__ico--orange { color: #e46f00; background: rgba(239, 122, 0, 0.12); }
#alp .alp-note__ico--blue { color: var(--alp-blue); background: rgba(15, 111, 168, 0.1); }

/* ≥1280: notifications float outside the window (design F) */
@media (min-width: 1280px) {
	#alp .alp-note { position: absolute; z-index: 2; white-space: nowrap; }
	#alp .alp-note--a { left: -220px; top: 30px; }
	#alp .alp-note--b { right: -210px; top: 120px; }
	#alp .alp-note--c { left: -170px; top: 210px; }
}
/* 992–1279: overlap the window edges */
@media (min-width: 992px) and (max-width: 1279.98px) {
	#alp .alp-cab { max-width: 640px; }
	#alp .alp-note { position: absolute; z-index: 2; white-space: nowrap; }
	#alp .alp-note--a { left: -150px; top: 24px; }
	#alp .alp-note--b { right: -150px; top: 118px; }
	#alp .alp-note--c { left: -120px; top: 212px; }
}

/* ==========================================================================
   WHO — chips
   ========================================================================== */
#alp .alp-who { padding-bottom: 40px; }
#alp .alp-chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; max-width: 1000px; margin: 0 auto; }
#alp .alp-chip {
	display: inline-flex; align-items: center; justify-content: center;
	min-height: 48px;
	padding: 15px 24px; border-radius: 999px;
	color: var(--alp-ink) !important;
	font-weight: 800; font-size: 17px; line-height: 1.2;
	transition: transform .2s var(--alp-ease), box-shadow .2s var(--alp-ease), background-color .2s ease, color .2s ease, border-color .2s ease;
}

/* ==========================================================================
   STEPS
   ========================================================================== */
#alp .alp-steps { padding: 80px 0; }
#alp .alp-steps .alp-h2 { margin-bottom: 40px; }
#alp .alp-steps__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
#alp .alp-step {
	display: flex; flex-direction: column; align-items: center; gap: 18px;
	padding: 34px 28px; border-radius: var(--alp-radius);
	transition: transform .25s var(--alp-ease), box-shadow .25s var(--alp-ease), background-color .25s ease;
}
#alp .alp-step__num {
	display: flex; align-items: center; justify-content: center;
	width: 64px; height: 64px; border-radius: 20px;
	background: var(--alp-accent); color: #fff;
	font-family: var(--alp-font-display); font-size: 26px; font-weight: 700;
	box-shadow: 0 10px 22px rgba(239, 122, 0, 0.28);
	transition: transform .25s var(--alp-ease);
}
#alp .alp-step__num--green { background: var(--alp-green); box-shadow: 0 10px 22px rgba(31, 158, 120, 0.28); }
#alp .alp-step__title { font-family: var(--alp-font); font-size: 22px; margin-bottom: 8px; }
#alp .alp-step__text { color: var(--alp-muted); font-size: 16px; line-height: 1.6; }

/* ==========================================================================
   WHY
   ========================================================================== */
#alp .alp-why { padding-bottom: 20px; }
#alp .alp-why__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
#alp .alp-why__item {
	display: flex; align-items: center; justify-content: center;
	min-height: 76px; padding: 22px; border-radius: 18px;
	font-weight: 800; font-size: 17px; line-height: 1.3;
	transition: transform .25s var(--alp-ease), box-shadow .25s var(--alp-ease);
}

/* ==========================================================================
   FAQ
   ========================================================================== */
#alp .alp-faq .alp-h2 { margin-bottom: 28px; }
#alp .alp-faq__list { display: flex; flex-direction: column; gap: 10px; }
#alp .alp-faq__item { border-radius: 18px; transition: box-shadow .2s ease, background-color .2s ease; }
#alp .alp-faq__q {
	display: flex; align-items: center; justify-content: space-between; gap: 16px;
	min-height: 48px;
	padding: 20px 24px;
	list-style: none; cursor: pointer;
	font-weight: 800; font-size: 18px; line-height: 1.35;
	transition: color .2s ease;
}
#alp .alp-faq__q::-webkit-details-marker { display: none; }
#alp .alp-faq__q .alp-ico {
	font-size: 22px; color: var(--alp-accent);
	transition: transform .25s var(--alp-ease);
}
#alp .alp-faq__item[open] .alp-faq__q .alp-ico { transform: rotate(180deg); }
#alp .alp-faq__a { padding: 0 24px 20px; color: var(--alp-muted); font-size: 16px; line-height: 1.6; }

/* ==========================================================================
   FINAL
   ========================================================================== */
#alp .alp-final { padding: 10px 0 100px; }
#alp .alp-final__panel {
	display: flex; justify-content: center;
	padding: 64px 32px;
	border-radius: 36px;
	background-color: #cfe0ec;
	background-image: image-set(url("../img/partner-landing/landing-hero-1280.webp") type("image/webp"), url("../img/partner-landing/landing-hero-1280.jpg") type("image/jpeg"));
	background-size: cover;
	background-position: center;
}
#alp .alp-final__card {
	width: 100%; max-width: 720px;
	padding: 48px 40px;
	border-radius: 28px;
	text-align: center;
}
#alp .alp-final__card .alp-h2 { font-size: 40px; }
#alp .alp-final__card .alp-sub { margin-bottom: 28px; }
#alp .alp-final__ask { margin: 32px 0 12px; font-weight: 700; font-size: 16px; }
#alp .alp-msg { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
#alp .alp-msg__btn {
	display: inline-flex; align-items: center; gap: 8px;
	min-height: 44px; padding: 11px 18px; border-radius: 12px;
	color: var(--alp-ink) !important;
	font-weight: 700; font-size: 15px;
	box-shadow: none;
	transition: transform .2s var(--alp-ease), background .2s ease, color .2s ease, box-shadow .2s ease, border-color .2s ease;
}
#alp .alp-msg__btn .alp-ico { font-size: 18px; color: var(--alp-blue); transition: color .2s ease; }

/* ==========================================================================
   STICKY CTA (tablet + phone only; JS adds .is-visible)
   ========================================================================== */
#alp .alp-sticky { display: none; }

/* ==========================================================================
   HOVER — desktop pointers only
   ========================================================================== */
@media (hover: hover) and (pointer: fine) {
	#alp .alp-btn:hover,
	#alp .alp-btn:focus-visible {
		transform: translateY(-2px);
		box-shadow: var(--alp-btn-shadow-hover);
		filter: brightness(1.05) saturate(1.05);
	}

	#alp .alp-cab:hover .alp-cab__window { transform: translateY(-4px); box-shadow: 0 30px 72px rgba(20, 45, 70, 0.26); }
	#alp .alp-cab__row:hover { transform: translateX(4px); border-color: rgba(239, 122, 0, 0.35); box-shadow: 0 6px 16px rgba(20, 45, 70, 0.08); }
	#alp .alp-note:hover { transform: translateY(-4px) scale(1.03); box-shadow: var(--alp-shadow-hover); }

	#alp .alp-chip:hover,
	#alp .alp-chip:focus-visible {
		transform: translateY(-2px) scale(1.04);
		background: var(--alp-btn-grad);
		border-color: transparent;
		color: #fff !important;
		box-shadow: var(--alp-btn-shadow);
	}

	#alp .alp-step:hover { transform: translateY(-6px); background-color: rgba(255, 255, 255, 0.78); box-shadow: var(--alp-shadow-hover); }
	#alp .alp-step:hover .alp-step__num { transform: scale(1.08) rotate(-4deg); }

	#alp .alp-why__item:hover { transform: translateY(-4px); box-shadow: var(--alp-shadow-hover); }

	#alp .alp-faq__item:hover { background-color: rgba(255, 255, 255, 0.78); box-shadow: var(--alp-shadow-hover); }
	#alp .alp-faq__q:hover { color: var(--alp-accent-ink); }

	#alp .alp-msg__btn:hover,
	#alp .alp-msg__btn:focus-visible {
		transform: translateY(-1px);
		background: var(--alp-btn-grad);
		border-color: transparent;
		color: #fff !important;
		box-shadow: var(--alp-btn-shadow);
	}
	#alp .alp-msg__btn:hover .alp-ico,
	#alp .alp-msg__btn:focus-visible .alp-ico { color: #fff; }
}

/* touch: tap feedback instead of hover */
@media (hover: none) {
	#alp .alp-chip:active, #alp .alp-msg__btn:active { transform: scale(.97); background: rgba(255, 255, 255, 0.9); }
	#alp .alp-faq__q:active { color: var(--alp-accent-ink); }
}

/* ==========================================================================
   ≤1199.98 — laptop
   ========================================================================== */
@media (max-width: 1199.98px) {
	#alp .alp-hero__title { font-size: 48px; }
}

/* ==========================================================================
   768–991.98 — tablet
   ========================================================================== */
@media (max-width: 991.98px) {
	.alp { --alp-gutter: 32px; --alp-header-offset: 84px; }
	#alp .alp-section { padding: 60px 0; }
	#alp .alp-h2 { font-size: 32px; }
	#alp .alp-h2--sm { font-size: 28px; }

	#alp .alp-hero { padding-top: calc(var(--alp-header-offset) + 36px); }
	#alp .alp-hero__card { padding: 44px 36px; border-radius: 28px; }
	#alp .alp-hero__title { font-size: 40px; }
	#alp .alp-hero__lead { font-size: 18px; }

	#alp .alp-cab { max-width: 100%; margin-top: 40px; }
	#alp .alp-cab__notes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 14px; }
	#alp .alp-note { padding: 12px 14px; }
	#alp .alp-note__ico { width: 34px; height: 34px; font-size: 19px; }

	#alp .alp-steps { padding: 64px 0; }
	#alp .alp-steps__grid { gap: 16px; }
	#alp .alp-step { padding: 28px 18px; }
	#alp .alp-step__title { font-size: 19px; }
	#alp .alp-step__text { font-size: 15px; }

	#alp .alp-why__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

	#alp .alp-final { padding-bottom: 96px; }
	#alp .alp-final__panel { padding: 48px 24px; border-radius: 30px; }
	#alp .alp-final__card .alp-h2 { font-size: 34px; }

	/* sticky CTA */
	#alp .alp-sticky {
		display: block;
		position: fixed; z-index: 990;
		left: 12px; right: 76px; /* keeps the theme's scroll-top / accessibility buttons free */
		bottom: calc(12px + env(safe-area-inset-bottom, 0px));
		max-width: 560px;
		transform: translateY(140%);
		opacity: 0; visibility: hidden;
		transition: transform .3s var(--alp-ease), opacity .3s ease, visibility 0s linear .3s;
	}
	#alp .alp-sticky.is-visible {
		transform: translateY(0); opacity: 1; visibility: visible;
		transition: transform .3s var(--alp-ease), opacity .3s ease, visibility 0s;
	}
	#alp .alp-sticky__bar { display: flex; align-items: center; gap: 12px; padding: 10px 10px 10px 16px; border-radius: 18px; }
	#alp .alp-sticky__text { flex: 1 1 auto; min-width: 0; font-size: 13px; line-height: 1.25; }
	#alp .alp-sticky__text b { display: block; font-size: 14px; }
	#alp .alp-sticky__text small { color: var(--alp-muted); font-size: 12px; }
}

/* tablet portrait narrow: notes 1 column above 640 would be cramped */
@media (max-width: 860px) {
	#alp .alp-cab__notes { grid-template-columns: 1fr; }
	#alp .alp-note { justify-self: center; width: min(100%, 420px); }
}

/* ==========================================================================
   ≤767.98 — phone portrait
   ========================================================================== */
@media (max-width: 767.98px) {
	.alp { --alp-gutter: 16px; --alp-header-offset: 72px; }
	#alp .alp-section { padding: 48px 0; }
	#alp .alp-h2 { font-size: 26px; line-height: 1.2; }
	#alp .alp-h2--sm { font-size: 24px; margin-bottom: 20px; }
	#alp .alp-sub { font-size: 16px; margin-bottom: 22px; }

	#alp .alp-hero {
		padding: calc(var(--alp-header-offset) + 120px) 0 28px;
		background-image:
			linear-gradient(180deg, rgba(255, 255, 255, 0) 30%, var(--alp-bg) 78%),
			image-set(url("../img/partner-landing/landing-hero-640.webp") type("image/webp"), url("../img/partner-landing/landing-hero-1280.jpg") type("image/jpeg"));
		background-size: auto 560px;
		background-position: 30% top;
	}
	#alp .alp-hero__card { padding: 26px 20px; border-radius: 24px; }
	#alp .alp-badge { font-size: 11px; padding: 6px 12px; }
	#alp .alp-hero__title { font-size: 28px; line-height: 1.12; margin: 16px 0 12px; }
	#alp .alp-hero__lead { font-size: 16px; margin-bottom: 20px; }
	#alp .alp-btn--xl, #alp .alp-btn--lg { width: 100%; padding: 17px 20px; font-size: 17px; border-radius: 14px; }
	#alp .alp-btn--lg { margin-top: 28px; }
	#alp .alp-trust { gap: 8px; margin-top: 18px; font-size: 13px; font-weight: 800; }
	#alp .alp-trust li { padding: 8px 10px; border-radius: 10px; background: rgba(31, 158, 120, 0.1); }
	#alp .alp-trust .alp-ico { display: none; }

	#alp .alp-cab { margin-top: 24px; }
	#alp .alp-cab__window { padding: 18px; border-radius: 20px; }
	#alp .alp-cab__dots { display: none; }
	#alp .alp-cab__head { font-size: 15px; }
	#alp .alp-cab__list { margin-top: 12px; gap: 8px; }
	#alp .alp-cab__row { padding: 12px; font-size: 14px; }
	#alp .alp-cab__notes { gap: 10px; margin-top: 12px; }
	#alp .alp-note { width: 100%; border-radius: 16px; }

	#alp .alp-chips { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	#alp .alp-chip { width: 100%; height: 100%; padding: 14px 10px; border-radius: 16px; font-size: 15px; }
	#alp .alp-chips li:last-child:nth-child(odd) { grid-column: 1 / -1; }

	#alp .alp-steps { padding: 48px 0; }
	#alp .alp-steps .alp-h2 { margin-bottom: 22px; }
	#alp .alp-steps__grid { grid-template-columns: 1fr; gap: 10px; }
	#alp .alp-step { flex-direction: row; align-items: center; gap: 14px; padding: 16px 18px; border-radius: 18px; text-align: left; }
	#alp .alp-step__num { width: 48px; height: 48px; border-radius: 14px; font-size: 20px; flex-shrink: 0; }
	#alp .alp-step__title { font-size: 17px; margin-bottom: 2px; }
	#alp .alp-step__text { font-size: 14px; line-height: 1.45; }

	#alp .alp-why__grid { gap: 10px; }
	#alp .alp-why__item { min-height: 64px; padding: 14px 10px; font-size: 15px; border-radius: 16px; }

	#alp .alp-faq .alp-h2 { margin-bottom: 18px; }
	#alp .alp-faq__list { gap: 8px; }
	#alp .alp-faq__q { padding: 16px; font-size: 16px; }
	#alp .alp-faq__a { padding: 0 16px 16px; font-size: 15px; }

	#alp .alp-final { padding: 0 0 96px; }
	#alp .alp-final__panel { padding: 0; background: none; border-radius: 0; }
	#alp .alp-final__card {
		padding: 28px 20px; border-radius: 24px;
		background: linear-gradient(135deg, rgba(255, 232, 206, 0.9), rgba(214, 243, 232, 0.85));
	}
	#alp .alp-final__card .alp-h2 { font-size: 24px; }
	#alp .alp-final__card .alp-sub { font-size: 15px; margin-bottom: 18px; }
	#alp .alp-final__ask { margin: 22px 0 10px; font-size: 14px; }
	#alp .alp-msg { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
	#alp .alp-msg li:last-child:nth-child(odd) { grid-column: 1 / -1; }
	#alp .alp-msg__btn { width: 100%; justify-content: center; }

	#alp .alp-sticky { left: 10px; right: 70px; }
}

/* long German compounds (Ausrüstungsverleih, Ferienhäuser …) */
@media (max-width: 767.98px) {
	#alp .alp-hero__title, #alp .alp-h2, #alp .alp-chip, #alp .alp-why__item, #alp .alp-step__title, #alp .alp-faq__q, #alp .alp-sticky__text b {
		-webkit-hyphens: auto;
		hyphens: auto;
		overflow-wrap: break-word;
	}
}

@media (max-width: 414px) {
	#alp .alp-hero__title { font-size: 25px; }
	#alp .alp-h2 { font-size: 23px; }
	#alp .alp-chip { font-size: 14px; }
	#alp .alp-sticky__text small { display: none; }
}

/* ==========================================================================
   Phone landscape (short viewport, touch)
   ========================================================================== */
@media (orientation: landscape) and (hover: none) and (pointer: coarse) and (max-height: 520px) {
	.alp { --alp-gutter: 24px; --alp-header-offset: 64px; }
	#alp .alp-section { padding: 40px 0; }
	#alp .alp-h2 { font-size: 24px; }

	#alp .alp-hero {
		padding: calc(var(--alp-header-offset) + 20px) 0 24px;
		background-size: cover;
		background-position: center top;
	}
	#alp .alp-hero__card { max-width: 720px; padding: 22px 28px; }
	#alp .alp-hero__title { font-size: 26px; margin: 12px 0 10px; }
	#alp .alp-hero__lead { font-size: 15px; margin-bottom: 16px; }
	#alp .alp-btn--xl, #alp .alp-btn--lg { width: auto; padding: 14px 32px; font-size: 16px; }
	#alp .alp-trust { margin-top: 14px; }

	#alp .alp-cab { max-width: 720px; margin-top: 20px; }
	#alp .alp-cab__notes { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	#alp .alp-note b { font-size: 13px; }
	#alp .alp-note small { font-size: 12px; }
	#alp .alp-note__ico { display: none; }

	#alp .alp-chips { display: flex; }
	#alp .alp-chip { width: auto; height: auto; padding: 12px 18px; border-radius: 999px; }

	#alp .alp-steps__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	#alp .alp-step { flex-direction: column; text-align: center; padding: 18px 12px; }
	#alp .alp-why__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }

	#alp .alp-final__card { max-width: 640px; margin: 0 auto; }
	#alp .alp-msg { display: flex; }

	#alp .alp-sticky { right: 76px; max-width: 520px; }
}

/* ==========================================================================
   Motion
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
	.alp *, .alp *::before, .alp *::after { transition: none !important; animation: none !important; }
	#alp .alp-btn:hover, #alp .alp-chip:hover, #alp .alp-step:hover, #alp .alp-note:hover, #alp .alp-why__item:hover { transform: none !important; }
}
