/* ============================================================
   WOLTIDO — extended components (CZ build)
   pillars · 4-up · pricing · comparison · calc · dotace ·
   sticky CTA · subpage cards · checklist · app mock · blog
   ============================================================ */

/* ---------- Sticky mobile conversion bar ---------- */
.stickycta {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 95;
  display: none; gap: 10px; padding: 10px 14px calc(10px + env(safe-area-inset-bottom));
  background: rgba(20,16,11,.92); backdrop-filter: blur(10px);
  border-top: 1px solid rgba(246,242,236,.12);
  transform: translateY(110%); transition: transform .35s var(--ease);
}
.stickycta.show { transform: none; }
.stickycta__call { flex-shrink: 0; width: 50px; display: grid; place-items: center; border-radius: var(--r-sm); background: rgba(246,242,236,.12); color: #fff; }
.stickycta__call svg { width: 22px; height: 22px; }
.stickycta__main { flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 8px; background: var(--red-600); color: #fff; font-weight: 700; border-radius: var(--r-sm); padding: 14px; font-size: 1rem; }
.stickycta__main svg { width: 18px; height: 18px; }
@media (max-width: 760px) { .stickycta { display: flex; } }
@media (max-width: 760px) { body { } }

/* ---------- Section header variant: with index ---------- */
.sec-head .kicker-row { display: flex; align-items: baseline; gap: 14px; margin-bottom: 18px; }

/* ---------- Pillars (Proč Woltido — 4-up, hairline) ---------- */
.pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line-2); border: 1px solid var(--line-2); border-radius: var(--r-lg); overflow: hidden; }
.pillar { background: var(--bg); padding: 34px clamp(24px,2.4vw,32px) 32px; }
.pillar__ic { color: var(--red); margin-bottom: 22px; }
.pillar__ic svg { width: 30px; height: 30px; }
.pillar h3 { font-size: 1.125rem; font-weight: 600; margin-bottom: 10px; }
.pillar p { color: var(--muted); font-size: .9375rem; line-height: 1.55; }
@media (max-width: 880px) { .pillars { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .pillars { grid-template-columns: 1fr; } }

/* ---------- 4-up solution cards ---------- */
.cards-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
/* keep card titles aligned in a 4-up row when one card has no badge (reserve the badge slot) */
.cards-4 .scard__body:not(:has(.badge))::before { content: ""; display: block; height: 21px; margin-bottom: 14px; }
@media (max-width: 1000px) { .cards-4 { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .cards-4 { grid-template-columns: 1fr; } }

/* compact solution card (icon + title + text + link) */
.scard { background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 30px 28px 28px; display: flex; flex-direction: column; transition: transform .35s var(--ease), box-shadow .35s var(--ease), border-color .3s; }
@media (hover:hover){ .scard:hover { transform: translateY(-5px); box-shadow: var(--sh-lg); border-color: var(--line-2); } }
.scard__ic { width: 52px; height: 52px; border-radius: 14px; background: var(--red-soft); color: var(--red); display: grid; place-items: center; margin-bottom: 22px; }
.scard__ic svg { width: 26px; height: 26px; }
.scard h3 { font-size: 1.25rem; font-weight: 600; margin-bottom: 10px; }
.scard p { color: var(--muted); font-size: .9375rem; flex: 1; }
.scard .link-arrow { margin-top: 20px; color: var(--red); font-size: .9375rem; }
.scard .badge { align-self: flex-start; margin-bottom: 14px; }
.scard__stat { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line); display: flex; align-items: baseline; gap: 8px; }
.scard__stat b { font-family: var(--font-display); font-weight: 800; font-size: 1.5rem; letter-spacing: -.03em; color: var(--ink); }
.scard__stat b .u { color: var(--red); font-size: .7em; }
.scard__stat span { font-size: .8125rem; color: var(--muted); }

/* ---------- Rating summary bar (social proof) ---------- */
.rating-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 14px 28px; background: var(--paper); border: 1px solid var(--line); border-radius: var(--pill); padding: 14px 28px; width: fit-content; max-width: 100%; margin: 0 auto 44px; box-shadow: var(--sh-md); }
.rating-bar__score { display: flex; align-items: center; gap: 12px; }
.rating-bar__score .big { font-family: var(--font-display); font-weight: 800; font-size: 1.5rem; letter-spacing: -.03em; color: var(--ink); }
.rating-bar__stars { color: var(--red); letter-spacing: 2px; font-size: 1rem; }
.rating-bar__div { width: 1px; height: 28px; background: var(--line-2); }
.rating-bar__item { display: flex; align-items: center; gap: 9px; font-weight: 600; font-size: .875rem; color: var(--ink); }
.rating-bar__item svg { width: 18px; height: 18px; color: var(--red); }
.rating-bar__item span { color: var(--muted); font-weight: 400; }
@media (max-width: 600px) { .rating-bar { border-radius: var(--r-lg); flex-direction: column; gap: 12px; } .rating-bar__div { display: none; } }

/* ---------- Reviews carousel ---------- */
.carousel { position: relative; }
.carousel__track { display: flex; gap: 22px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; padding: 4px; margin: -4px; -ms-overflow-style: none; scrollbar-width: none; }
.carousel__track::-webkit-scrollbar { display: none; }
.carousel__track > * { scroll-snap-align: start; flex: 0 0 calc((100% - 44px) / 3); }
.carousel .qcard__who { margin-top: auto; }
@media (max-width: 900px) { .carousel__track > * { flex-basis: calc((100% - 22px) / 2); } }
@media (max-width: 600px) { .carousel__track > * { flex-basis: 100%; } }
.carousel__controls { display: flex; align-items: center; justify-content: center; gap: 20px; margin-top: 30px; }
.carousel__dots { display: flex; gap: 8px; }
.carousel__dots button { width: 24px; height: 24px; border: none; background: transparent; padding: 0; cursor: pointer; position: relative; } /* 24px hit area (WCAG 2.5.8); dot drawn via ::before */
.carousel__dots button::before { content: ""; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 8px; height: 8px; border-radius: 50%; background: var(--line-2); transition: width .25s var(--ease), background .25s; }
.carousel__dots button.active::before { background: var(--red); width: 20px; border-radius: 4px; }
.carousel__btn { width: 48px; height: 48px; border-radius: 50%; border: 1.5px solid var(--line-2); background: var(--paper); color: var(--ink); display: grid; place-items: center; transition: border-color .2s, background .2s, opacity .2s; }
.carousel__btn:hover { border-color: var(--ink); }
.carousel__btn:disabled { opacity: .3; cursor: default; }
.carousel__btn svg { width: 20px; height: 20px; }

/* ---------- Product image (transparent cutout, no container) ---------- */
.feature__media--product { background: none; box-shadow: none; border-radius: 0; overflow: visible; aspect-ratio: auto; display: grid; place-items: center; }
.feature__media--product img { position: static; width: 100%; height: auto; max-height: 480px; object-fit: contain; background: none; filter: drop-shadow(0 28px 42px rgba(20,15,8,.22)); }

/* product photo replacing the card icon — large, overflowing the card top */
.scard { overflow: visible; }
.scard__photo { height: 200px; margin: -56px 0 14px; display: flex; align-items: flex-end; justify-content: center; }
.scard__photo img { height: 100%; width: auto; max-width: 100%; object-fit: contain; object-position: center bottom; filter: drop-shadow(0 24px 32px rgba(20,15,8,.26)); }
.scard__photo--icon { align-items: flex-end; }
.scard__photo--icon .scard__ic { margin-bottom: 0; }

/* Solution cards: large REAL photo (cover, full-bleed) at the card top, whole card
   clickable, full-width button CTA (instead of the small "Zjistit více" text link). */
.scard--product { position: relative; overflow: hidden; padding-top: 0; }
.scard--product .scard__photo { height: 236px; margin: 0 -28px 22px; padding: 0; background: var(--stone); overflow: hidden; }
.scard--product .scard__photo img { width: 100%; height: 100%; object-fit: cover; object-position: center; filter: none; }
.scard__cta { margin-top: 20px; display: inline-flex; align-items: center; justify-content: center; gap: .5em; width: 100%; padding: .95em 1.2em; border-radius: var(--pill); border: 1.5px solid var(--line-2); font-family: var(--font-body); font-weight: 600; font-size: 1rem; color: var(--ink); transition: background .25s, color .25s, border-color .25s; }
.scard--product:hover .scard__cta { background: var(--ink); color: #fff; border-color: var(--ink); }
.scard__cta .arr { color: var(--red); transition: transform .25s var(--ease), color .25s; }
.scard--product:hover .scard__cta .arr { transform: translateX(3px); color: #fff; }
/* stretched link → the whole card is clickable */
.scard__cta::after { content: ""; position: absolute; inset: 0; z-index: 1; }
@media (max-width: 560px) { .scard--product .scard__photo { height: 208px; } }

/* Photographic scards (e.g. ai-rizeni comparison cards) carry a real photo
   (img.imgfill), not a floating transparent product render. Give them a
   contained cover image clipped to the card's rounded top corners — no
   negative-top float, no drop-shadow, no square corners poking out. */
.scard:has(.scard__photo img.imgfill) { overflow: hidden; }
.scard:has(.scard__photo img.imgfill) .scard__photo {
  height: 196px;
  margin: -30px -28px 22px;   /* bleed to the card edges (cancel 30px top / 28px side padding) */
  display: block;
}
.scard__photo img.imgfill {
  width: 100%; height: 100%;
  object-fit: cover; object-position: center;
  max-width: none;
  filter: none;
}

/* ---------- Subpage cards (image + badge + text) used on overview pages ---------- */
.subcards { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
@media (max-width: 760px) { .subcards { grid-template-columns: 1fr; } }
/* 3-up variant for ODD-count subcard grids (3/5) — the default 2-col leaves a
   lonely 2+1 / 2+2+1 even on desktop. 3-col → 3 / 3+2 (no orphan). */
.subcards--3up { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 760px) { .subcards--3up { grid-template-columns: 1fr; } }
.subcard { display: grid; grid-template-columns: 150px 1fr; background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-lg); overflow: hidden; transition: transform .35s var(--ease), box-shadow .35s, border-color .3s; }
/* text-only related cards (no image) — full-width body instead of being squished into the 150px image column */
.subcard:not(:has(.subcard__media)) { grid-template-columns: 1fr; }
@media (hover:hover){ .subcard:hover { transform: translateY(-5px); box-shadow: var(--sh-lg); border-color: var(--line-2); } }
.subcard__media { position: relative; overflow: hidden; background: var(--ink-2); }
.subcard__media .imgfill { position: absolute; inset: 0; transition: transform .6s var(--ease); }
@media (hover:hover){ .subcard:hover .subcard__media .imgfill { transform: scale(1.06); } }
.subcard__body { padding: 24px 26px; display: flex; flex-direction: column; }
.subcard__body .badge { align-self: flex-start; margin-bottom: 12px; }
.subcard__body h3 { font-size: 1.25rem; font-weight: 600; margin-bottom: 8px; }
.subcard__body p { color: var(--muted); font-size: .875rem; flex: 1; }
.subcard__body .link-arrow { margin-top: 16px; color: var(--red); font-size: .875rem; }
@media (max-width: 460px) { .subcard { grid-template-columns: 1fr; } .subcard__media { aspect-ratio: 16/9; } }
/* 3-up image subcards get too narrow for the fixed 150px image column between the
   3-across band and the 760px collapse → stack internals so body text isn't clipped */
@media (min-width: 461px) and (max-width: 1100px) {
  .subcards--3up .subcard:has(.subcard__media) { grid-template-columns: 1fr; }
  .subcards--3up .subcard:has(.subcard__media) .subcard__media { aspect-ratio: 16/9; }
}

/* ---------- Checklist block ---------- */
.checklist { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; }
.checklist li { display: flex; gap: 14px; align-items: flex-start; padding: 15px 0; border-top: 1px solid var(--line); font-size: 1rem; }
.checklist li:first-child { border-top: none; }
.checklist svg { width: 20px; height: 20px; color: var(--red); flex-shrink: 0; margin-top: 3px; }
.checklist.two { grid-template-columns: 1fr 1fr; column-gap: 40px; }
.checklist.two li:nth-child(2) { border-top: none; }
@media (max-width: 680px) { .checklist.two { grid-template-columns: 1fr; } .checklist.two li:nth-child(2) { border-top: 1px solid var(--line); } }

/* ---------- Info / process flow strip (how it works) ---------- */
.flow { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; position: relative; }
.flow__node { position: relative; background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 30px 24px 26px; transition: transform .35s var(--ease), box-shadow .35s var(--ease), border-color .3s; }
@media (hover:hover){ .flow__node:hover { transform: translateY(-5px); box-shadow: var(--sh-lg); border-color: var(--line-2); } }
.flow__node .n { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 50%; background: var(--red-soft); color: var(--red); font-family: var(--font-display); font-weight: 800; font-size: 1rem; margin-bottom: 18px; transition: background .3s, color .3s; }
.flow__node:hover .n { background: var(--red); color: #fff; }
.flow__node h4 { font-size: 1.125rem; font-weight: 600; margin-bottom: 8px; }
.flow__node p { color: var(--muted); font-size: .875rem; }
.flow__node:not(:last-child)::after { content: ""; position: absolute; top: 51px; right: -11px; width: 10px; height: 10px; border-top: 2px solid var(--line-2); border-right: 2px solid var(--line-2); transform: rotate(45deg); z-index: 1; }
@media (max-width: 880px) { .flow { grid-template-columns: 1fr 1fr; } .flow__node:not(:last-child)::after { display: none; } }
@media (max-width: 480px) { .flow { grid-template-columns: 1fr; } }

/* ---------- Process — clean editorial steps ---------- */
.steps { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line-2); }
.step { padding: 32px clamp(16px,2vw,32px) 6px; border-left: 1px solid var(--line-2); min-width: 0; }
.step:first-child { border-left: none; padding-left: 0; }
.step__n { display: flex; align-items: center; gap: 12px; font-family: var(--font-display); font-weight: 700; font-size: .9375rem; color: var(--red); font-variant-numeric: tabular-nums; margin-bottom: 20px; }
.step__n::after { content: ""; flex: 1; height: 1px; background: var(--line-2); }
.step h4, .step h3 { font-size: 1.125rem; font-weight: 600; margin-bottom: 8px; letter-spacing: -.01em; }
.step p { color: var(--muted); font-size: .875rem; line-height: 1.55; }
.step__tag { display: inline-block; margin-top: 16px; font-size: .8125rem; font-weight: 600; color: var(--ink); }
.step__tag::before { content: ""; display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--red); margin-right: 8px; vertical-align: middle; }
@media (max-width: 880px) { .steps { grid-template-columns: 1fr 1fr; gap: 4px 0; } .step:nth-child(odd) { border-left: none; padding-left: 0; } .step:nth-child(n+3) { border-top: 1px solid var(--line-2); margin-top: 8px; } }
@media (max-width: 520px) { .steps { grid-template-columns: 1fr; } .step { border-left: none; padding-left: 0; border-top: 1px solid var(--line-2); margin-top: 0; } .step:first-child { border-top: none; } }

/* 3-up variant for pillar/step grids used with 3 / 5 / 6 / 9 items — keeps a
   clean 3-across (5 → 3+2, 9 → 3×3) and skips the 4-col & 2-col stages that
   leave a lonely "4+1 / 2+2+1" orphan. Declared after the base rules + at each
   breakpoint so it overrides the default .steps/.pillars cascade by order. */
.pillars--3up { grid-template-columns: repeat(3, 1fr); gap: 0; background: var(--bg); }
/* border-based seams so a partial last row (5 → 3+2) leaves NO gray empty cell */
.pillars--3up .pillar { border-left: 1px solid var(--line-2); border-top: 1px solid var(--line-2); }
.pillars--3up .pillar:nth-child(3n+1) { border-left: none; }
.pillars--3up .pillar:nth-child(-n+3) { border-top: none; }
/* 3-up icon cards (trio) — repeat(3) with no lonely 2-col orphan window */
.icards--trio { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 680px) { .icards--trio { grid-template-columns: 1fr; } }
.steps--3up { grid-template-columns: repeat(3, 1fr); }
.steps--3up .step { border-left: 1px solid var(--line-2); border-top: none; margin-top: 0; }
.steps--3up .step:nth-child(3n+1) { border-left: none; padding-left: 0; }
.steps--3up .step:nth-child(n+4) { border-top: 1px solid var(--line-2); margin-top: 8px; }
@media (max-width: 880px) {
  .pillars--3up { grid-template-columns: repeat(3, 1fr); }
  .steps--3up { grid-template-columns: repeat(3, 1fr); }
  .steps--3up .step { border-left: 1px solid var(--line-2); border-top: none; margin-top: 0; }
  .steps--3up .step:nth-child(3n+1) { border-left: none; padding-left: 0; }
  .steps--3up .step:nth-child(-n+3) { border-top: none; margin-top: 0; }
  .steps--3up .step:nth-child(n+4) { border-top: 1px solid var(--line-2); margin-top: 8px; }
}
@media (max-width: 680px) {
  .pillars--3up { grid-template-columns: 1fr; }
  .steps--3up { grid-template-columns: 1fr; }
  .steps--3up .step { border-left: none; padding-left: 0; border-top: 1px solid var(--line-2); margin-top: 0; }
  .steps--3up .step:first-child { border-top: none; }
  .steps--3up .step--cta { border-top: none !important; }
}

/* Conversion CTA tile filling the empty 6th cell of the 5-step offer grid */
.step.step--cta { border: 0 !important; padding: 0; margin-top: 8px; text-decoration: none; }
.step--cta__inner { height: 100%; background: var(--red-600); color: #fff; border-radius: var(--r-lg); padding: clamp(26px, 3vw, 36px); display: flex; flex-direction: column; align-items: flex-start; gap: 12px; justify-content: center; transition: background .25s var(--ease), transform .3s var(--ease), box-shadow .3s; }
@media (hover:hover){ .step.step--cta:hover .step--cta__inner { background: var(--red-700); transform: translateY(-4px); box-shadow: var(--sh-lg); } }
.step--cta__inner h3 { color: #fff; font-family: var(--font-display); font-weight: 700; font-size: clamp(1.2rem, 1.5vw, 1.45rem); letter-spacing: -.01em; line-height: 1.15; }
.step--cta__inner p { color: rgba(255,255,255,.88); font-size: .875rem; line-height: 1.5; }
.step--cta__btn { display: inline-flex; align-items: center; gap: .5em; margin-top: 6px; background: #fff; color: var(--red-700); font-weight: 600; font-size: .9375rem; padding: .72em 1.25em; border-radius: var(--pill); }
.step--cta__btn .arr { transition: transform .25s var(--ease); }
.step.step--cta:hover .step--cta__btn .arr { transform: translateX(4px); }
@media (max-width: 680px) { .step.step--cta { margin-top: 12px; } }

/* ---------- Prominent multi-step lead-form band ---------- */
.leadband { background: var(--ink-2); color: var(--on-dark); border-radius: var(--r-xl); padding: clamp(30px,4vw,56px); display: grid; grid-template-columns: .92fr 1.08fr; gap: clamp(30px,4vw,56px); align-items: center; position: relative; overflow: hidden; }
.leadband::before { content: ""; position: absolute; top: -40%; right: -10%; width: 420px; height: 420px; background: radial-gradient(circle, rgba(225,42,30,.22), transparent 70%); pointer-events: none; }
.leadband__copy { position: relative; z-index: 1; }
.leadband h2 { color: #fff; }
.leadband .eyebrow { color: var(--on-dark-mut); margin-bottom: 16px; }
.leadband .eyebrow::before { background: var(--red); }
.leadband .lead { color: rgba(246,242,236,.78); margin: 14px 0 26px; }
.leadband .checklist li { border-top-color: rgba(246,242,236,.14); color: rgba(246,242,236,.92); }
.leadband .checklist svg { color: var(--red); }
.leadband__trust { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin-top: 26px; }
.leadband__trust .stars { color: var(--red); letter-spacing: 2px; }
.leadband__trust b { color: #fff; font-family: var(--font-display); font-weight: 700; }
.leadband__trust span { color: rgba(246,242,236,.6); font-size: .875rem; }
.leadband [data-leadform] { position: relative; z-index: 1; }
@media (max-width: 880px) { .leadband { grid-template-columns: 1fr; } }

/* ---------- Pricing packages ---------- */
.pricing { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; align-items: stretch; }
@media (max-width: 920px) { .pricing { grid-template-columns: 1fr; max-width: 480px; margin-inline: auto; } }
.price-card { background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-xl); padding: 34px 32px 36px; display: flex; flex-direction: column; position: relative; transition: transform .35s var(--ease), box-shadow .35s; }
@media (hover:hover){ .price-card:hover { transform: translateY(-5px); box-shadow: var(--sh-lg); } }
.price-card.featured { border-color: var(--ink); box-shadow: var(--sh-md); }
.price-card.featured::before { content: "Nejoblíbenější"; position: absolute; top: -13px; left: 50%; transform: translateX(-50%); background: var(--ink); color: var(--bg); font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: .5em .9em; border-radius: var(--pill); white-space: nowrap; }
html[lang="de"] .price-card.featured::before { content: "Beliebteste"; }
.price-card__name { font-family: var(--font-display); font-weight: 700; font-size: 1.25rem; letter-spacing: -.01em; }
.price-card__desc { color: var(--muted); font-size: .875rem; margin: 8px 0 22px; min-height: 42px; }
.price-card__price { display: flex; align-items: baseline; gap: 6px; padding-bottom: 8px; }
.price-card__price .from { color: var(--muted); font-size: .875rem; }
.price-card__price .amount { font-family: var(--font-display); font-weight: 800; font-size: 2.25rem; letter-spacing: -.03em; color: var(--ink); }
.price-card__after { font-size: .875rem; color: var(--green); font-weight: 600; margin-bottom: 22px; min-height: 3.6em; line-height: 1.35; }
.price-card__list { list-style: none; margin: 0 0 26px; padding: 22px 0 0; border-top: 1px solid var(--line); display: grid; gap: 13px; flex: 1; }
.price-card__list li { display: flex; gap: 11px; align-items: flex-start; font-size: .9375rem; }
.price-card__list svg { width: 17px; height: 17px; color: var(--red); flex-shrink: 0; margin-top: 3px; }
/* price-card chips shrink-wrap + left-align instead of stretching full-width */
.price-card .badge { align-self: flex-start; }

/* ---------- Comparison table ---------- */
.cmp { width: 100%; min-width: 540px; border-collapse: collapse; background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-lg); overflow: hidden; }
.cmp th, .cmp td { padding: 18px 22px; text-align: left; border-bottom: 1px solid var(--line); font-size: .9375rem; }
.cmp thead th { background: var(--stone); font-family: var(--font-display); font-weight: 600; font-size: 1rem; }
.cmp thead th:last-child { color: var(--ink); font-weight: 700; }
.cmp tbody th { font-weight: 600; color: var(--ink); }
.cmp td { color: var(--muted); }
.cmp td:last-child { color: var(--ink); font-weight: 600; }
.cmp tr:last-child th, .cmp tr:last-child td { border-bottom: none; }
.cmp .neg { color: var(--muted); }
.cmp-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
@media (max-width: 600px) { .cmp th, .cmp td { padding: 14px 16px; font-size: .875rem; } }

/* ---------- Savings table (highlight row) ---------- */
.cmp tr.win th, .cmp tr.win td { background: var(--red-soft); }
.cmp tr.win td:last-child { color: var(--ink); font-weight: 800; }

/* ---------- Dotace / förder band ---------- */
.dotace { background: var(--ink-2); color: var(--on-dark); border-radius: var(--r-xl); padding: clamp(36px,5vw,64px); display: grid; grid-template-columns: 1.2fr .8fr; gap: clamp(30px,4vw,56px); align-items: center; }
.dotace h2 { color: #fff; }
.dotace .lead { color: rgba(246,242,236,.78); }
.dotace__badges { display: flex; gap: 12px; margin-top: 24px; flex-wrap: wrap; }
.dotace__badge { background: rgba(246,242,236,.08); border: 1px solid rgba(246,242,236,.16); border-radius: var(--pill); padding: .6em 1.1em; font-weight: 600; font-size: .875rem; }
.dotace__big { text-align: center; background: rgba(246,242,236,.06); border: 1px solid rgba(246,242,236,.14); border-radius: var(--r-lg); padding: 34px; }
.dotace__big .num { font-family: var(--font-display); font-weight: 800; font-size: clamp(3rem,6vw,4.5rem); line-height: 1; color: #fff; letter-spacing: -.04em; }
.dotace__big .num .u { color: var(--red); }
.dotace__big .lbl { color: rgba(246,242,236,.7); margin-top: 12px; font-size: .9375rem; }
@media (max-width: 760px) { .dotace { grid-template-columns: 1fr; } }

/* ---------- Calculator ---------- */
.calc { background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-xl); box-shadow: var(--sh-md); overflow: hidden; display: grid; grid-template-columns: 1fr 1fr; }
@media (max-width: 880px) { .calc { grid-template-columns: 1fr; } }
.calc__form { padding: clamp(28px,3vw,40px); }
.calc__result { background: var(--ink-2); color: var(--on-dark); padding: clamp(28px,3vw,40px); display: flex; flex-direction: column; }
.calc__step { margin-bottom: 26px; }
.calc__step > label { display: block; font-weight: 600; font-size: .9375rem; margin-bottom: 12px; }
.calc__step > label .q { color: var(--red); font-family: var(--font-display); font-weight: 800; margin-right: 8px; }
.seg-ctrl { display: flex; flex-wrap: wrap; gap: 8px; }
.seg-ctrl button { border: 1.5px solid var(--line-2); background: var(--paper); border-radius: var(--pill); padding: .6em 1.05em; min-height: 44px; font-weight: 600; font-size: .875rem; color: var(--ink); transition: background .2s, color .2s, border-color .2s; }
.seg-ctrl button:hover { border-color: var(--ink); }
.seg-ctrl button.active { background: var(--red-600); border-color: var(--red-600); color: #fff; }
.calc select, .calc input[type="text"], .calc input[type="number"] { width: 100%; font-family: inherit; font-size: 1rem; padding: 13px 16px; border: 1.5px solid var(--line-2); border-radius: var(--r-sm); background: var(--paper); color: var(--ink); }
.calc select:focus, .calc input:focus { outline: none; border-color: var(--red); box-shadow: 0 0 0 3px var(--red-soft); }
.calc__slider-val { float: right; font-family: var(--font-display); font-weight: 700; color: var(--red); }
.calc input[type=range]{ -webkit-appearance:none; width:100%; height:6px; border-radius:4px; background:var(--stone-2); outline:none; margin-top: 6px; }
.calc input[type=range]::-webkit-slider-thumb{ -webkit-appearance:none; width:24px; height:24px; border-radius:50%; background:var(--red); cursor:pointer; border: 3px solid #fff; box-shadow: var(--sh-sm); }
.calc input[type=range]::-moz-range-thumb{ width:22px; height:22px; border-radius:50%; background:var(--red); cursor:pointer; border:3px solid #fff; }
/* Visible keyboard focus for the range (the generic .calc input:focus rule sets
   outline:none, which left the range with only a faint border change). */
.calc input[type=range]:focus-visible{ outline:2px solid var(--red); outline-offset:4px; border-radius:4px; }
.calc__result .eyebrow { color: var(--on-dark-mut); margin-bottom: 18px; }
.calc__result .eyebrow::before { background: var(--red); }
.calc__big { font-family: var(--font-display); font-weight: 800; font-size: clamp(2.6rem,5vw,3.6rem); line-height: 1; letter-spacing: -.04em; color: #fff; }
.calc__big .u { color: var(--red); font-size: .55em; }
.calc__big-lbl { color: rgba(246,242,236,.7); margin: 10px 0 26px; }
.calc__rows { display: grid; gap: 0; border-top: 1px solid rgba(246,242,236,.14); margin-bottom: 24px; }
.calc__row { display: flex; justify-content: space-between; align-items: baseline; gap: 14px; padding: 15px 0; border-bottom: 1px solid rgba(246,242,236,.14); }
.calc__row span { color: rgba(246,242,236,.72); font-size: .9375rem; }
.calc__row b { font-family: var(--font-display); font-weight: 700; font-size: 1.25rem; color: #fff; }
.calc__row b .u { color: var(--red); font-size: .8125rem; }
.calc__disclaimer { font-size: .8125rem; color: rgba(246,242,236,.5); margin-top: auto; padding-top: 18px; }
.calc__cta { margin-top: 20px; }

/* orientation note chip */
.note-orient { display: inline-flex; align-items: center; gap: 8px; background: var(--amber-bg, #FBF1DC); color: var(--amber, #8A5A12); border-radius: var(--pill); padding: .4em .9em; font-size: .8125rem; font-weight: 600; }
.note-orient svg { width: 14px; height: 14px; }

/* ---------- App mock (AI app page) ---------- */
.appmock { position: relative; width: 280px; max-width: 100%; margin-inline: auto; }
/* ai-aplikace hero is an inline 2-col grid with a fixed 280px phone mockup and no
   collapse rule → it overflows/crushes on mobile; collapse it (inline style needs !important) */
@media (max-width: 860px) { .phero .phero__inner[style*="grid"] { grid-template-columns: 1fr !important; } }
.appmock__phone { background: var(--ink-2); border-radius: 40px; padding: 12px; box-shadow: var(--sh-xl); }
.appmock__screen { background: var(--bg); border-radius: 30px; overflow: hidden; aspect-ratio: 9/19; padding: 22px 18px; display: flex; flex-direction: column; gap: 14px; }
.appmock__top { display: flex; justify-content: space-between; align-items: center; font-size: .75rem; color: var(--muted); font-weight: 600; }
.appmock__hero { background: var(--ink-2); color: #fff; border-radius: var(--r-md); padding: 18px; }
.appmock__hero .lbl { font-size: .75rem; color: var(--on-dark-mut); }
.appmock__hero .big { font-family: var(--font-display); font-weight: 800; font-size: 2rem; letter-spacing: -.03em; }
.appmock__hero .big .u { color: var(--red); font-size: .6em; }
.appmock__tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.appmock__tile { background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-sm); padding: 12px; }
.appmock__tile .t { font-size: .7rem; color: var(--muted); }
.appmock__tile .v { font-family: var(--font-display); font-weight: 700; font-size: 1rem; color: var(--ink); }
.appmock__tile .v.red { color: var(--red); }
.appmock__bar { height: 8px; border-radius: 4px; background: var(--stone-2); overflow: hidden; }
.appmock__bar i { display: block; height: 100%; background: var(--red); border-radius: 4px; }

/* feature copy helper */
.feature__copy .checklist { margin: 26px 0 32px; }

/* article meta on blog detail */
.article-head { max-width: 760px; }
.article-head .meta { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; color: var(--muted); font-size: .875rem; margin-top: 18px; }
.article-head .meta .cat { color: var(--red-600); font-weight: 700; text-transform: uppercase; letter-spacing: .08em; font-size: .75rem; }
.article-cover { aspect-ratio: 16/7; border-radius: var(--r-xl); overflow: hidden; position: relative; margin: clamp(28px,4vw,44px) 0; }
.article-cover .imgfill { position: absolute; inset: 0; }
.prose ul { margin: 0 0 18px; padding-left: 0; list-style: none; display: grid; gap: 11px; }
.prose ul li { display: flex; gap: 12px; align-items: flex-start; color: var(--muted); }
.prose ul li::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--red); flex-shrink: 0; margin-top: 11px; }
.prose h3 { font-family: var(--font-display); font-size: 1.25rem; margin: 30px 0 12px; }
.prose blockquote { margin: 26px 0; padding: 4px 0 4px 26px; border-left: 3px solid var(--red); font-family: var(--font-display); font-weight: 500; font-size: 1.25rem; color: var(--ink); font-style: normal; }

/* generic 2-col content split */
.split2 { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px,4vw,56px); align-items: start; }
.split2 > * { min-width: 0; }
@media (max-width: 820px) { .split2 { grid-template-columns: 1fr; } }

/* category chips row */
.chips-row { display: flex; flex-wrap: wrap; gap: 10px; }
.chip-filter { border: 1.5px solid var(--line-2); background: var(--paper); border-radius: var(--pill); padding: .55em 1.1em; font-weight: 600; font-size: .875rem; color: var(--ink); transition: background .2s, color .2s, border-color .2s; }
.chip-filter:hover, .chip-filter.active { background: var(--ink); color: var(--bg); border-color: var(--ink); }

/* contact cards row */
.contact-cards { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; margin-bottom: 30px; }
@media (max-width: 700px) { .contact-cards { grid-template-columns: 1fr; } }
.ccard { background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 26px; }
.ccard__ic { width: 46px; height: 46px; border-radius: 12px; background: var(--red-soft); color: var(--red); display: grid; place-items: center; margin-bottom: 16px; }
.ccard__ic svg { width: 22px; height: 22px; }
.ccard b { display: block; font-family: var(--font-display); font-weight: 600; margin-bottom: 4px; }
.ccard a, .ccard span { color: var(--muted); font-size: .9375rem; }
.ccard a:hover { color: var(--red); }

/* map placeholder */
.map-embed { aspect-ratio: 16/7; border-radius: var(--r-lg); overflow: hidden; border: 1px solid var(--line); position: relative; background: var(--stone); }
.map-embed iframe { width: 100%; height: 100%; border: 0; display: block; }

/* legal prose */
.legal { max-width: 760px; }
.legal h2 { margin: 34px 0 12px; font-size: 1.5rem; }
.legal p, .legal li { color: var(--muted); line-height: 1.7; }
.legal ul { padding-left: 20px; margin: 0 0 16px; }
.legal .datasheet { background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-md); padding: 24px 28px; font-family: var(--font-body); }
.legal .datasheet div { padding: 7px 0; border-bottom: 1px solid var(--line); display: flex; flex-wrap: wrap; gap: 4px 12px; }
.legal .datasheet div:last-child { border-bottom: none; }
.legal .datasheet b { min-width: 160px; color: var(--ink); }
@media (max-width: 480px) { .legal .datasheet b { min-width: 0; } .legal .datasheet span { min-width: 0; word-break: break-word; } }

/* GDPR checkbox in leadform */
.lf-gdpr { display: flex; gap: 11px; align-items: flex-start; margin: 4px 0 4px; font-size: .875rem; color: var(--muted); cursor: pointer; }
.lf-gdpr input { width: 20px; height: 20px; margin-top: 1px; accent-color: var(--red); flex-shrink: 0; }

/* ============================================================
   Article 2-column: content left + sticky lead form right
   (wrapped content sections are flattened into one clean column)
   ============================================================ */
/* LINEAR article: full-width hero → centered reading column → lead-form section below */
.article-2col { padding-block: clamp(32px, 4vw, 56px); }
.article-grid { display: block; }
.article-main { min-width: 0; max-width: 760px; margin-inline: auto; }
.article-main > section { padding-block: clamp(16px, 2.4vw, 28px); background: transparent !important; }
.article-main > section:first-child { padding-top: 0; }
.article-main > section > .wrap { max-width: none; padding-inline: 0; width: 100%; }
.article-main .sec-head.center, .article-main .sec-head.center .eyebrow { text-align: left; }
.article-main .sec-head.center .eyebrow { justify-content: flex-start !important; }
/* lead form: a distinct centered conversion block UNDER the article (pod sebou) */
.article-aside { position: static; max-width: 760px; margin: clamp(40px, 5vw, 68px) auto 0; }
.article-aside__card { background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-xl); padding: clamp(24px, 3vw, 40px); box-shadow: var(--sh-md); }
.article-aside__title { font-family: var(--font-display); font-weight: 700; font-size: clamp(1.4rem, 2.4vw, 1.9rem); letter-spacing: -.02em; margin: 8px 0 10px; }
.article-aside__lead { font-size: 1rem; line-height: 1.6; color: var(--muted); margin-bottom: 22px; max-width: 56ch; }
@media (max-width: 1000px) {
  .article-grid { grid-template-columns: 1fr; gap: 0; }
  .article-aside { position: static; margin-top: 28px; }
  .article-aside__card { max-width: 600px; }
}
/* Blocks designed for full-width 2-col cram badly in the ~665px article column →
   stack them: image/aside below the text, full content-column width. */
.article-main .feature { grid-template-columns: 1fr; gap: clamp(18px, 2.5vw, 26px); align-items: start; }
.article-main .feature.rev .feature__media { order: 0; }
.article-main .feature__media { aspect-ratio: 16 / 9; max-height: 320px; }
.article-main .dotace { grid-template-columns: 1fr; gap: clamp(20px, 3vw, 32px); text-align: left; }
.article-main .dotace__big { text-align: left; }
.article-main .split2 { grid-template-columns: 1fr; }
.article-main .quiz { grid-template-columns: 1fr; }
/* article body: 4-stat band is in a 760px column (viewport media never fires) → force clean 2×2 */
.article-main .statband { grid-template-columns: 1fr 1fr; gap: 32px 0; }
/* article prose: base p{margin:0} makes consecutive paragraphs collide — space them */
.article-main p + p { margin-top: 1em; }

/* ============================================================
   2026-09 REDESIGN — campaign hero, reference strip, brands,
   Förder-Check result, Über uns + Referenzen page components
   ============================================================ */

/* ---------- Campaign hero additions ---------- */
.hero--2 .hero__flash { margin-bottom: 20px; }
.hero__highlight { display: inline-block; background: var(--red-600); color: #fff; padding: .06em .32em .1em; border-radius: 8px; margin-top: .14em; letter-spacing: -.03em; line-height: 1.08; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.hero__highlight:empty { display: none; }
.hero__fine { margin-top: 16px; font-size: .8125rem; color: rgba(246,242,236,.62); max-width: 60ch; }
.hero__fine:empty { display: none; }
@media (max-width: 640px) {
  .hero--2 { min-height: 0; min-height: calc(88svh - var(--header-h, 66px)); }
  .hero--2 .hero__title { font-size: clamp(2rem, 9vw, 2.6rem); }
  .hero--2 .hero__actions .btn { width: 100%; justify-content: center; }
}

/* ---------- Reference strip (real installations) ---------- */
.refs-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: clamp(24px, 3vw, 36px); }
.refs-head .sec-head { margin-bottom: 0; }
.refs-head .carousel__controls { margin-top: 0; }
.refstrip .carousel__track > * { flex: 0 0 calc((100% - 66px) / 4); }
@media (max-width: 1100px) { .refstrip .carousel__track > * { flex-basis: calc((100% - 44px) / 3); } }
@media (max-width: 760px)  { .refstrip .carousel__track > * { flex-basis: calc((100% - 22px) / 1.45); } }
@media (max-width: 420px)  { .refstrip .carousel__track > * { flex-basis: 82%; } }
.refcard { display: flex; flex-direction: column; background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-lg); overflow: hidden; color: var(--ink); transition: transform .35s var(--ease), box-shadow .35s var(--ease), border-color .3s; }
@media (hover:hover) { .refcard:hover { transform: translateY(-5px); box-shadow: var(--sh-lg); border-color: var(--line-2); } }
.refcard__ph { position: relative; aspect-ratio: 4/3; overflow: hidden; background: var(--stone); }
.refcard__ph img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .7s var(--ease); }
@media (hover:hover) { .refcard:hover .refcard__ph img { transform: scale(1.05); } }
.refcard__ph .badge { position: absolute; top: 14px; left: 14px; z-index: 1; box-shadow: var(--sh-sm); }
.refcard__body { padding: 18px 20px 20px; display: flex; flex-direction: column; gap: 4px; }
.refcard__body b { font-family: var(--font-display); font-weight: 600; font-size: 1rem; line-height: 1.2; }
.refcard__body span { color: var(--muted); font-size: .875rem; }
.refcard__meta { margin-top: 10px; display: flex; gap: 10px; align-items: center; font-size: .8125rem; color: var(--muted-2); font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
.refcard__meta::before { content: ""; width: 18px; height: 1.5px; background: var(--red); }
.ref-note { display: flex; align-items: flex-start; gap: 10px; margin-top: 22px; color: var(--muted); font-size: .875rem; }
.ref-note svg { width: 16px; height: 16px; flex-shrink: 0; margin-top: 3px; color: var(--red); }
@media (max-width: 760px) { .refs-head { flex-direction: column; align-items: flex-start; gap: 16px; } }

/* ---------- Brand cards + comparison ---------- */
.brandcards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
@media (max-width: 900px) { .brandcards { grid-template-columns: 1fr; } }
.brandcard { background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 30px 30px 28px; display: flex; flex-direction: column; gap: 14px; position: relative; overflow: hidden; }
.brandcard--own { border-color: var(--ink); box-shadow: var(--sh-md); }
.brandcard__logo { font-family: var(--font-display); font-weight: 800; font-size: 1.75rem; letter-spacing: -.03em; color: var(--ink); line-height: 1; }
.brandcard--own .brandcard__logo { color: var(--red-600); }
.brandcard .badge { align-self: flex-start; }
.brandcard p { color: var(--muted); font-size: .9375rem; line-height: 1.6; flex: 1; }
.brandcard__img { height: 150px; display: flex; align-items: flex-end; justify-content: center; margin: 4px 0 6px; }
.brandcard__img img { max-height: 100%; width: auto; object-fit: contain; filter: drop-shadow(0 18px 26px rgba(20,15,8,.22)); }
.brandcard__img img.imgfill { width: 100%; height: 100%; border-radius: var(--r-md); filter: none; }
.cmp-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin: clamp(36px,5vw,56px) 0 20px; flex-wrap: wrap; }
.cmp-head h3 { font-size: clamp(1.3rem, 2vw, 1.7rem); }
.cmp-head p { color: var(--muted); max-width: 60ch; margin-top: 8px; }
.cmp--brands th, .cmp--brands td { font-variant-numeric: tabular-nums; }
.cmp--brands tbody th { width: 34%; }
.cmp-foot { display: flex; flex-wrap: wrap; gap: 14px 24px; align-items: center; justify-content: space-between; margin-top: 18px; }

/* ---------- Förder-Check result + contact extras ---------- */
.lf-result { text-align: center; padding: 6px 0 4px; }
.lf-result__rate { font-size: .8125rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--green); }
.lf-result__amount { font-family: var(--font-display); font-weight: 800; font-size: clamp(2.2rem, 5vw, 3.2rem); letter-spacing: -.035em; line-height: 1; color: var(--ink); margin: 10px 0 6px; font-variant-numeric: tabular-nums; }
.lf-result__sub { color: var(--muted); font-size: .9375rem; }
.lf-result__text { color: var(--muted); font-size: 1rem; max-width: 46ch; margin: 12px auto 0; }
.lf-bd { text-align: left; margin: 20px 0 6px; padding: 16px 18px 12px; border-radius: var(--r-md); background: var(--bg); border: 1px solid var(--line); display: grid; gap: 8px; }
.lf-bd__row { display: flex; justify-content: space-between; gap: 14px; font-size: .9375rem; font-variant-numeric: tabular-nums; }
.lf-bd__row b { white-space: nowrap; }
.lf-bd__row.is-off { color: var(--muted-2); }
.lf-bd__row.is-off b { font-weight: 500; }
.lf-bd__note { font-size: .8125rem; color: var(--muted); border-top: 1px dashed var(--line-2); padding-top: 10px; margin-top: 4px; }
.lf-after { display: flex; align-items: center; gap: 9px; margin-top: 16px; color: var(--muted); font-size: .875rem; }
.lf-after svg { width: 16px; height: 16px; color: var(--green); flex-shrink: 0; }
.leadform__done .check { background: var(--green-bg); color: var(--green); }

/* ---------- Über uns: hero numbers, marquee, timeline, countries ---------- */
.about-hero .phero__inner { max-width: 820px; }
.about-hero .about-kpis { display: flex; flex-wrap: wrap; gap: 14px 34px; margin-top: 36px; }
.about-kpi { display: flex; flex-direction: column; gap: 4px; }
.about-kpi .num { font-family: var(--font-display); font-weight: 800; font-size: clamp(1.7rem, 3vw, 2.5rem); color: #fff; letter-spacing: -.03em; line-height: 1; white-space: nowrap; }
.about-kpi .num .u { color: var(--red); }
.about-kpi .lbl { font-size: .8125rem; color: rgba(246,242,236,.7); }

.photomarquee { overflow: hidden; padding-block: clamp(28px, 4vw, 44px); background: var(--ink-2); }
.photomarquee__track { display: flex; gap: 14px; width: max-content; animation: photoscroll 55s linear infinite; }
.photomarquee__track:hover { animation-play-state: paused; }
.photomarquee__item { flex: 0 0 auto; width: clamp(220px, 24vw, 340px); aspect-ratio: 4/3; border-radius: var(--r-md); overflow: hidden; position: relative; background: var(--ink-3); }
.photomarquee__item img { width: 100%; height: 100%; object-fit: cover; display: block; }
.photomarquee__item span { position: absolute; left: 12px; bottom: 10px; color: #fff; font-size: .8125rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; background: rgba(13,10,6,.55); backdrop-filter: blur(4px); padding: .35em .7em; border-radius: var(--pill); }
@keyframes photoscroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .photomarquee__track { animation: none; flex-wrap: wrap; width: auto; } }

.statband--dark { background: var(--ink-2); color: var(--on-dark); border-radius: var(--r-xl); padding: clamp(28px, 4vw, 48px); }
.statband--dark .statband__num { color: #fff; }
.statband--dark .statband__lbl { color: var(--on-dark-mut); }
.statband--dark .statband__cell { border-left-color: rgba(246,242,236,.14); }
.statband--6 { grid-template-columns: repeat(6, 1fr); }
@media (max-width: 1100px) { .statband--6 { grid-template-columns: repeat(3, 1fr); } .statband--6 .statband__cell:nth-child(3n+1) { border-left: none; padding-left: 0; } .statband--6 .statband__cell:nth-child(n+4) { margin-top: 12px; } }
@media (max-width: 600px)  { .statband--6 { grid-template-columns: 1fr 1fr; } .statband--6 .statband__cell:nth-child(3n+1) { border-left: 1px solid rgba(246,242,236,.14); padding-left: clamp(12px,4cqi,32px); } .statband--6 .statband__cell:nth-child(odd) { border-left: none; padding-left: 0; } }

.timeline { position: relative; display: grid; grid-template-columns: repeat(5, 1fr); gap: 0; margin-top: clamp(28px, 4vw, 44px); }
.timeline::before { content: ""; position: absolute; left: 0; right: 0; top: 9px; height: 2px; background: var(--line-2); }
.tl-item { position: relative; padding: 32px clamp(14px, 2vw, 28px) 0 0; }
.tl-item::before { content: ""; position: absolute; left: 0; top: 2px; width: 16px; height: 16px; border-radius: 50%; background: var(--bg); border: 3px solid var(--red); box-sizing: border-box; }
.tl-item .yr { font-family: var(--font-display); font-weight: 800; font-size: 1.5rem; color: var(--red); letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.tl-item h4, .tl-item h3 { font-size: 1.125rem; font-weight: 600; margin: 8px 0 6px; }
.tl-item p { color: var(--muted); font-size: .875rem; line-height: 1.55; }
@media (max-width: 1000px) { .timeline { grid-template-columns: repeat(3, 1fr); row-gap: 28px; } .timeline::before { display: none; } .tl-item { padding-top: 0; padding-left: 26px; } .tl-item::before { top: 6px; } }
@media (max-width: 560px) { .timeline { grid-template-columns: 1fr; } }

.countries { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.country { background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 26px 24px; display: flex; flex-direction: column; gap: 6px; position: relative; overflow: hidden; }
.country .code { font-family: var(--font-display); font-weight: 800; font-size: 2.5rem; letter-spacing: -.04em; color: var(--ink); line-height: 1; }
.country .code::after { content: ""; display: block; width: 26px; height: 3px; background: var(--red); margin-top: 10px; border-radius: 2px; }
.country b { font-family: var(--font-display); font-weight: 600; margin-top: 8px; }
.country span { color: var(--muted); font-size: .875rem; }
.country--home { background: var(--ink-2); border-color: var(--ink-2); }
.country--home .code, .country--home b { color: #fff; }
.country--home span { color: var(--on-dark-mut); }
@media (max-width: 900px) { .countries { grid-template-columns: 1fr 1fr; } }
@media (max-width: 460px) { .countries { grid-template-columns: 1fr; } }

.promise { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line-2); border: 1px solid var(--line-2); border-radius: var(--r-lg); overflow: hidden; }
.promise__item { background: var(--paper); padding: 34px clamp(22px, 2.6vw, 36px); }
.promise__item .n { font-family: var(--font-display); font-weight: 800; font-size: 2rem; letter-spacing: -.03em; color: var(--red-600); line-height: 1; margin-bottom: 14px; }
.promise__item h3 { font-size: 1.125rem; font-weight: 600; margin-bottom: 8px; }
.promise__item p { color: var(--muted); font-size: .9375rem; }
@media (max-width: 800px) { .promise { grid-template-columns: 1fr; } }

/* ---------- Referenzen page grid + filter ---------- */
.refgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
@media (max-width: 1000px) { .refgrid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .refgrid { grid-template-columns: 1fr; } }
.refgrid .refcard[hidden] { display: none; }
.reffilter { margin-bottom: clamp(24px, 3vw, 36px); }
.hero--2 .inner { max-width: 680px; }
/* Förder-Check option grids: 3-up for the product step, no orphan tiles on odd counts */
.optgrid--3 { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 700px) { .optgrid--3 { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .optgrid--3 { grid-template-columns: 1fr; } }
.optgrid:not(.optgrid--3) > .opt:last-child:nth-child(odd) { grid-column: 1 / -1; }
@media (min-width: 701px) { .optgrid--3 > .opt:last-child:nth-child(3n+1) { grid-column: 1 / -1; } }

/* ============================================================
   HERO 2026 — light split hero with a bento cluster
   ============================================================ */
.hero-26 { position: relative; background: var(--bg); overflow: hidden; isolation: isolate; }
.hero-26::before { content: ""; position: absolute; top: -30%; right: -12%; width: 62vw; height: 62vw; max-width: 980px; max-height: 980px; border-radius: 50%; background: radial-gradient(closest-side, rgba(225,42,30,.10), rgba(225,42,30,0) 72%); z-index: -1; pointer-events: none; }
.hero-26 .wrap { padding-block: clamp(36px, 5.5vw, 84px); }
.hero-26__grid { display: grid; grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr); gap: clamp(28px, 4.5vw, 72px); align-items: center; }
.hero-26 .hero__flash { margin-bottom: 22px; }
.hero-26 h1 { font-size: clamp(2.15rem, 4.2vw, 3.6rem); line-height: 1.02; letter-spacing: -.035em; color: var(--ink); }
.hero-26 .hero__highlight { font-size: .8em; margin-top: .22em; }
.hero-26 .lead { margin-top: 20px; max-width: 50ch; }
.hero-26 .hero__actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 28px; }
.hero-26 .hero__trust { color: var(--muted); margin-top: 22px; }
.hero-26 .hero__trust svg { color: var(--green); }
.hero-26 .hero__trust .sep { background: var(--line-2); }
.hero-26 .hero__rating { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; margin-top: 14px; font-size: .9375rem; color: var(--muted); font-weight: 500; }
.hero-26 .hero__rating-stars { color: var(--red); letter-spacing: 2px; font-size: 1rem; }
.hero-26 .hero__rating b { color: var(--ink); font-weight: 700; }
.hero-26 .hero__rating .sep { width: 4px; height: 4px; border-radius: 50%; background: var(--line-2); display: inline-block; }
.hero-26 .hero__fine { color: var(--muted-2); margin-top: 14px; }

.hero-bento { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.hb-photo { grid-column: 1 / -1; position: relative; border-radius: var(--r-xl); overflow: hidden; aspect-ratio: 16 / 10; box-shadow: var(--sh-lg); background: var(--ink-2); }
.hb-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hb-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(13,10,6,0) 58%, rgba(13,10,6,.5) 100%); }
.hb-chip { position: absolute; left: 16px; bottom: 16px; z-index: 1; display: flex; align-items: center; gap: 12px; background: rgba(255,255,255,.95); backdrop-filter: blur(8px); border-radius: var(--pill); padding: 8px 12px 8px 12px; box-shadow: var(--sh-md); color: var(--ink); font-weight: 600; font-size: .8125rem; max-width: calc(100% - 32px); }
.hb-chip .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--red); flex-shrink: 0; box-shadow: 0 0 0 0 rgba(225,42,30,.5); animation: hbPulse 1.8s infinite; }
@keyframes hbPulse { 0% { box-shadow: 0 0 0 0 rgba(225,42,30,.45); } 70% { box-shadow: 0 0 0 8px rgba(225,42,30,0); } 100% { box-shadow: 0 0 0 0 rgba(225,42,30,0); } }
.hb-chip .countdown { margin: 0; gap: 6px; flex-wrap: nowrap; }
.hb-chip .countdown__lbl { display: none; }
.hb-chip .countdown__cells { gap: 4px; }
.hb-chip .countdown__cell { min-width: 36px; padding: 4px 4px 3px; background: var(--stone); border: 0; border-radius: 8px; }
.hb-chip .countdown__cell .v { color: var(--ink); font-size: .9375rem; }
.hb-chip .countdown__cell .u { color: var(--muted); font-size: .7rem; margin-top: 2px; }
.hb-chip .countdown__cells .countdown__cell:nth-child(4) { display: none; }
.hb-tile { border-radius: var(--r-lg); padding: 22px 24px; display: flex; flex-direction: column; gap: 6px; min-height: 156px; }
.hb-tile--dark { background: var(--ink-2); color: var(--on-dark); }
.hb-tile--dark .num { font-family: var(--font-display); font-weight: 800; font-size: clamp(1.7rem, 2.3vw, 2.3rem); color: #fff; letter-spacing: -.03em; line-height: 1; margin-bottom: 4px; }
.hb-tile--dark .num .u { color: var(--red); }
.hb-tile--dark b { color: #fff; font-size: .9375rem; line-height: 1.3; }
.hb-tile--dark span { color: var(--on-dark-mut); font-size: .8125rem; line-height: 1.45; }
.hb-tile--paper { background: var(--paper); border: 1px solid var(--line); align-items: center; text-align: center; justify-content: flex-end; }
.hb-tile--paper img { max-height: 112px; width: auto; object-fit: contain; filter: drop-shadow(0 14px 22px rgba(20,15,8,.22)); margin: -4px 0 6px; }
.hb-tile--paper b { font-family: var(--font-display); font-size: .875rem; letter-spacing: -.01em; color: var(--ink); }
.hb-tile--paper span { font-size: .75rem; color: var(--muted); }
@media (max-width: 1000px) { .hero-26__grid { grid-template-columns: 1fr; } .hero-bento { max-width: 680px; } }
@media (max-width: 560px) {
  .hero-bento { grid-template-columns: 1fr 1fr; gap: 10px; }
  .hb-tile { padding: 16px; min-height: 124px; }
  .hb-tile--dark .num { font-size: 1.5rem; }
  .hb-tile--paper img { max-height: 84px; }
  .hero-26 .hero__actions .btn { width: 100%; justify-content: center; }
  .hb-chip { left: 10px; bottom: 10px; padding: 6px 10px; font-size: .75rem; gap: 8px; }
  .hb-chip .countdown__cell { min-width: 30px; }
}

/* ============================================================
   BENTO — "Warum WOLTIDO" (numbers · photo · product · quote)
   ============================================================ */
.bento { display: grid; grid-template-columns: repeat(4, 1fr); grid-template-areas: "n1 ph ph n2" "dk ph ph pr" "qu qu n3 rt"; gap: 16px; }
.bt { background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 26px; display: flex; flex-direction: column; gap: 6px; min-height: 196px; position: relative; overflow: hidden; }
.bt .n { font-family: var(--font-display); font-weight: 800; font-size: clamp(2.1rem, 2.9vw, 2.9rem); letter-spacing: -.035em; line-height: 1; color: var(--ink); font-variant-numeric: tabular-nums; }
.bt .n .u { color: var(--red); }
.bt b { font-family: var(--font-display); font-weight: 600; font-size: 1rem; margin-top: auto; line-height: 1.25; }
.bt .d { color: var(--muted); font-size: .875rem; line-height: 1.5; }
.bt--n1 { grid-area: n1; } .bt--n2 { grid-area: n2; } .bt--n3 { grid-area: n3; } .bt--rt { grid-area: rt; }
.bt--ph { grid-area: ph; } .bt--dk { grid-area: dk; } .bt--pr { grid-area: pr; } .bt--qu { grid-area: qu; }
.bt--ph { padding: 0; min-height: 340px; background: var(--ink-2); border: 0; }
.bt--ph img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.bt--ph .cap { position: relative; margin-top: auto; padding: 22px 24px; background: linear-gradient(180deg, rgba(13,10,6,0), rgba(13,10,6,.86)); color: #fff; font-weight: 600; font-size: .9375rem; line-height: 1.4; }
.bt--dk { background: var(--ink-2); border-color: var(--ink-2); color: var(--on-dark); }
.bt--dk b { color: #fff; margin-top: 0; font-size: 1.125rem; }
.bt--dk .d { color: var(--on-dark-mut); }
.bt--dk svg { width: 30px; height: 30px; color: var(--red-on-dark); margin-top: auto; }
.bt--pr { align-items: center; text-align: center; }
.bt--pr img { max-height: 140px; width: auto; object-fit: contain; margin: auto 0 8px; filter: drop-shadow(0 18px 26px rgba(20,15,8,.22)); }
.bt--pr b { margin-top: 0; }
.bt--qu .stars { color: var(--red); letter-spacing: 2px; font-size: .875rem; }
.bt--qu p { font-family: var(--font-display); font-weight: 500; font-size: 1.125rem; line-height: 1.45; color: var(--ink); margin: 10px 0 14px; letter-spacing: -.01em; }
.bt--qu .who { font-size: .875rem; color: var(--muted); font-weight: 600; margin-top: auto; display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.bt--rt .n { font-size: 2.5rem; }
.bt--rt .stars { color: var(--red); letter-spacing: 2px; font-size: 1rem; }
@media (max-width: 1000px) { .bento { grid-template-columns: 1fr 1fr; grid-template-areas: "ph ph" "n1 n2" "dk pr" "qu qu" "n3 rt"; } }
@media (max-width: 560px) { .bento { grid-template-columns: 1fr; grid-template-areas: "ph" "n1" "n2" "dk" "pr" "qu" "n3" "rt"; gap: 12px; } .bt { min-height: 0; padding: 22px; } .bt--ph { min-height: 240px; } }

/* ============================================================
   PROMO HERO (Schlieger-style campaign hero, compact)
   ============================================================ */
.hero--promo { min-height: clamp(540px, 66vh, 680px); }
.hero--promo .inner { max-width: 680px; }
.hero--promo .hero__title { font-size: clamp(2.1rem, 3.9vw, 3.5rem); margin-bottom: 14px; }
.hero--promo .hero__highlight { font-size: .86em; margin-top: .12em; }
.hero__highlight--green { background: var(--green); }
.hero__highlight--paper { background: var(--paper); color: var(--ink); }
.hero--promo .lead { max-width: 54ch; }
.hero--promo .hero__cta-row { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; margin-top: 26px; }
.hero--promo .countdown { margin-top: 0; flex-wrap: nowrap; gap: 12px; background: rgba(246,242,236,.08); border: 1px solid rgba(246,242,236,.2); border-radius: var(--r-md); padding: 8px 12px; backdrop-filter: blur(6px); }
.hero--promo .countdown__lbl { font-size: .7rem; letter-spacing: .1em; line-height: 1.2; max-width: 132px; }
.hero--promo .countdown__cell { min-width: 46px; padding: 6px 4px 5px; }
.hero--promo .countdown__cell .v { font-size: 1.25rem; }
.hero--promo .countdown__cells .countdown__cell:nth-child(4) { display: none; }
.hero--promo .hero__trust { margin-top: 18px; }
.hero--promo .hero__rating { margin-top: 12px; }
.hero--promo .hero__fine { margin-top: 12px; }
@media (max-width: 640px) {
  .hero--promo { min-height: 0; }
  .hero--promo .hero__cta-row { flex-direction: column; align-items: stretch; }
  .hero--promo .countdown { justify-content: space-between; }
  .hero--promo .countdown__lbl { max-width: none; }
}
/* dark numbers strip under the promo hero (Schlieger-style "live" strip, truthful numbers only) */
.stat-row--promo .stat-row__item .num { font-size: clamp(1.35rem, 2vw, 1.9rem); }
.stat-row--promo .stat-row__item .num .u { color: var(--red); }
/* promo hero on phones: CTA + countdown must land in the first screen */
@media (max-width: 640px) {
  .hero--promo .hero__title { font-size: clamp(1.9rem, 8.4vw, 2.3rem); margin-bottom: 10px; }
  .hero--promo .hero__highlight { font-size: .82em; }
  .hero--promo .lead { font-size: .9375rem; }
  .hero--promo .hero__fine { display: none; }
  .hero--promo .hero__rating { margin-top: 8px; }
}

/* ============================================================
   CINEMATIC CAMPAIGN HERO — crossfading real photos with slow
   zoom (or a video loop from campaign.js), one offer block
   ============================================================ */
.hero--cine { position: relative; color: #fff; isolation: isolate; overflow: hidden; display: flex; align-items: center; min-height: clamp(600px, 84vh, 800px); background: var(--ink-2); }
.hero--cine .cine-bg { position: absolute; inset: 0; z-index: -2; }
.hero--cine .cine-bg .slide { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 1.6s var(--ease); will-change: opacity, transform; }
.hero--cine .cine-bg .slide.is-active { opacity: 1; animation: cineZoom 9s ease-out forwards; }
.hero--cine .cine-bg video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
@keyframes cineZoom { from { transform: scale(1); } to { transform: scale(1.09); } }
.hero--cine::after { content: ""; position: absolute; inset: 0; z-index: -1; background:
  linear-gradient(180deg, rgba(13,10,6,.45) 0%, rgba(13,10,6,.05) 30%, rgba(13,10,6,.12) 62%, rgba(13,10,6,.72) 100%),
  linear-gradient(100deg, rgba(13,10,6,.78) 0%, rgba(13,10,6,.5) 40%, rgba(13,10,6,.12) 100%); }
.hero--cine .wrap { padding-block: clamp(48px, 7vh, 88px); width: 100%; }
.hero--cine .inner { max-width: 820px; }
.hero--cine .hero__flash { margin-bottom: 22px; }
.hero--cine h1 { color: #fff; font-size: clamp(2.3rem, 5vw, 4.4rem); line-height: 1; letter-spacing: -.04em; font-weight: 800; max-width: 15ch; text-shadow: 0 2px 24px rgba(0,0,0,.25); }
.hero--cine .lead { color: rgba(246,242,236,.9); margin-top: 18px; max-width: 52ch; }
/* the offer block: amount · countdown · CTA together */
.deal { margin-top: 28px; display: grid; grid-template-columns: auto auto auto; align-items: center; gap: clamp(18px, 3vw, 44px); background: rgba(13,10,6,.62); backdrop-filter: blur(10px); border: 1px solid rgba(246,242,236,.16); border-radius: 22px; padding: clamp(18px, 2.4vw, 28px) clamp(20px, 2.8vw, 34px); width: fit-content; max-width: 100%; }
.deal__amt { display: flex; flex-direction: column; gap: 4px; }
.deal__amt .num { font-family: var(--font-display); font-weight: 800; font-size: clamp(2.2rem, 4.2vw, 3.6rem); letter-spacing: -.05em; line-height: .95; color: #fff; white-space: nowrap; }
.deal__amt .num .u { color: #4CC38A; }
.deal__amt .lbl { font-size: .8125rem; color: rgba(246,242,236,.78); font-weight: 500; max-width: 24ch; line-height: 1.3; }
.deal__cd { display: flex; flex-direction: column; gap: 8px; padding-left: clamp(18px, 3vw, 44px); border-left: 1px solid rgba(246,242,236,.16); }
.deal__cd .countdown { margin: 0; flex-wrap: nowrap; gap: 8px; }
.deal__cd .countdown__lbl { display: block; font-size: .7rem; letter-spacing: .12em; color: rgba(246,242,236,.7); }
.deal__cd .countdown__cell { min-width: 50px; padding: 7px 5px 6px; background: rgba(246,242,236,.08); border-color: rgba(246,242,236,.16); }
.deal__cd .countdown__cell .v { font-size: 1.5rem; }
.deal__cd .countdown__cells .countdown__cell:nth-child(4) { display: none; }
.deal__cta { display: flex; flex-direction: column; gap: 8px; align-items: stretch; }
.deal__cta .btn { justify-content: center; white-space: nowrap; }
.deal__cta small { font-size: .75rem; color: rgba(246,242,236,.7); text-align: center; }
.hero--cine .hero__trust { margin-top: 22px; }
.hero--cine .hero__rating { margin-top: 10px; }
.hero--cine .hero__fine { margin-top: 10px; }
.cine-dots { position: absolute; right: var(--gutter); bottom: 22px; z-index: 2; display: flex; gap: 8px; }
.cine-dots button { width: 28px; height: 4px; border-radius: 2px; border: 0; padding: 0; background: rgba(246,242,236,.35); cursor: pointer; transition: background .3s; }
.cine-dots button.active { background: #fff; }
.cine-caption { position: absolute; left: var(--gutter); bottom: 22px; z-index: 2; font-size: .75rem; letter-spacing: .06em; text-transform: uppercase; color: rgba(246,242,236,.7); font-weight: 600; }
@media (max-width: 1000px) { .deal { grid-template-columns: 1fr 1fr; } .deal__cta { grid-column: 1 / -1; } }
@media (max-width: 640px) {
  .hero--cine { min-height: 0; }
  .hero--cine h1 { font-size: clamp(2rem, 9vw, 2.5rem); }
  .deal { grid-template-columns: 1fr; width: 100%; padding: 18px; gap: 16px; }
  .deal__cd { padding-left: 0; border-left: 0; border-top: 1px solid rgba(246,242,236,.16); padding-top: 14px; }
  .deal__cd .countdown { justify-content: space-between; }
  .hero--cine .hero__fine, .cine-caption { display: none; }
}
@media (prefers-reduced-motion: reduce) { .hero--cine .cine-bg .slide.is-active { animation: none; } }
.hero--cine .hero__rating { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; margin-top: 22px; color: rgba(246,242,236,.9); font-size: .9375rem; font-weight: 500; }
.hero--cine .hero__rating-stars { color: var(--red); letter-spacing: 2px; font-size: 1rem; }
.hero--cine .hero__rating b { color: #fff; font-weight: 700; }
.hero--cine .hero__rating .sep { width: 4px; height: 4px; border-radius: 50%; background: rgba(246,242,236,.45); display: inline-block; }
.hero--cine .hero__fine { color: rgba(246,242,236,.6); font-size: .8125rem; }
@media (max-width: 640px) { .hero--cine .hero__rating > span:last-child { display: none; } .hero--cine .hero__rating .sep:last-of-type { display: none; } }

/* ---------- polish pass 2026-09-07 ---------- */
.brandcard__img img.imgfill { object-fit: cover; object-position: center; max-height: none; }
.leadband__trust b { white-space: nowrap; }
.leadband__trust { flex-wrap: wrap; row-gap: 4px; }
@media (max-width: 600px) {
  .stat-row--promo .stat-row__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 20px; }
  .stat-row--promo .stat-row__item { border: 0 !important; padding: 0 !important; margin: 0 !important; }
}
.cmp-note { margin-top: 14px; }
@media (max-width: 640px) { .hero--cine .deal { margin-top: 22px; } .hero--cine .lead { font-size: 1rem; } }
@media (max-width: 640px) { .about-hero .about-kpis { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 18px; } .about-kpi .num { font-size: 1.75rem; } }
.mega__thumb .imgfill[src$=".png"] { object-fit: contain; background: var(--stone); padding: 6px; }

/* ============================================================
   HUB HERO — light, one question, three choices (WP / PV / both)
   ============================================================ */
.hero-hub { background: var(--bg); position: relative; overflow: hidden; }
.hero-hub .wrap { padding-block: clamp(36px, 5vw, 64px) clamp(28px, 4vw, 48px); }
.hero-hub__head { max-width: 760px; margin-bottom: clamp(24px, 3vw, 36px); }
.hero-hub h1 { font-size: clamp(2.1rem, 4vw, 3.4rem); letter-spacing: -.035em; line-height: 1.02; }
.hero-hub .lead { margin-top: 14px; max-width: 54ch; }
.hub-tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.hub-tile { position: relative; display: flex; flex-direction: column; background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-xl); overflow: hidden; color: var(--ink); transition: transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s; }
@media (hover:hover) { .hub-tile:hover { transform: translateY(-4px); box-shadow: var(--sh-lg); border-color: var(--line-2); } }
.hub-tile__ph { position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: var(--ink-2); }
.hub-tile__ph img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .7s var(--ease); }
@media (hover:hover) { .hub-tile:hover .hub-tile__ph img { transform: scale(1.05); } }
.hub-tile__ph .badge { position: absolute; top: 14px; left: 14px; box-shadow: var(--sh-sm); }
.hub-tile__body { padding: 20px 22px 22px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.hub-tile__body h2 { font-size: 1.25rem; letter-spacing: -.02em; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.hub-tile__body h2 .arr { color: var(--red); flex: none; transition: transform .25s var(--ease); }
@media (hover:hover) { .hub-tile:hover h2 .arr { transform: translateX(4px); } }
.hub-tile__body p { color: var(--muted); font-size: .9375rem; }
.hub-tile__price { margin-top: auto; padding-top: 12px; font-size: .8125rem; color: var(--muted); }
.hub-tile__price b { font-family: var(--font-display); font-size: 1.125rem; color: var(--ink); letter-spacing: -.02em; margin-right: 6px; }
.hub-campaign { margin-top: 16px; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 22px; background: var(--ink-2); color: var(--on-dark); border-radius: var(--r-lg); padding: 14px 20px; }
.hub-campaign .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--red); flex: none; box-shadow: 0 0 0 0 rgba(225,42,30,.5); animation: hbPulse 1.8s infinite; }
.hub-campaign b { color: #fff; }
.hub-campaign .countdown { margin: 0; gap: 8px; }
.hub-campaign .countdown__lbl { display: none; }
.hub-campaign .countdown__cell { min-width: 42px; padding: 5px 4px 4px; }
.hub-campaign .countdown__cell .v { font-size: 1rem; }
.hub-campaign .countdown__cells .countdown__cell:nth-child(4) { display: none; }
.hub-campaign .btn { margin-left: auto; }
.hub-campaign .txt { font-size: .875rem; }
@media (max-width: 900px) { .hub-tiles { grid-template-columns: 1fr; } .hub-tile { flex-direction: row; } .hub-tile__ph { width: 38%; aspect-ratio: auto; flex: none; } .hub-tile__body { padding: 16px 18px; } .hub-tile__body h2 { font-size: 1.125rem; } .hub-campaign .btn { margin-left: 0; width: 100%; justify-content: center; } }
@media (max-width: 480px) { .hub-tile__ph { width: 34%; } .hub-tile__body p { display: none; } }

/* ---------- Offer packages (from the real Angebote) ---------- */
.pk-group { margin-top: clamp(28px, 3.5vw, 44px); }
.pk-group__head { display: flex; align-items: baseline; gap: 14px; margin-bottom: 18px; }
.pk-group__head h3 { font-size: clamp(1.25rem, 1.8vw, 1.5rem); }
.pk-group__head span { color: var(--muted); font-size: .875rem; }
.price-card .price-card__img { height: 150px; margin: -6px 0 16px; display: flex; align-items: center; justify-content: center; }
.price-card .price-card__img img { max-height: 100%; width: auto; object-fit: contain; filter: drop-shadow(0 16px 24px rgba(20,15,8,.2)); }
.price-card .price-card__img img.imgfill { width: 100%; height: 100%; border-radius: var(--r-md); filter: none; }
.price-card__strike { color: var(--muted); font-size: .875rem; text-decoration: line-through; }
.price-card__after b { font-family: var(--font-display); font-size: 1rem; }
.price-card__sub { font-size: .8125rem; color: var(--muted); margin-top: -12px; margin-bottom: 18px; }
.pk-note { margin-top: 18px; font-size: .8125rem; color: var(--muted); max-width: 90ch; }
.pricing--2 { grid-template-columns: repeat(2, 1fr); }
@media (max-width: 920px) { .pricing--2 { grid-template-columns: 1fr; max-width: 480px; margin-inline: auto; } }
/* light campaign hero: fewer elements, less height */
.hero--light { min-height: clamp(480px, 62vh, 620px); }
.hero--light .inner { max-width: 720px; }
.hero--light h1 { font-size: clamp(2.1rem, 4.2vw, 3.6rem); }
.hero--light .hero__cta-row { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; margin-top: 26px; }
.hero--light .countdown { margin-top: 0; flex-wrap: nowrap; gap: 12px; background: rgba(13,10,6,.5); border: 1px solid rgba(246,242,236,.2); border-radius: var(--r-md); padding: 8px 12px; backdrop-filter: blur(6px); }
.hero--light .countdown__lbl { font-size: .7rem; letter-spacing: .1em; line-height: 1.2; max-width: 132px; }
.hero--light .countdown__cell { min-width: 46px; padding: 6px 4px 5px; }
.hero--light .countdown__cells .countdown__cell:nth-child(4) { display: none; }
@media (max-width: 640px) { .hero--light { min-height: 0; } .hero--light .hero__cta-row { flex-direction: column; align-items: stretch; } .hero--light .countdown { justify-content: space-between; } .hero--light .countdown__lbl { max-width: none; } }
.hero-hub.section-sm { padding-block: clamp(36px, 5vw, 64px); }
.price-card__after .l1, .price-card__after .l2 { display: block; }
.price-card__after .l2 { font-weight: 500; color: var(--muted); font-size: .8125rem; margin-top: 2px; }
.hub-tile__ph .badge { white-space: nowrap; }
@media (max-width: 480px) { .hub-tile__ph .badge { font-size: .7rem; padding: .4em .6em; top: 8px; left: 8px; } }

/* ---------- Product lead-gen pages ---------- */
.prod-hero .phero__inner { max-width: 780px; }
.prod-hero .hero__flash { margin-bottom: 18px; }
.prod-price { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 26px; max-width: 620px; }
.prod-price__col { background: rgba(13,10,6,.55); backdrop-filter: blur(8px); border: 1px solid rgba(246,242,236,.18); border-radius: var(--r-lg); padding: 16px 18px; display: flex; flex-direction: column; gap: 2px; }
.prod-price__col .k { font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; color: rgba(246,242,236,.7); font-weight: 600; }
.prod-price__col .v { font-family: var(--font-display); font-weight: 800; font-size: clamp(1.7rem, 2.6vw, 2.3rem); letter-spacing: -.04em; line-height: 1.05; color: #fff; }
.prod-price__col .s { font-size: .8125rem; color: rgba(246,242,236,.75); }
.prod-price__col .s s { color: rgba(246,242,236,.6); }
.prod-price__col--after { background: rgba(31,122,69,.55); border-color: rgba(76,195,138,.35); }
.prod-price__col--after .v { color: #fff; }
@media (max-width: 520px) { .prod-price { grid-template-columns: 1fr; } }
.pricebox { background: rgba(246,242,236,.06); border: 1px solid rgba(246,242,236,.14); border-radius: var(--r-lg); padding: 22px 24px; display: grid; gap: 0; font-variant-numeric: tabular-nums; }
.pricebox__row { display: flex; justify-content: space-between; gap: 14px; padding: 10px 0; border-bottom: 1px solid rgba(246,242,236,.12); font-size: .9375rem; color: rgba(246,242,236,.8); }
.pricebox__row b { color: #fff; white-space: nowrap; }
.pricebox__row b.neg { color: #4CC38A; }
.pricebox__row--strong { color: #fff; font-weight: 600; }
.pricebox__row--total { border-bottom: 0; padding-top: 14px; font-size: 1rem; color: #fff; font-weight: 700; }
.pricebox__row--total b { font-family: var(--font-display); font-size: 1.75rem; letter-spacing: -.03em; }
.pricebox__row--muted { border-bottom: 0; padding-top: 0; font-size: .875rem; color: rgba(246,242,236,.65); }
.pricebox__note { font-size: .75rem; color: rgba(246,242,236,.55); margin-top: 10px; line-height: 1.5; }
.process--7 { grid-template-columns: repeat(4, 1fr); }
.process--7 .pstep:nth-child(4n+1) { border-left: none; padding-left: 0; }
.process--7 .pstep:nth-child(n+5) { border-top: 1px solid var(--line-2); margin-top: 8px; padding-top: 24px; }
@media (max-width: 1000px) { .process--7 { grid-template-columns: repeat(2, 1fr); } .process--7 .pstep { border-left: 1px solid var(--line-2); } .process--7 .pstep:nth-child(odd) { border-left: none; padding-left: 0; } .process--7 .pstep:nth-child(n+3) { border-top: 1px solid var(--line-2); margin-top: 8px; padding-top: 24px; } }
@media (max-width: 560px) { .process--7 { grid-template-columns: 1fr; } .process--7 .pstep { border-left: none; padding-left: 0; } }
.pillar .pillar__ic .idx { font-size: 1rem; }

/* ---------- Referenzen-Ticker (thumbnail strip under the hero) ---------- */
.refticker { background: var(--paper); border-block: 1px solid var(--line-2); padding-block: 18px 20px; }
.refticker__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 14px; }
.refticker__label { display: inline-flex; align-items: center; gap: 10px; font-size: .8125rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-2); }
.refticker__nav { display: flex; align-items: center; gap: 10px; }
.refticker__nav .link-arrow { margin-right: 8px; font-size: .875rem; }
.refticker__nav .carousel__btn { width: 38px; height: 38px; }
.refticker__viewport { overflow-x: auto; overflow-y: hidden; scrollbar-width: none; -webkit-overflow-scrolling: touch; cursor: grab; }
.refticker__viewport::-webkit-scrollbar { display: none; }
.refticker__viewport.is-drag { cursor: grabbing; scroll-behavior: auto; }
.refticker__track { display: flex; gap: 14px; width: max-content; padding-inline: max(var(--gutter), calc((100vw - var(--maxw)) / 2)); }
.tick { flex: 0 0 auto; width: 196px; text-decoration: none; color: inherit; display: block; }
.tick__img { display: block; position: relative; aspect-ratio: 4/3; border-radius: var(--r-md); overflow: hidden; background: var(--stone); }
.tick__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s var(--ease-out, ease); }
.tick:hover .tick__img img { transform: scale(1.05); }
.tick__tag { position: absolute; left: 8px; top: 8px; font-size: .7rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: .3em .6em; border-radius: var(--pill); color: #fff; background: var(--red); }
.tick__tag.badge--green { background: var(--green); }
.tick__cap { display: grid; gap: 1px; padding: 8px 2px 0; }
.tick__cap b { font-size: .8125rem; font-weight: 700; line-height: 1.25; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tick__cap span { font-size: .75rem; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 720px) {
  .refticker__nav .link-arrow { display: none; }
  .tick { width: 160px; }
}
.price-card__name a { color: inherit; text-decoration: none; }
.price-card__name a:hover { color: var(--red); }
.price-card__more { display: inline-flex; align-items: center; justify-content: center; gap: 6px; margin-top: 10px; width: 100%; font-size: .875rem; font-weight: 600; color: var(--ink-2); text-decoration: none; }
.price-card__more:hover { color: var(--red); }
.price-card__more .arr { transition: transform .2s; }
.price-card__more:hover .arr { transform: translateX(3px); }
.pricebox { font-variant-numeric: normal; }
.pricebox__row--total b, .icard__ic .idx { font-variant-numeric: normal; letter-spacing: -.03em; }

/* ---------- Förder-Check wizard (redesign 09/2026) ---------- */
.leadband { grid-template-columns: .82fr 1.18fr; }
.leadband::before { opacity: .6; }
.leadform { border-radius: 22px; box-shadow: 0 30px 60px -30px rgba(0,0,0,.5); }
.leadform__head { padding: 26px 32px 0; }
.leadform__meta { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 10px; }
.leadform__stepnum { font-size: .8125rem; letter-spacing: .1em; text-transform: uppercase; font-weight: 700; color: var(--ink-2); }
.leadform__time { font-size: .8125rem; color: var(--muted); font-weight: 500; }
.leadform__bar { height: 6px; border-radius: 6px; background: var(--stone); overflow: hidden; }
.leadform__bar > span { display: block; height: 100%; border-radius: 6px; background: linear-gradient(90deg, var(--red-700), var(--red)); transition: width .45s var(--ease); min-width: 6%; }
.leadform__body { padding: 8px 32px 26px; }
.leadform__q { font-size: 1.75rem; line-height: 1.12; margin: 16px 0 6px; }
.leadform__hint { font-size: .9375rem; margin-bottom: 20px; }
.leadform__foot { display: flex; flex-wrap: wrap; gap: 8px 22px; padding: 14px 32px 18px; border-top: 1px solid var(--line-2); background: var(--bg); border-radius: 0 0 22px 22px; }
.leadform__foot span { display: inline-flex; align-items: center; gap: 7px; font-size: .8125rem; font-weight: 600; color: var(--muted); }
.leadform__foot svg { width: 15px; height: 15px; color: var(--green); flex-shrink: 0; }
/* tiles */
.optgrid { gap: 12px; }
.opt { position: relative; padding: 14px 44px 14px 14px; border: 1.5px solid var(--line-2); border-radius: 14px; background: var(--paper); box-shadow: 0 0 0 0 transparent; transition: border-color .18s, background .18s, transform .18s, box-shadow .18s; }
.opt:hover { border-color: var(--ink-2); transform: translateY(-1px); box-shadow: var(--sh-sm); }
.opt:focus-visible { outline: 3px solid var(--red-soft); outline-offset: 2px; }
.opt.selected { border-color: var(--red); background: #FFF7F5; box-shadow: inset 0 0 0 1px var(--red); }
.opt__ic { width: 46px; height: 46px; border-radius: 12px; background: var(--stone); color: var(--ink); }
.opt__ic svg { width: 23px; height: 23px; }
.opt.selected .opt__ic { background: var(--red); color: #fff; }
.opt__txt { display: block; min-width: 0; }
.opt__txt b { display: block; font-weight: 700; font-size: 1rem; line-height: 1.25; }
.opt__txt small { display: block; font-weight: 400; color: var(--muted); font-size: .8125rem; margin-top: 2px; }
.opt__chk { position: absolute; right: 12px; top: 50%; transform: translateY(-50%) scale(.6); width: 24px; height: 24px; border-radius: 50%; background: var(--red); color: #fff; display: grid; place-items: center; opacity: 0; transition: opacity .18s, transform .18s; }
.opt__chk svg { width: 13px; height: 13px; }
.opt.selected .opt__chk { opacity: 1; transform: translateY(-50%) scale(1); }
/* photo tiles (product step) */
.opt--v { flex-direction: column; align-items: stretch; gap: 0; padding: 0 0 14px; overflow: hidden; }
.opt--v .opt__img { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--stone); }
.opt--v .opt__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s var(--ease-out, ease); }
.opt--v:hover .opt__img img { transform: scale(1.04); }
.opt--v .opt__ic { position: absolute; left: 12px; top: 12px; width: 38px; height: 38px; border-radius: 10px; background: rgba(255,255,255,.92); backdrop-filter: blur(4px); box-shadow: var(--sh-sm); }
.opt--v .opt__ic svg { width: 20px; height: 20px; }
.opt--v .opt__txt { padding: 12px 14px 0; }
.opt--v .opt__chk { top: 12px; right: 12px; transform: scale(.6); }
.opt--v.selected .opt__chk { transform: scale(1); }
.leadform__nav { margin-top: 22px; }
.leadform__nav:has(> [hidden]:only-child) { display: none; }
@media (max-width: 700px) {
  .leadform__head { padding: 20px 20px 0; }
  .leadform__body { padding: 6px 20px 20px; }
  .leadform__foot { padding: 12px 20px 16px; gap: 6px 14px; }
  .leadform__q { font-size: 1.5rem; }
  .optgrid--3 { grid-template-columns: 1fr 1fr 1fr; gap: 8px; }
  .opt--v .opt__txt { padding: 10px 10px 0; }
  .opt--v .opt__txt b { font-size: .875rem; }
  .opt--v .opt__txt small { display: none; }
  .opt--v .opt__ic { display: none; }
  .opt--v { padding-bottom: 10px; }
}
@media (max-width: 560px) { .optgrid { grid-template-columns: 1fr 1fr; gap: 8px; } .opt { padding: 12px 36px 12px 12px; gap: 10px; } .opt__ic { width: 38px; height: 38px; } .opt__txt b { font-size: .875rem; } .optgrid:not(.optgrid--3) > .opt:last-child:nth-child(odd) { grid-column: 1 / -1; } }

/* ---------- expandable Leistungsumfang inside package cards ---------- */
.pk-details { margin: 14px 0 0; border-top: 1px solid var(--line-2); padding-top: 10px; }
.pk-details summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: .875rem; font-weight: 700; color: var(--ink-2); padding: 4px 0; }
.pk-details summary::-webkit-details-marker { display: none; }
.pk-details summary::after { content: ""; width: 9px; height: 9px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); transition: transform .2s; margin-right: 4px; flex-shrink: 0; }
.pk-details[open] summary::after { transform: rotate(-135deg); }
.pk-details summary:hover { color: var(--red); }
.pk-details .price-card__list { margin-top: 8px; }
.pk-details .price-card__list li { font-size: .875rem; }

/* ---------- Förder-Check: bigger card, stable height between steps ---------- */
@media (min-width: 981px) {
  .leadband { grid-template-columns: minmax(280px, .62fr) minmax(0, 1.38fr); gap: clamp(28px, 3.5vw, 48px); padding: clamp(28px, 3.2vw, 44px); }
  .leadform__q { font-size: 2rem; }
  .leadform__hint { font-size: 1rem; }
  .leadform__head { padding: 28px 36px 0; }
  .leadform__body { padding: 8px 36px 28px; }
  .leadform__foot { padding: 14px 36px 18px; }
  .optgrid { gap: 14px; }
  .opt { padding: 18px 48px 18px 18px; }
  .opt__ic { width: 52px; height: 52px; }
  .opt__ic svg { width: 25px; height: 25px; }
  .opt__txt b { font-size: 1rem; }
  .opt--v .opt__txt { padding: 14px 16px 0; }
  .opt--v .opt__txt b { font-size: 1.125rem; }
  .opt--v { padding-bottom: 16px; }
}
/* constant height: the body keeps a floor height, the nav sticks to the bottom → no jump between steps */
.leadform__body { display: flex; flex-direction: column; min-height: 470px; }
.leadform__step.active { display: flex; flex-direction: column; flex: 1 1 auto; }
.leadform__step .leadform__nav { margin-top: auto; padding-top: 22px; }
.leadform__nav:has(> [hidden]:only-child) { display: flex; visibility: hidden; }
.leadform__done { justify-content: center; }
@media (max-width: 980px) { .leadform__body { min-height: 420px; } }
@media (max-width: 560px) { .leadform__body { min-height: 380px; } }

@media (min-width: 981px) { .opt--v .opt__img { aspect-ratio: 4 / 3; } }
.lf-more { margin: -4px 0 12px; }
.lf-more summary { list-style: none; cursor: pointer; font-size: .875rem; font-weight: 600; color: var(--muted); display: inline-flex; align-items: center; gap: 6px; padding: 4px 0; }
.lf-more summary::-webkit-details-marker { display: none; }
.lf-more summary::before { content: "+"; font-weight: 700; color: var(--red); }
.lf-more[open] summary::before { content: "–"; }
.lf-more .field { margin: 8px 0 0; }
.leadform .field { margin-bottom: 12px; }

/* ---------- Package card v2: 9 Positionen as photo thumbs ---------- */
.price-card__photo { display: block; height: 150px; margin: -6px 0 12px; display: grid; place-items: center; }
.price-card__photo img { max-height: 150px; max-width: 100%; object-fit: contain; filter: drop-shadow(0 12px 18px rgba(13,10,6,.14)); }
.pk-thumbs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; margin: 12px 0 4px; }
.pk-thumbs figure { margin: 0; background: var(--stone); border-radius: 10px; overflow: hidden; text-align: center; }
.pk-thumbs img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; background: #fff; }
.pk-thumbs figure.is-cut img { object-fit: contain; padding: 6px; }
.pk-thumbs figcaption { font-size: .7rem; font-weight: 600; color: var(--ink-2); padding: 4px 4px 6px; line-height: 1.15; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pk-thumbs__label { font-size: .8125rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); margin-top: 14px; }

/* ---------- Noise ladder (dB(A)) ---------- */
.dbladder { display: grid; gap: 10px; }
.dbladder__row { display: grid; grid-template-columns: 150px 1fr 64px; align-items: center; gap: 14px; font-size: .9375rem; }
.dbladder__row .lbl { font-weight: 600; }
.dbladder__row .bar { height: 14px; border-radius: 7px; background: var(--stone); overflow: hidden; }
.dbladder__row .bar > span { display: block; height: 100%; border-radius: 7px; background: var(--ink-3); }
.dbladder__row.is-hero .bar > span { background: var(--green); }
.dbladder__row.is-hero .lbl { color: var(--green); }
.dbladder__row .val { font-family: var(--font-display); font-weight: 700; text-align: right; font-variant-numeric: tabular-nums; }
.dbladder__note { font-size: .8125rem; color: var(--muted); margin-top: 12px; }
@media (max-width: 560px) { .dbladder__row { grid-template-columns: 110px 1fr 54px; font-size: .875rem; } }

/* ---------- Two-column feature with photo (reusable) ---------- */
.split { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(24px, 4vw, 56px); align-items: center; }
.split__img { border-radius: var(--r-lg); overflow: hidden; aspect-ratio: 4 / 3; background: var(--stone); }
.split__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.split--rev .split__img { order: -1; }
@media (max-width: 880px) { .split { grid-template-columns: 1fr; } .split--rev .split__img { order: 0; } }
.miniicons { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 22px; margin-top: 22px; }
.miniicons div { display: flex; gap: 12px; align-items: flex-start; font-size: .9375rem; }
.miniicons svg { width: 22px; height: 22px; color: var(--red); flex-shrink: 0; margin-top: 1px; }
.miniicons b { display: block; }
.miniicons span { color: var(--muted); font-size: .875rem; }
@media (max-width: 480px) { .miniicons { grid-template-columns: 1fr; } }

/* ---------- Operating cost table (uses .cmp) ---------- */
.cmp td.best { color: var(--green); font-weight: 700; }
.cmp tfoot td { font-size: .8125rem; color: var(--muted); border-top: 1px dashed var(--line-2); padding-top: 10px; }

/* ---------- Compact category hero (hero-c): promo card, ≤ 520 px desktop ---------- */
.hero-c { background: var(--bg); padding: 22px 0 8px; }
.hero-c__card { position: relative; background: var(--ink-2); color: var(--on-dark); border-radius: 24px; overflow: visible; display: grid; grid-template-columns: 7fr 5fr; gap: 24px; padding: 40px 48px 36px; min-height: 400px; isolation: isolate; }
.hero-c__card::before { content: ""; position: absolute; inset: 0; border-radius: inherit; background: radial-gradient(520px 420px at 82% 60%, rgba(225,42,30,.28), transparent 70%); z-index: -1; }
.hero-c__card::after { content: ""; position: absolute; inset: 0; border-radius: inherit; background: linear-gradient(120deg, rgba(255,255,255,.04), transparent 50%); z-index: -1; }
.hero-c__crumbs { display: flex; gap: 8px; align-items: center; font-size: .8125rem; color: rgba(246,242,236,.6); margin-bottom: 16px; }
.hero-c__crumbs a:hover { color: #fff; }
.hero-c__top { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 18px; }
.hero-c .hero__flash { margin: 0; }
.hero-c__count { display: inline-flex; align-items: center; gap: 6px; font-size: .8125rem; font-weight: 600; color: rgba(246,242,236,.85); background: rgba(246,242,236,.1); border: 1px solid rgba(246,242,236,.16); border-radius: var(--pill); padding: .42em .85em; }
.hero-c__count b { font-family: var(--font-display); font-variant-numeric: tabular-nums; color: #fff; }
.hero-c h1 { color: #fff; font-size: clamp(1.9rem, 3.2vw, 2.75rem); line-height: 1.1; letter-spacing: -.035em; margin: 0 0 12px; max-width: 18ch; }
.hero-c h1 .hl { color: #FF8A7A; }
.hero-c__sub { font-size: 1.125rem; color: rgba(246,242,236,.8); max-width: 54ch; margin: 0 0 22px; }
.hero-c__price { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px 28px; margin-bottom: 24px; }
.hero-c__price > div { display: grid; gap: 2px; }
.hero-c__price .k { font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; font-weight: 700; color: rgba(246,242,236,.62); }
.hero-c__price b { font-family: var(--font-display); font-weight: 800; font-size: 2rem; letter-spacing: -.03em; line-height: 1.05; color: #fff; }
.hero-c__price s, .hero-c__price small { font-size: .8125rem; color: rgba(246,242,236,.62); }
.hero-c__price .is-green b { color: #4CC38A; }
.hero-c__price .is-green .k { color: rgba(76,195,138,.9); }
.hero-c__cta { display: flex; flex-wrap: wrap; align-items: center; gap: 22px; }
.hero-c__cta .link-arrow { color: rgba(246,242,236,.85); }
.hero-c__cta .link-arrow:hover { color: #fff; }
.hero-c__trust { display: flex; flex-wrap: wrap; gap: 6px 16px; margin-top: 20px; font-size: .8125rem; color: rgba(246,242,236,.7); }
.hero-c__trust span { display: inline-flex; align-items: center; gap: 6px; }
.hero-c__trust .stars { color: var(--red); letter-spacing: 1px; font-size: .8125rem; }
.hero-c__trust b { color: #fff; }
.hero-c__media { position: relative; display: grid; place-items: end center; align-self: end; margin: -12px -24px -60px 0; }
.hero-c__media img { max-width: 100%; max-height: 420px; object-fit: contain; filter: drop-shadow(0 28px 44px rgba(0,0,0,.45)); }
.hero-c__media .chip { position: absolute; left: 50%; bottom: 36px; transform: translateX(-50%); white-space: nowrap; background: #fff; color: var(--ink); border-radius: var(--pill); padding: .45em 1em; font-size: .8125rem; font-weight: 700; box-shadow: var(--sh-md); }
.hero-c + .refticker { margin-top: 56px; }
@media (max-width: 1100px) { .hero-c__card { grid-template-columns: 1fr 1fr; padding: 34px 36px 32px; } .hero-c__media img { max-height: 360px; } }
@media (max-width: 860px) {
  .hero-c { padding: 12px 0 0; }
  .hero-c__card { grid-template-columns: 1fr; padding: 26px 22px 24px; border-radius: 18px; min-height: 0; }
  .hero-c h1 { max-width: none; }
  .hero-c__media { margin: 4px 0 -8px; place-items: center; }
  .hero-c__media img { max-height: 200px; filter: drop-shadow(0 18px 24px rgba(0,0,0,.4)); }
  .hero-c__media .chip { display: none; }
  .hero-c__crumbs { display: none; }
  .hero-c + .refticker { margin-top: 24px; }
}
@media (max-width: 560px) {
  .hero-c__cta .btn { width: 100%; justify-content: center; }
  .hero-c__cta .link-arrow { display: none; }
  .hero-c__price b { font-size: 1.75rem; }
}
/* hero-c: product stage (white tile inside the dark card; the cutouts have a white background) */
.hero-c { overflow: hidden; }
.hero-c__media { margin: 0; background: #fff; border-radius: 18px; padding: 22px 22px 54px; place-items: center; align-self: stretch; min-height: 0; box-shadow: inset 0 0 0 1px rgba(255,255,255,.4); }
.hero-c__media img { max-height: 340px; filter: drop-shadow(0 18px 26px rgba(13,10,6,.18)); }
.hero-c__media .chip { bottom: 16px; background: var(--stone); box-shadow: none; }
@media (max-width: 860px) {
  .hero-c__media { padding: 12px 12px 14px; }
  .hero-c__media img { max-height: 190px; }
}
.hero-c__card { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
.hero-c__media, .hero-c__copy { min-width: 0; }
@media (max-width: 1100px) { .hero-c__card { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }
@media (max-width: 860px) { .hero-c__card { grid-template-columns: minmax(0, 1fr); } }
.hero-c__media--photo { padding: 0; overflow: hidden; background: var(--stone); }
.hero-c__media--photo img { width: 100%; height: 100%; max-height: none; object-fit: cover; filter: none; }
@media (max-width: 860px) { .hero-c__media--photo { aspect-ratio: 16 / 9; } .hero-c__media--photo img { max-height: none; } }
/* hero-c: tighter rhythm */
.hero-c__card { padding: 34px 44px 30px; min-height: 380px; }
.hero-c h1 { font-size: clamp(1.85rem, 3vw, 2.5rem); margin-bottom: 10px; }
.hero-c__sub { margin-bottom: 18px; font-size: 1rem; }
.hero-c__price { margin-bottom: 20px; }
.hero-c__price small, .hero-c__price s { max-width: 36ch; line-height: 1.3; }
.hero-c__price b { font-size: 2rem; }
.hero-c__trust { margin-top: 16px; }
.price-card__name { min-height: 2.6em; display: flex; align-items: flex-end; }

/* ---------- Critique fixes (07.09) ---------- */
@media (max-width: 980px) { .leadband { grid-template-columns: 1fr; padding: 22px; } .leadband [data-leadform] { order: -1; } }
.cmp-wrap { position: relative; }
.cmp th:first-child, .cmp td:first-child { position: sticky; left: 0; background: var(--paper); z-index: 1; box-shadow: 4px 0 8px -6px rgba(13,10,6,.25); }
.cmp thead th:first-child { background: var(--stone); }
.price-card__desc { min-height: 2.8em; }
.pk-thumbs figcaption { font-size: .75rem; white-space: normal; line-height: 1.15; }
.pk-thumbs figure.is-cut img { background: var(--stone); }
@media (min-width: 1001px) { .process--7 { grid-template-columns: repeat(12, 1fr); } .process--7 .pstep { grid-column: span 3; } .process--7 .pstep:nth-child(n+5) { grid-column: span 4; } .process--7 .pstep:nth-child(4n+1) { border-left: 1px solid var(--line-2); padding-left: clamp(14px,2vw,28px); } .process--7 .pstep:first-child, .process--7 .pstep:nth-child(5) { border-left: none; padding-left: 0; } }
.hero-c__trust { gap: 4px 12px; }
.pricebox__row { display: grid; grid-template-columns: 1fr auto; }
@media (max-width: 860px) { .hero-c__sub { order: 1; margin: 0 0 16px; font-size: .9375rem; } .hero-c__copy { display: flex; flex-direction: column; } .hero-c__price { order: 2; } .hero-c__cta { order: 3; } .hero-c__trust { order: 4; } }

.pk-thumbs figcaption { white-space: normal !important; overflow: visible; text-overflow: clip; font-size: .75rem; padding: 4px 3px 6px; }
/* mobile: the wizard must never exceed the band (grid min-content fix) */
.leadband { grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); }
@media (min-width: 981px) { .leadband { grid-template-columns: minmax(280px, .62fr) minmax(0, 1.38fr); } }
@media (max-width: 980px) { .leadband { grid-template-columns: minmax(0, 1fr); } }
.leadband > *, .leadband [data-leadform], .leadform, .leadform__body, .leadform__step, .optgrid, .optgrid > .opt, .opt__txt { min-width: 0; max-width: 100%; }
.opt__txt b, .opt__txt small { overflow-wrap: break-word; }
.opt__txt { flex: 1 1 auto; }
.opt--v .opt__txt { width: 100%; }
/* mobile: product photo tiles become horizontal rows (3-up is too narrow below 560 px) */
@media (max-width: 560px) {
  .optgrid--3 { grid-template-columns: 1fr; gap: 8px; }
  .opt--v { flex-direction: row; align-items: center; padding: 0 40px 0 0; }
  .opt--v .opt__img { width: 92px; aspect-ratio: 1 / 1; flex: 0 0 92px; border-radius: 0; }
  .opt--v .opt__txt { padding: 10px 6px 10px 12px; }
  .opt--v .opt__txt b { font-size: .9375rem; }
  .opt--v .opt__txt small { display: block; font-size: .8125rem; }
  .opt--v .opt__chk { top: 50%; right: 10px; transform: translateY(-50%) scale(.6); }
  .opt--v.selected .opt__chk { transform: translateY(-50%) scale(1); }
}
@media (max-width: 560px) { .opt--v { padding-right: 32px; } .opt--v .opt__img { width: 78px; flex-basis: 78px; } .opt--v .opt__txt { padding: 10px 4px 10px 12px; } .opt--v .opt__txt b { font-size: .875rem; } .opt--v .opt__chk { right: 8px; } }

@media (max-width: 600px) { .chip-filter { min-height: 44px; } }
@media (max-width: 560px) { .optgrid, .optgrid:not(.optgrid--3) { grid-template-columns: 1fr; } .opt__txt b { overflow-wrap: normal; } .opt { padding: 12px 36px 12px 12px; } }
@media (max-width: 600px) { .price-card__more, .link-arrow { min-height: 44px; align-items: center; } }
@media (min-width: 561px) { .dbladder__row { grid-template-columns: 180px 1fr 72px; } }
@media (min-width: 701px) { .opt--v { padding-right: 0; } }
.carousel__btn, .refticker__nav .carousel__btn { width: 44px; height: 44px; }
.cta-band__alt { padding-block: 10px; display: inline-block; }

/* hero-c: full-bleed — the dark stage spans the whole viewport, content stays on the .wrap grid */
.hero-c { position: relative; isolation: isolate; background: var(--ink-2); color: var(--on-dark); padding: 0; overflow: hidden; }
.hero-c::before { content: ""; position: absolute; inset: 0; background: radial-gradient(640px 480px at 78% 60%, rgba(225,42,30,.28), transparent 70%); z-index: -1; }
.hero-c::after { content: ""; position: absolute; inset: 0; background: linear-gradient(120deg, rgba(255,255,255,.04), transparent 50%); z-index: -1; }
.hero-c__card { background: transparent; border-radius: 0; padding: 44px 0 40px; min-height: 420px; isolation: auto; }
.hero-c__card::before, .hero-c__card::after { display: none; }
@media (max-width: 1100px) { .hero-c__card { padding: 36px 0 32px; } }
@media (max-width: 860px) { .hero-c { padding: 0; } .hero-c__card { padding: 24px 0 22px; border-radius: 0; } }
.hero-c + .refticker { margin-top: 0; }
@media (max-width: 860px) { .hero-c + .refticker { margin-top: 0; } }

/* Über uns: two marquee rows running against each other */
.photomarquee__track--rev { margin-top: 14px; animation-direction: reverse; animation-duration: 62s; animation-delay: -23s; }

/* Über uns: timeline draws itself — line grows, dots pop, items stagger via .fade-up */
.timeline.fade-up { opacity: 1; transform: none; }
.timeline::before { transform: scaleX(0); transform-origin: left; transition: transform 1.8s var(--ease) .1s; }
.timeline.in::before { transform: none; }
.tl-item::before { transform: scale(0); transition: transform .5s var(--ease) .35s; }
.tl-item.in::before { transform: none; }

/* ---------- Über uns: light stage with floating team-photo cards (hero) ---------- */
.about-stage { position: relative; background: var(--bg); overflow: hidden; }
.about-stage__wrap { position: relative; padding-block: clamp(150px, 16vw, 230px) clamp(130px, 15vw, 220px); min-height: 820px; }
.about-stage__copy { position: relative; z-index: 2; max-width: 720px; margin-inline: auto; text-align: center; }
.about-stage__copy .phero__crumbs { justify-content: center; color: var(--muted); }
.about-stage__copy .phero__crumbs a { color: var(--muted); }
.about-stage__copy h1 { margin: 18px 0 16px; }
.about-stage__copy .lead { max-width: 54ch; margin-inline: auto; }
.about-stage__copy .phero__actions { justify-content: center; }
.about-stage__trust { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 22px; margin-top: 18px; font-size: .875rem; color: var(--muted); }
.about-stage__trust span { display: inline-flex; align-items: center; gap: 6px; }
.about-stage__trust svg { width: 15px; height: 15px; color: var(--red); }
.about-stage__cards { position: absolute; inset: 0; pointer-events: none; z-index: 1; }
.fcard { position: absolute; margin: 0; width: var(--w, 200px); aspect-ratio: 4 / 3; border-radius: 14px; padding: 6px; background: #fff; box-shadow: var(--sh-lg); rotate: var(--r, 0deg); opacity: 0; animation: fcard-in 1s var(--ease) var(--d, 0s) both, fcard-float var(--f, 10s) ease-in-out calc(var(--d, 0s) + 1s) infinite; }
.fcard__in { display: block; width: 100%; height: 100%; border-radius: 9px; overflow: hidden; }
.fcard img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fcard--1 { --w: 300px; --r: -6deg; --d: .05s; --f: 10s; left: 3%; top: 2%; }
.fcard--2 { --w: 230px; --r: 4deg; --d: .25s; --f: 11s; left: 6%; top: 54%; }
.fcard--3 { --w: 280px; --r: 5deg; --d: .15s; --f: 9.5s; right: 3%; top: 2%; }
.fcard--4 { --w: 250px; --r: -4deg; --d: .35s; --f: 10.5s; right: 5%; top: 52%; }
.fcard--5 { --w: 200px; --r: 3deg; --d: .45s; --f: 11s; left: 24%; bottom: 3%; }
.fcard--6 { --w: 200px; --r: -5deg; --d: .55s; --f: 9s; right: 24%; bottom: 5%; }
@keyframes fcard-in { from { opacity: 0; translate: 0 22px; scale: .96; } to { opacity: 1; translate: 0 0; scale: 1; } }
@keyframes fcard-float { 0%, 100% { translate: 0 0; } 50% { translate: 0 -6px; } }
@media (max-width: 1240px) { .about-stage__wrap { min-height: 640px; } .fcard--1 { --w: 230px; left: 1%; } .fcard--3 { --w: 220px; right: 1%; } .fcard--2 { --w: 170px; left: 2%; } .fcard--4 { --w: 190px; right: 2%; } .fcard--5, .fcard--6 { display: none; } }
@media (max-width: 860px) {
  .about-stage__wrap { min-height: 0; padding-block: 28px 44px; }
  .about-stage__cards { position: static; display: flex; justify-content: center; gap: 12px; margin: 0 0 26px; }
  .fcard { position: static; display: block; --w: 30%; padding: 4px; border-radius: 10px; }
  .fcard--2, .fcard--5, .fcard--6 { display: none; }
  .fcard--1 { --r: -4deg; } .fcard--3 { --r: 3deg; } .fcard--4 { --r: -3deg; display: block; }
  .about-stage__copy .phero__crumbs { display: none; }
}
@media (prefers-reduced-motion: reduce) { .fcard { animation: none; opacity: 1; } }

/* ---------- Über uns: light number bento ---------- */
.about-bento { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(150px, auto)); gap: 14px; }
.ab-photo { position: relative; grid-column: 1 / 3; grid-row: 1 / 3; margin: 0; border-radius: var(--r-lg); overflow: hidden; background: var(--stone); min-height: 320px; }
.ab-photo .imgfill { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ab-photo figcaption { position: absolute; left: 16px; right: 16px; bottom: 14px; color: #fff; font-size: .8125rem; font-weight: 600; text-shadow: 0 1px 8px rgba(0,0,0,.5); }
.ab-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(13,10,6,.55) 100%); pointer-events: none; }
.ab-num { display: flex; flex-direction: column; justify-content: flex-end; gap: 4px; padding: clamp(18px, 2.2vw, 28px); background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-lg); }
.ab-num .statband__num { font-family: var(--font-display); font-weight: 800; font-size: clamp(2rem, 3.4vw, 3rem); line-height: 1; letter-spacing: -.04em; color: var(--ink); white-space: nowrap; }
.ab-num span { color: var(--muted); font-size: .875rem; line-height: 1.35; }
.ab-num--dark { background: var(--ink-2); border-color: var(--ink-2); }
.ab-num--dark .statband__num { color: #fff; }
.ab-num--dark span { color: var(--on-dark-mut); }
.about-bento__row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 14px; }
.ab-num--slim { flex-direction: row; justify-content: flex-start; align-items: baseline; gap: 12px; padding-block: 16px; }
.ab-num--slim .statband__num { font-size: 1.5rem; }
@media (max-width: 860px) {
  .about-bento { grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
  .ab-photo { grid-column: 1 / -1; grid-row: auto; min-height: 220px; }
  .about-bento__row { grid-template-columns: 1fr; gap: 10px; }
  .ab-num--slim { padding-block: 12px; }
}

/* ---------- Über uns: team grid + team strip ---------- */
.teamgrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.teamgrid figure { position: relative; margin: 0; aspect-ratio: 4 / 3; border-radius: var(--r-md); overflow: hidden; background: var(--stone-2); }
.teamgrid .imgfill { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease); }
.teamgrid figure:hover .imgfill { transform: scale(1.04); }
.photomarquee--team { background: transparent; padding: 14px 0 0; margin-top: 14px; }
.photomarquee--team .photomarquee__item { width: clamp(180px, 20vw, 280px); border-radius: var(--r-md); }
@media (max-width: 860px) { .teamgrid { grid-template-columns: 1fr 1fr; gap: 10px; } }

/* ---------- Über uns: manifesto (who we are) ---------- */
.manifest { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(36px, 6vw, 88px); align-items: center; }
.manifest__title { font-family: var(--font-display); font-weight: 700; font-size: clamp(1.7rem, 3.1vw, 2.6rem); line-height: 1.12; letter-spacing: -.025em; color: var(--ink); margin: 0 0 20px; }
.manifest__copy .lead { margin-bottom: 14px; }
.manifest__p { color: var(--muted); line-height: 1.6; }
.manifest__media { position: relative; margin: 0; border-radius: var(--r-xl); overflow: visible; aspect-ratio: 4 / 3; }
.manifest__media .imgfill { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border-radius: var(--r-xl); box-shadow: var(--sh-lg); }
.manifest__chip { position: absolute; left: -22px; bottom: 26px; display: grid; gap: 2px; padding: 16px 20px; background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-md); box-shadow: var(--sh-md); max-width: 220px; }
.manifest__chip b { font-family: var(--font-display); font-weight: 800; font-size: 2rem; letter-spacing: -.03em; line-height: 1; color: var(--ink); }
.manifest__chip span { font-size: .8125rem; color: var(--muted); line-height: 1.35; }
.manifest__facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(20px, 3vw, 40px); margin-top: clamp(44px, 6vw, 72px); padding-top: 28px; border-top: 1px solid var(--line-2); }
.manifest__facts .idx { display: block; font-family: var(--font-display); font-weight: 800; font-size: .875rem; letter-spacing: .06em; color: var(--red); margin-bottom: 10px; }
.manifest__facts p { margin: 0; font-weight: 600; font-size: 1rem; line-height: 1.45; color: var(--ink); }
@media (max-width: 980px) { .manifest { grid-template-columns: 1fr; } .manifest__media { order: -1; } .manifest__chip { left: 14px; bottom: 14px; } .manifest__facts { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .manifest__facts { grid-template-columns: 1fr; gap: 18px; } }

/* ---------- Über uns: four-country map (inline SVG, drawn on scroll) ---------- */
.geo { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(28px, 5vw, 72px); align-items: center; }
.geo__list { display: grid; gap: 10px; }
.geo__list .country { display: grid; grid-template-columns: 52px 1fr; grid-template-rows: auto auto; column-gap: 14px; align-items: center; padding: 14px 16px; background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-md); transition: border-color .25s, transform .25s var(--ease); cursor: default; }
.geo__list .country .code { grid-row: 1 / 3; width: 52px; height: 52px; border-radius: 12px; display: grid; place-items: center; font-family: var(--font-display); font-weight: 800; font-size: 1rem; letter-spacing: .04em; background: var(--stone); color: var(--ink); }
.geo__list .country b { font-family: var(--font-display); font-weight: 700; font-size: 1rem; color: var(--ink); }
.geo__list .country > span:last-child { color: var(--muted); font-size: .875rem; line-height: 1.4; }
.geo__list .country--home { border-color: var(--red-600); }
.geo__list .country--home .code { background: var(--red-600); color: #fff; }
.geo__list .country:hover { border-color: var(--ink); transform: translateX(4px); }
.geo__map { position: relative; }
.geo__svg { width: 100%; height: auto; display: block; overflow: visible; }
.geo__c { fill: var(--line-2); stroke: var(--bg); stroke-width: 3; stroke-linejoin: round; transition: fill .3s; opacity: 0; transform: translateY(14px); transform-box: fill-box; }
.geo__c--de { fill: var(--red-600); }
.geo__map.in .geo__c { animation: geo-pop .7s var(--ease) both; }
.geo__map.in .geo__c--de { animation-delay: .05s; } .geo__map.in .geo__c--cz { animation-delay: .25s; } .geo__map.in .geo__c--at { animation-delay: .4s; } .geo__map.in .geo__c--sk { animation-delay: .55s; }
@keyframes geo-pop { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
.geo__lbl { font-family: var(--font-display); font-weight: 800; font-size: 30px; letter-spacing: .04em; fill: var(--ink); text-anchor: middle; opacity: 0; transition: opacity .4s .8s; }
.geo__c--de + * .geo__lbl, .geo__lbl:first-of-type { fill: #fff; }
.geo__map.in .geo__lbl { opacity: 1; }
.geo__dot { fill: #fff; stroke: var(--red-700); stroke-width: 3; }
.geo__pulse { fill: none; stroke: #fff; stroke-width: 2; opacity: 0; }
.geo__map.in .geo__pulse { animation: geo-pulse 2.4s ease-out 1s infinite; }
@keyframes geo-pulse { 0% { r: 7; opacity: .9; } 100% { r: 26; opacity: 0; } }
/* list ↔ map link: hovering a row lights its country */
.geo:has(.country[data-c="at"]:hover) .geo__c--at, .geo:has(.country[data-c="cz"]:hover) .geo__c--cz, .geo:has(.country[data-c="sk"]:hover) .geo__c--sk { fill: var(--ink); }
.geo:has(.country[data-c="de"]:hover) .geo__c--de { fill: var(--red-700); }
@media (max-width: 980px) { .geo { grid-template-columns: 1fr; } .geo__map { order: -1; max-width: 520px; margin-inline: auto; } .geo__lbl { font-size: 36px; } }
@media (prefers-reduced-motion: reduce) { .geo__c { opacity: 1; transform: none; animation: none !important; } .geo__pulse { animation: none !important; } .geo__lbl { opacity: 1; } }
/* country list: flags instead of code badges */
.geo__list .country .flagbox { grid-row: 1 / 3; width: 52px; height: 52px; border-radius: 12px; display: grid; place-items: center; background: var(--stone); }
.geo__list .country .flag { width: 34px; height: auto; border-radius: 4px; box-shadow: 0 0 0 1px rgba(20,16,11,.08); display: block; }
.geo__list .country--home .flagbox { background: var(--red-soft); }

/* ---------- Festpreis positions: one 9-tile grid (moved out of the price cards) ---------- */
.inclgrid { display: grid; grid-template-columns: repeat(9, minmax(0, 1fr)); gap: 12px; }
.inclgrid figure { position: relative; margin: 0; background: var(--stone); border-radius: var(--r-md); overflow: hidden; display: flex; flex-direction: column; }
.inclgrid figure img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }
.inclgrid figure.is-cut { background: #fff; box-shadow: inset 0 0 0 1px var(--line); }
.inclgrid figure.is-cut img { object-fit: contain; padding: 12px; }
.inclgrid .idx { position: absolute; top: 8px; left: 8px; font-family: var(--font-display); font-weight: 800; font-size: .75rem; letter-spacing: .06em; color: var(--red); background: rgba(255,255,255,.9); border-radius: var(--pill); padding: 2px 7px; }
.inclgrid figcaption { padding: 9px 10px 11px; font-size: .8125rem; font-weight: 600; color: var(--ink); text-align: center; line-height: 1.25; }
@media (max-width: 1100px) { .inclgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; } .inclgrid figcaption { font-size: .875rem; } }
@media (max-width: 560px) { .inclgrid { gap: 8px; } .inclgrid figcaption { font-size: .75rem; padding: 7px 6px 9px; } }

/* price cards, slim (09/2026): label above the single price, Aktionspreis as a quiet line */
.pricing .price-card__price { flex-direction: column; align-items: flex-start; gap: 0; padding-bottom: 4px; }
.pricing .price-card__price .from { font-size: .8125rem; letter-spacing: .04em; text-transform: uppercase; font-weight: 700; color: var(--green); }
.pricing .price-card__sub { color: var(--muted); font-size: .875rem; margin: 0 0 18px; }
.pricing .price-card__desc { min-height: 0; margin-bottom: 18px; }

/* ---------- Sets (Rozcestník): three scope cards ---------- */
.setgrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.setcard { display: flex; flex-direction: column; background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-lg); overflow: hidden; color: var(--ink); transition: transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s; }
.setcard:hover { transform: translateY(-4px); box-shadow: var(--sh-md); border-color: var(--line-2); }
.setcard__img { position: relative; display: block; aspect-ratio: 16 / 10; background: var(--stone); overflow: hidden; }
.setcard__img .imgfill { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease); }
.setcard:hover .setcard__img .imgfill { transform: scale(1.04); }
.setcard__body { display: flex; flex-direction: column; gap: 8px; padding: 20px 22px 22px; flex: 1; }
.setcard__body strong { font-family: var(--font-display); font-size: 1.125rem; font-weight: 700; line-height: 1.2; }
.setcard__body > span:not(.link-arrow) { color: var(--muted); font-size: .9375rem; line-height: 1.5; }
.setcard__body .link-arrow { margin-top: auto; padding-top: 10px; font-weight: 700; }
@media (max-width: 860px) { .setgrid { grid-template-columns: 1fr; gap: 12px; } .setcard { flex-direction: row; } .setcard__img { flex: 0 0 34%; aspect-ratio: auto; } .setcard__body { padding: 14px 16px; gap: 4px; } .setcard__body strong { font-size: 1rem; } .setcard__body > span:not(.link-arrow) { font-size: .875rem; } }

/* ---------- Offers S/M/L v3 — compact, rows aligned across cards (subgrid) ---------- */
.offers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: auto auto auto auto auto; gap: 16px; align-items: stretch; }
.offer { display: grid; grid-row: span 5; grid-template-rows: subgrid; row-gap: 0; background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-lg); overflow: hidden; }
.offer > :not(.btn) { padding-inline: 22px; }
.offer__band { display: flex; flex-direction: column; gap: 2px; padding-block: 12px 11px; background: var(--stone-2); border-bottom: 1px solid var(--line-2); }
.offer__band b { font-family: var(--font-display); font-weight: 800; font-size: 1rem; letter-spacing: -.01em; color: var(--ink); }
.offer__band span { font-size: .8125rem; color: var(--muted); }
.offer--pop { border-color: var(--ink-2); box-shadow: var(--sh-lg); }
.offer--pop .offer__band { background: var(--ink-2); border-bottom-color: var(--ink-2); }
.offer--pop .offer__band b { color: #fff; }
.offer--pop .offer__band span { color: var(--on-dark-mut); }
.offer--best .offer__band { background: var(--green-bg); border-bottom-color: #cfe6d6; }
.offer--best .offer__band b { color: var(--green); }
.offer--best .offer__band span { color: var(--green); opacity: .85; }
.offer__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding-block: 14px 0; }
.offer__kw { font-size: .8125rem; font-weight: 700; color: var(--ink); }
.offer__tag { font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #fff; background: var(--ink-2); padding: 4px 9px; border-radius: var(--pill); white-space: nowrap; }
.offer__tag--green { background: var(--green); }
.offer__comps { list-style: none; margin: 0; padding-block: 12px 14px; display: grid; gap: 8px; border-bottom: 1px solid var(--line); }
.offer__comps li { display: flex; gap: 10px; align-items: center; font-size: .875rem; line-height: 1.3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.offer__comps li span { overflow: hidden; text-overflow: ellipsis; }
.offer__comps svg { width: 18px; height: 18px; flex-shrink: 0; color: var(--ink); padding: 4px; box-sizing: content-box; background: var(--stone); border-radius: 8px; }
.offer--pop .offer__comps svg { background: var(--red-soft); color: var(--red-600); }
.offer__price { display: grid; gap: 4px; padding-block: 14px 16px; }
.offer__lbl { font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--green); }
.offer__price b { font-family: var(--font-display); font-weight: 800; font-size: clamp(1.7rem, 2.2vw, 2.1rem); letter-spacing: -.035em; line-height: 1; color: var(--ink); white-space: nowrap; }
.offer__calc { font-size: .75rem; color: var(--muted); line-height: 1.35; }
.offer__save { justify-self: start; margin-top: 4px; font-size: .75rem; font-weight: 700; color: var(--green); background: var(--green-bg); padding: 3px 9px; border-radius: var(--pill); }
.offer > .btn { width: auto; margin: 0 22px 20px; align-self: end; justify-content: center; }
.offer .btn--ghost { border-color: var(--line-2); }
.offer .btn--ghost:hover { border-color: var(--ink); }
@media (max-width: 980px) { .offers { grid-template-columns: 1fr; grid-template-rows: none; gap: 12px; } .offer { grid-row: auto; grid-template-rows: none; } .offer--pop { order: -1; } .offer__comps li { white-space: normal; } }

/* Ratgeber: only published articles as cards; upcoming titles as one quiet line */
.acards--two { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 960px; }
.acards__soon { margin: 18px 0 0; font-size: .875rem; color: var(--muted); line-height: 1.6; }
.acards__soon b { color: var(--ink); font-weight: 700; margin-right: 4px; }
@media (max-width: 760px) { .acards--two { grid-template-columns: 1fr; } }

/* audit r2: trust strip as a 2x2 grid on small screens; footer trust items top-aligned */
@media (max-width: 480px) { .trust-strip__row { grid-template-columns: 1fr 1fr; gap: 14px 16px; padding-block: 20px; } .trust-strip__item b { font-size: .875rem; } }
.footer__trust-item { align-items: flex-start; }
.footer__trust-item > svg { margin-top: 2px; flex-shrink: 0; }
.countdown__lbl { white-space: nowrap; }

/* lead form result: amount never breaks, breakdown rows wrap on the label side */
.lf-result__amount { white-space: nowrap; }
@media (max-width: 480px) { .lf-result__amount { font-size: clamp(1.9rem, 9vw, 2.6rem); } }
.lf-bd__row { align-items: baseline; }
.lf-bd__row > span:first-child { flex: 1 1 auto; min-width: 0; }
.lf-bd__row b { flex: 0 0 auto; max-width: 48%; text-align: right; white-space: normal; }
.leadform .field label { color: var(--ink); }
.lf-bd { color: var(--ink); }
@media (max-width: 480px) { .leadform__nav { flex-wrap: wrap; gap: 10px; } .leadform__nav .btn { width: 100%; order: -1; justify-content: center; } }

/* homepage hero: fill the first screen (viewport minus sticky header), content vertically centred */
@media (min-width: 641px) { .hero--cine.hero--light { min-height: calc(100svh - var(--header-h, 116px)); } }

/* design-lint: minimum legible sizes (nothing under 11px), tap targets, sticky-CTA clearance, contrast */
.badge { font-size: .75rem; }
.tick__tag { font-size: .75rem; }
.tick__cap span { font-size: .8125rem; }
.countdown__cell .u { font-size: .75rem; }
.countdown__lbl { font-size: .75rem; }
.acard__cat { font-size: .8125rem; }
.cta-band__alt { min-height: 44px; display: inline-flex; align-items: center; }
.cta-band__inner a[href^="tel:"], .cta-band .phone { color: #fff; }
.topbar { color: rgba(246,242,236,.86); }
@media (max-width: 1080px) { body:has(.stickycta) { padding-bottom: 84px; } }
.hero-c__price .k { font-size: .75rem; }
.offer__tag { font-size: .75rem; }
.pk-note, .pv-note-row, .cmp-note, p.muted.center, .muted.center { max-width: 78ch; }
.center.pv-note-row, p.muted.center { margin-inline: auto; }
.hub-tile .badge, .hub-tile__badge, main .badge { font-size: .75rem; }
.countdown .countdown__cell .u, .hero--cine .countdown .u { font-size: .75rem; letter-spacing: .06em; }
.hero--cine .countdown__lbl, .countdown .countdown__lbl { font-size: .75rem; }
.hero__dots button, .slides__dots button, [class*="dots"] > button { position: relative; min-width: 44px; min-height: 44px; display: inline-grid; place-items: center; background: transparent; border: 0; padding: 0; }
.hero__dots button::before, .slides__dots button::before, [class*="dots"] > button::before { content: ""; width: 28px; height: 4px; border-radius: 2px; background: currentColor; opacity: .45; }
.hero__dots button.active::before, .slides__dots button.active::before, [class*="dots"] > button.active::before { opacity: 1; }
.cine-dots button, .cine-dots button.active { background: transparent; }
.cine-dots { gap: 0; }
@media (max-width: 640px) { .hub-tile__ph .badge { font-size: .7rem; max-width: calc(100% - 16px); white-space: normal; line-height: 1.2; top: 8px; left: 8px; } }
.offer__band span { color: var(--ink); opacity: .72; }
.offer--pop .offer__band span { color: var(--on-dark); opacity: 1; }
.offer--best .offer__band span { color: var(--green); opacity: 1; }
.pk-included h3 { font-family: var(--font-display); font-size: 1.125rem; font-weight: 700; margin: 0 0 14px; }

/* perf: no backdrop-filter on moving or hero elements (re-sampled every frame while scrolling/animating) */
.photomarquee__item span { backdrop-filter: none; -webkit-backdrop-filter: none; background: rgba(13,10,6,.6); padding: 4px 8px; border-radius: 6px; }
.hero--light .countdown, .hero--promo .countdown, .deal, .hb-chip, .opt--v .opt__ic, .pcard__icon, .proj-feature__badge, .proj-nav button, .prod-price__col { backdrop-filter: none; -webkit-backdrop-filter: none; }
.hero--light .countdown { background: rgba(13,10,6,.62); }
.opt--v .opt__ic { background: #fff; }

/* included-positions grid: every tile the same object — square image area + caption row */
.inclgrid figure, .inclgrid figure.is-cut { background: var(--paper); border: 1px solid var(--line); box-shadow: none; border-radius: var(--r-md); }
.inclgrid figure img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }
.inclgrid figure.is-cut img { object-fit: contain; padding: 14px; background: #fff; }
.inclgrid figcaption { padding: 10px 8px 12px; border-top: 1px solid var(--line); background: var(--paper); font-size: .8125rem; font-weight: 600; text-align: center; }
.inclgrid .idx { top: 8px; left: 8px; }

/* lead form: stable card height between steps, actions pinned to the bottom (no jumping) */
.leadform__body { display: flex; flex-direction: column; min-height: 540px; }
.leadform__nav { margin-top: auto; }
@media (max-width: 640px) { .leadform__body { min-height: 380px; } }
.phero__crumbs a, .about-stage__copy .phero__crumbs a { display: inline-block; padding: 11px 2px; margin: -11px 0; }
.leadband .leadform__q, .leadform h2.leadform__q { color: var(--ink); font-size: 1.75rem; margin: 14px 0 6px; }
.leadform__hint { margin-bottom: 18px; }

/* split/feature sections: the photo fills the text column's height instead of leaving a gap */
.feature { align-items: stretch; }
.feature__media:not(.feature__media--product) { aspect-ratio: auto; min-height: 380px; height: 100%; }
.split { align-items: stretch; }
.split__img { aspect-ratio: auto; min-height: 380px; height: 100%; }
.split__img .imgfill, .feature__media .imgfill { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 860px) { .feature__media:not(.feature__media--product), .split__img { aspect-ratio: 4 / 3; min-height: 0; height: auto; } }

/* conversion phrases: one marked phrase per lead — highlighter on light, red underline on dark */
.hl { background: linear-gradient(transparent 62%, var(--red-soft) 62%); padding: 0 .08em; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.on-dark .hl, .hero--cine .hl, .hero-c .hl, .leadband .hl, .cta-band .hl, .phero .hl, .dotace .hl { background: none; text-decoration: underline; text-decoration-color: var(--red); text-decoration-thickness: 2px; text-underline-offset: .18em; }

/* FAQ: list sits under the heading on the same grid, not floating centre-right */
.faq { max-width: 920px; margin-inline: 0; }

/* stat cards: the number is the message — big, ink, no icon box */
.icards--stats .icard__ic { width: auto; height: auto; background: none; border-radius: 0; margin-bottom: 10px; }
.icards--stats .icard__ic .idx { font-size: clamp(2.2rem, 3.6vw, 3.2rem) !important; font-weight: 800; letter-spacing: -.04em; line-height: 1; color: var(--ink); font-variant-numeric: tabular-nums; }
.icards--stats .icard h3 { font-size: 1.125rem; }

/* season pillars: label with icon, bigger title */
.pillars--3up .pillar__ic .badge { font-size: .75rem; padding: 6px 12px; display: inline-flex; align-items: center; gap: 8px; }
.pillars--3up .pillar__ic .badge svg { width: 16px; height: 16px; color: var(--red); }
.pillars--3up .pillar h3 { font-size: 1.25rem; }
.pillar__ic--season { display: flex; align-items: center; gap: 8px; color: var(--red); }
.pillar__ic--season svg { width: 18px; height: 18px; }
.cmp--paths th:first-child { width: 22%; }
.cmp--paths td.win { font-weight: 700; color: var(--ink); }
.cmp--paths .cmp__cta td { padding-top: 16px; }
.scard__big { display: flex; align-items: baseline; gap: 10px; margin: 6px 0 12px; }
.scard__big b { font-family: var(--font-display); font-weight: 800; font-size: clamp(1.8rem, 2.6vw, 2.4rem); letter-spacing: -.035em; color: var(--ink); font-variant-numeric: tabular-nums; }
.scard__big span { font-size: .8125rem; color: var(--muted); }
/* split photo: fills the row defined by the text column (never the photo's own height) */
.split__img { position: relative; height: auto; min-height: 380px; }
.split__img img, .split__img .imgfill { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 860px) { .split__img { min-height: 0; aspect-ratio: 4 / 3; } }
.icards--stats .icard__ic .idx { font-variant-numeric: normal; letter-spacing: -.03em; }
.pillar__num { font-family: var(--font-display); font-weight: 800; font-size: clamp(2.2rem, 3.6vw, 3.2rem); letter-spacing: -.04em; line-height: 1; color: var(--ink); margin-bottom: 16px; }
.pillar--num h3 { font-size: 1.125rem; }
/* benefit numbers read as benefits: green, like "nach Förderung" on the hero */
.icards--stats .icard__ic .idx, .pillar__num, .scard__big b { color: var(--green); }

/* ---------- Subsidy stamp: rotating ring text, red core ---------- */
.sec-head--stamp { position: relative; padding-right: 160px; }
.stamp { position: absolute; right: 0; top: -14px; width: 136px; height: 136px; pointer-events: none; }
.stamp svg { width: 100%; height: 100%; overflow: visible; animation: stampspin 18s linear infinite; }
.stamp__ring { font-family: var(--font-display); font-weight: 800; font-size: 11px; letter-spacing: .16em; fill: var(--red-600); }
.stamp__core { position: absolute; inset: 36px; border-radius: 50%; background: var(--red-600); color: #fff; display: grid; place-items: center; font-family: var(--font-display); font-weight: 800; font-size: 1.25rem; letter-spacing: -.03em; box-shadow: 0 10px 24px -10px rgba(158,21,13,.6); }
.dotace { position: relative; }
.dotace .stamp { right: 28px; top: 22px; }
.dotace .stamp__ring { fill: #fff; }
.dotace .stamp__core { background: #fff; color: var(--red-600); }
@keyframes stampspin { to { transform: rotate(360deg); } }
@media (max-width: 860px) { .sec-head--stamp { padding-right: 0; padding-top: 0; } .stamp { position: static; width: 104px; height: 104px; margin: 0 0 14px; } .stamp__core { inset: 27px; font-size: 1rem; } .dotace .stamp { position: absolute; right: 14px; top: 14px; width: 96px; height: 96px; } .dotace .stamp__core { inset: 25px; } }
@media (prefers-reduced-motion: reduce) { .stamp svg { animation: none; } }
.sec-head--stamp { max-width: none; }
.sec-head--stamp > :not(.stamp) { max-width: 720px; }
.stamp__ring { font-size: 10.5px; letter-spacing: .2em; }
/* stamp inside dark subsidy boxes */
.dotace, .pricebox, .fpband, .fp { position: relative; }
.stamp--dark { position: absolute; right: 28px; top: 22px; z-index: 2; }
.stamp--dark .stamp__ring { fill: #fff; }
.stamp--dark .stamp__core { background: #fff; color: var(--red-600); box-shadow: none; }
@media (max-width: 860px) { .stamp--dark { right: 12px; top: 12px; width: 92px; height: 92px; } .stamp--dark .stamp__core { inset: 24px; font-size: .95rem; } }
/* prose sub-headings breathe */
.split2 h3, .prose h3, .feature__copy h3 { margin-bottom: 8px; }
.cmp td.pos { color: var(--green); font-weight: 800; }
.cmp tr.save { background: var(--green-bg); }
.cmp tr.save th { color: var(--green); }
.cmp tr.save td.pos { font-family: var(--font-display); font-size: 1.125rem; letter-spacing: -.01em; }
/* stamp as a sticker on the box corner — never over the content inside */
.stamp--dark, .dotace .stamp { left: -18px; top: -18px; right: auto; }
@media (max-width: 860px) { .stamp--dark, .dotace .stamp { left: -8px; top: -14px; } }
.dotace, .pricebox { overflow: visible; }
.cmp tr.save th { background: var(--green-bg); }
/* stamp floated at the top-right of the text column: text wraps around it, works in every box */
.stamp--float { position: relative; float: right; width: 124px; height: 124px; margin: -8px 0 10px 20px; shape-outside: circle(50%); }
.stamp--float .stamp__ring { fill: #fff; }
.stamp--float .stamp__core { background: #fff; color: var(--red-600); box-shadow: none; inset: 33px; font-size: 1.15rem; }
@media (max-width: 860px) { .stamp--float { width: 96px; height: 96px; margin: -4px 0 8px 12px; } .stamp--float .stamp__core { inset: 25px; font-size: .95rem; } }
.cmp tr.save td:last-child { font-family: var(--font-display); font-weight: 800; font-size: 1.125rem; color: var(--green); }

/* ============================================================
   Audit round 6 — full-site strip review (09/2026)
   ============================================================ */
/* Heading → lead rhythm outside .sec-head (feature copy, article sections, dotace, split) */
h2 + .lead, .h2 + .lead, h2 + p.lead { margin-top: 14px; }
.lead + .lead { margin-top: 10px; }
.split__body .sec-head, .feature__copy .sec-head { margin-bottom: 22px; }
/* CTA band: keep ": " between label and number, red text on the white phone button */
.cta-band__alt { display: inline-block; padding-block: 12px; min-height: 0; line-height: 1.3; }
.cta-band .btn--light[href^="tel:"], .cta-band__inner a.btn--light[href^="tel:"] { color: var(--red); }
.cta-band .btn--light[href^="tel:"]:hover { color: var(--red-700, var(--red)); }
/* Ratgeber hub: pillar links sit on one baseline; checklist links look like links */
.pillar { display: flex; flex-direction: column; }
.pillar > .link-arrow, .pillar > :last-child { margin-top: auto; padding-top: 16px; }
.checklist a { color: var(--red); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1.5px; }
.checklist a:hover { color: var(--ink); }
.acards__soon { margin-top: 22px; }
/* Article: 2×2 statband borders, prose measure matches article head */
.article-main .statband .statband__cell:nth-child(odd) { border-left: none; padding-left: 0; }
.prose { max-width: 760px; }
/* Gewerbe: example savings — proportional figures, no wrap; refs link centred under the trust pill */
.scard__big { flex-wrap: wrap; row-gap: 2px; }
.scard__big b { font-variant-numeric: normal; white-space: nowrap; font-size: clamp(1.6rem, 2.3vw, 2.1rem); }
.gw-note { text-align: center; }
/* Comparison tables: the winning figure reads green */
.cmp tr.win td b, .cmp tr.win td strong, table tr.win td b { color: var(--green); }

/* Förder-Check photo tiles: the desktop .opt padding must not push the photo off the tile edge */
@media (min-width: 981px) { .opt--v { padding: 0 0 16px; } }
@media (min-width: 981px) and (max-width: 1180px) { .opt--v .opt__txt b { font-size: 1rem; } }
.opt--v .opt__txt b { overflow-wrap: normal; hyphens: auto; }

/* ============================================================
   Danke (thank-you) page
   ============================================================ */
.danke-stage { background: var(--ink-2); color: var(--on-dark); border-radius: var(--r-xl); padding: clamp(30px, 4vw, 56px); display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(30px, 4vw, 56px); align-items: center; position: relative; overflow: hidden; }
.danke-stage::before { content: ""; position: absolute; inset: -40% -20% auto auto; width: 60%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(closest-side, rgba(194,29,19,.28), transparent 70%); pointer-events: none; }
.danke-stage > * { position: relative; z-index: 1; }
.danke-check { width: 60px; height: 60px; border-radius: 50%; background: var(--green); color: #fff; display: inline-grid; place-items: center; margin-bottom: 20px; box-shadow: 0 0 0 8px rgba(31,122,69,.18); }
.danke-check svg { width: 30px; height: 30px; }
.danke-stage h1 { color: #fff; font-size: clamp(1.9rem, 3.4vw, 2.75rem); letter-spacing: -.03em; line-height: 1.05; max-width: 16ch; }
.danke-stage .lead { color: rgba(246,242,236,.8); margin-top: 16px; max-width: 46ch; }
.danke-stage .lead b { color: #fff; font-weight: 700; }
.danke-trust { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-top: 22px; font-size: .875rem; color: rgba(246,242,236,.72); }
.danke-trust span { display: inline-flex; align-items: center; gap: 7px; }
.danke-trust svg { width: 16px; height: 16px; color: var(--red-on-dark, #ff6b5e); }
.danke-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
/* right: the "Ihre Anfrage" ticket */
.ticket { background: var(--paper); color: var(--ink); border-radius: var(--r-lg); padding: 26px 28px 24px; box-shadow: var(--sh-md); }
.ticket__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 16px; border-bottom: 1px dashed var(--line-2); }
.ticket__eyebrow { font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.ticket__plan { font-family: var(--font-display); font-weight: 800; font-size: 1.25rem; letter-spacing: -.02em; margin-top: 4px; }
.ticket__stamp { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: var(--pill); background: var(--green-bg, #e5f3ea); color: var(--green); font-size: .75rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.ticket__stamp i { width: 8px; height: 8px; border-radius: 50%; background: var(--green); animation: tk-pulse 1.8s ease-out infinite; }
@keyframes tk-pulse { 0% { box-shadow: 0 0 0 0 rgba(31,122,69,.45); } 100% { box-shadow: 0 0 0 9px rgba(31,122,69,0); } }
.tsteps { list-style: none; margin: 18px 0 0; padding: 0; display: grid; gap: 0; }
.tsteps li { position: relative; display: grid; grid-template-columns: 30px 1fr auto; align-items: start; column-gap: 12px; padding: 10px 0; }
.tsteps li::before { content: ""; position: absolute; left: 14px; top: 34px; bottom: -10px; width: 2px; background: var(--line-2); }
.tsteps li:last-child::before { display: none; }
.tsteps .n { width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; font-family: var(--font-display); font-weight: 800; font-size: .8125rem; background: var(--stone); color: var(--ink); }
.tsteps li.now .n { background: var(--red); color: #fff; }
.tsteps li.now .n::after { content: ""; position: absolute; left: 0; top: 10px; width: 30px; height: 30px; border-radius: 50%; animation: tk-pulse 1.8s ease-out infinite; }
.tsteps b { display: block; font-weight: 700; font-size: .9375rem; }
.tsteps small { display: block; color: var(--muted); font-size: .8125rem; line-height: 1.45; margin-top: 2px; }
.tsteps .when { font-size: .75rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: var(--red); white-space: nowrap; padding-top: 6px; }
.tsteps li:not(.now) .when { color: var(--muted); }
.ticket__foot { margin-top: 14px; padding-top: 14px; border-top: 1px dashed var(--line-2); font-size: .8125rem; color: var(--muted); display: flex; gap: 8px; align-items: flex-start; }
.ticket__foot svg { width: 16px; height: 16px; flex: 0 0 auto; color: var(--green); margin-top: 1px; }
/* prepare list */
.prep { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.prep__item { background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 24px; display: flex; flex-direction: column; gap: 10px; }
.prep__ic { width: 46px; height: 46px; border-radius: 12px; background: var(--red-soft); color: var(--red); display: grid; place-items: center; }
.prep__ic svg { width: 22px; height: 22px; }
.prep__item h3 { font-size: 1.0625rem; margin: 6px 0 0; }
.prep__item p { color: var(--muted); font-size: .9375rem; margin: 0; }
.prep__item .tag { margin-top: auto; padding-top: 8px; font-size: .75rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--green); }
@media (max-width: 980px) { .danke-stage { grid-template-columns: 1fr; } .danke-stage h1 { max-width: none; } }
@media (max-width: 760px) { .prep { grid-template-columns: 1fr; } .ticket { padding: 20px; } .tsteps li { grid-template-columns: 30px 1fr; } .tsteps .when { grid-column: 2; padding-top: 0; } .danke-actions .btn { width: 100%; justify-content: center; } }
.danke-stage > *, .danke-copy, .ticket { min-width: 0; }
.danke-actions .btn { white-space: normal; text-align: center; }
@media (max-width: 560px) { .danke-stage { padding: 24px 20px; } .danke-trust { flex-direction: column; gap: 8px; } }

/* ============================================================
   Über uns v3 — photo wall hero + numbers wall
   ============================================================ */
.about-stage { background: var(--ink-2); color: var(--on-dark); }
.about-stage__wrap { padding-block: clamp(120px, 13vw, 190px) clamp(110px, 12vw, 170px); min-height: 0; }
.about-stage__copy h1 { color: #fff; }
.about-stage__copy .lead { color: rgba(246,242,236,.82); }
.about-stage__copy .phero__crumbs, .about-stage__copy .phero__crumbs a { color: rgba(246,242,236,.6); }
.about-stage__trust { color: rgba(246,242,236,.72); }
.about-stage__trust svg { color: var(--red-on-dark); }
.wall { position: absolute; inset: 0; overflow: hidden; z-index: 0; perspective: 1400px; perspective-origin: 50% 40%; }
.wall__grid { --px: 0px; --py: 0px; position: absolute; left: 50%; top: 50%; width: 130%; display: flex; gap: 18px; transform: translate(-50%, -50%) translate(var(--px), var(--py)) rotateX(24deg) rotateZ(-8deg) scale(1.08); transform-style: preserve-3d; will-change: transform; }
.wall__col { flex: 1 1 0; min-width: 0; height: 140vh; max-height: 1400px; overflow: hidden; }
.wall__track { display: flex; flex-direction: column; gap: 18px; animation: wall-up 46s linear infinite; will-change: transform; }
.wall__col:nth-child(2n) .wall__track { animation-name: wall-down; animation-duration: 54s; }
.wall__col:nth-child(3) .wall__track { animation-duration: 40s; }
.wall__col:nth-child(5) .wall__track { animation-duration: 60s; }
.wall__col:nth-child(2n) { margin-top: -140px; }
.wall__it { border-radius: 16px; overflow: hidden; background: var(--ink-3); aspect-ratio: 4 / 3; box-shadow: 0 30px 60px rgba(0,0,0,.35); }
.wall__it img { width: 100%; height: 100%; object-fit: cover; display: block; filter: saturate(.92) contrast(1.02); }
.wall__veil { position: absolute; inset: 0; background: radial-gradient(ellipse 58% 62% at 50% 48%, rgba(24,20,14,.92) 0%, rgba(24,20,14,.78) 45%, rgba(24,20,14,.35) 100%), linear-gradient(180deg, rgba(24,20,14,.55) 0%, transparent 25%, transparent 70%, var(--ink-2) 100%); }
@keyframes wall-up { from { transform: translateY(0); } to { transform: translateY(-50%); } }
@keyframes wall-down { from { transform: translateY(-50%); } to { transform: translateY(0); } }
.about-stage__copy { position: relative; z-index: 2; }
.about-stage__copy .btn--ghost-light { border-color: rgba(255,255,255,.35); color: #fff; }
@media (max-width: 1240px) { .about-stage__wrap { min-height: 0; } .wall__grid { width: 150%; gap: 14px; } .wall__track { gap: 14px; } }
@media (max-width: 760px) {
  .about-stage__wrap { padding-block: 84px 72px; }
  .about-stage__cards { display: none; }
  .wall__grid { width: 210%; gap: 10px; rotate: none; transform: translate(-50%, -50%) translate(var(--px), var(--py)) rotateX(20deg) rotateZ(-8deg) scale(1.1); }
  .wall__track { gap: 10px; }
  .wall__col:nth-child(5) { display: none; }
  .wall__it { border-radius: 10px; }
  .wall__veil { background: radial-gradient(ellipse 70% 60% at 50% 50%, rgba(24,20,14,.94) 0%, rgba(24,20,14,.8) 50%, rgba(24,20,14,.5) 100%), linear-gradient(180deg, rgba(24,20,14,.6), transparent 30%, transparent 70%, var(--ink-2)); }
  .about-stage__copy .phero__crumbs { display: none; }
}
@media (prefers-reduced-motion: reduce) { .wall__track { animation: none !important; } }
/* numbers wall */
.numwall { background: var(--ink-2); color: var(--on-dark); border-radius: var(--r-xl); padding: clamp(32px, 4.4vw, 60px); position: relative; overflow: hidden; }
.numwall::before { content: ""; position: absolute; right: -10%; top: -30%; width: 46%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(closest-side, rgba(194,29,19,.32), transparent 72%); pointer-events: none; }
.numwall > * { position: relative; }
.numwall__head { max-width: 640px; margin-bottom: clamp(28px, 3.6vw, 44px); }
.numwall__head .h2 { color: #fff; }
.numwall__head .lead { color: rgba(246,242,236,.74); }
.numwall__big { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border-top: 1px solid rgba(246,242,236,.14); border-bottom: 1px solid rgba(246,242,236,.14); }
.numwall__big .nw { padding: clamp(22px, 2.6vw, 36px) clamp(16px, 2vw, 28px); border-left: 1px solid rgba(246,242,236,.14); }
.numwall__big .nw:first-child { border-left: none; padding-left: 0; }
.nw { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.nw .statband__num { font-family: var(--font-display); font-weight: 800; color: #fff; line-height: 1; letter-spacing: -.04em; white-space: nowrap; }
.numwall__big .statband__num { font-size: clamp(2.4rem, 4.6vw, 4.25rem); }
.numwall__big .nw span { color: rgba(246,242,236,.72); font-size: .9375rem; line-height: 1.35; max-width: 20ch; }
.numwall__small { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 14px; margin-top: clamp(18px, 2.4vw, 28px); }
.nw--s { background: rgba(246,242,236,.06); border: 1px solid rgba(246,242,236,.1); border-radius: var(--r-md); padding: 18px 18px 16px; }
.nw--s .statband__num { font-size: clamp(1.25rem, 1.7vw, 1.6rem); white-space: normal; }
.nw--s span { color: rgba(246,242,236,.66); font-size: .8125rem; line-height: 1.35; }
.numwall__note { margin: 18px 0 0; font-size: .75rem; color: rgba(246,242,236,.5); max-width: 78ch; }
@media (max-width: 1100px) { .numwall__small { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 760px) {
  .numwall__big { grid-template-columns: 1fr 1fr; border: none; gap: 0; }
  .numwall__big .nw { border-left: none; border-top: 1px solid rgba(246,242,236,.14); padding: 20px 0; }
  .numwall__big .nw:nth-child(-n+2) { border-top: none; }
  .numwall__big .nw:nth-child(2n) { padding-left: 16px; border-left: 1px solid rgba(246,242,236,.14); }
  .numwall__big .statband__num { font-size: 2.1rem; }
  .numwall__small { grid-template-columns: 1fr 1fr; gap: 10px; }
  .nw--s { padding: 14px; }
}
@media (max-width: 420px) { .numwall__small { grid-template-columns: 1fr; } }
.numwall__big .statband__num { font-size: clamp(2.2rem, 3.9vw, 3.6rem); }
.numwall__small { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.nw--s { padding: 20px 22px 18px; }
.nw--s .statband__num { font-size: clamp(1.4rem, 1.9vw, 1.75rem); }
.nw--s span { font-size: .875rem; }
@media (max-width: 760px) { .numwall__small { grid-template-columns: 1fr 1fr; } .wall__veil { background: radial-gradient(ellipse 70% 60% at 50% 50%, rgba(24,20,14,.9) 0%, rgba(24,20,14,.7) 50%, rgba(24,20,14,.4) 100%), linear-gradient(180deg, rgba(24,20,14,.55), transparent 30%, transparent 70%, var(--ink-2)); } }
@media (max-width: 420px) { .numwall__small { grid-template-columns: 1fr; } }

/* ---------- Über uns: numbers bento (replaces numwall) ---------- */
.nbento { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: minmax(170px, auto); gap: 14px; }
.nb { position: relative; display: flex; flex-direction: column; gap: 6px; padding: clamp(20px, 2.2vw, 28px); background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-lg); min-width: 0; overflow: hidden; }
.nb__lbl { font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.nb__v { font-family: var(--font-display); font-weight: 800; font-size: clamp(2.2rem, 3.4vw, 3.2rem); line-height: 1; letter-spacing: -.04em; color: var(--ink); white-space: nowrap; margin-top: auto; }
.nb__sub { color: var(--muted); font-size: .9375rem; line-height: 1.35; }
.nb__sub b { color: var(--ink); font-weight: 700; }
.nb__foot { margin-top: 10px; padding-top: 10px; border-top: 1px solid rgba(255,255,255,.22); font-size: .875rem; }
.nb__foot b { font-weight: 700; }
.nb--s { gap: 4px; }
.nb--s .nb__v { font-size: clamp(1.6rem, 2.2vw, 2rem); }
/* hero tile */
.nb--hero { grid-column: 1 / 3; grid-row: 1 / 3; }
.nb--dark { background: var(--ink-2); border-color: var(--ink-2); color: var(--on-dark); }
.nb--dark .nb__v { color: #fff; font-size: clamp(3.2rem, 6vw, 5.6rem); }
.nb--dark .nb__lbl { color: rgba(246,242,236,.6); }
.nb--dark .nb__sub { color: rgba(246,242,236,.72); }
.nb__top { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.nb__tag { font-size: .75rem; font-weight: 700; letter-spacing: .06em; color: rgba(246,242,236,.72); border: 1px solid rgba(246,242,236,.22); border-radius: var(--pill); padding: 4px 10px; }
.nb__bars { display: flex; align-items: flex-end; gap: 6px; height: 88px; margin-top: 22px; }
.nb__bars i { flex: 1 1 0; height: var(--h); background: rgba(246,242,236,.18); border-radius: 3px 3px 0 0; transform-origin: bottom; animation: nb-grow .9s var(--ease) both; animation-delay: calc(var(--i, 0) * 40ms); }
.nb__bars i.now { background: var(--red); }
.nb__bars i:nth-child(n+11) { background: rgba(246,242,236,.34); }
.nb__bars i.now { background: var(--red) !important; }
.nb__axis { display: flex; justify-content: space-between; font-size: .75rem; color: rgba(246,242,236,.5); margin-top: 8px; }
@keyframes nb-grow { from { transform: scaleY(0); } to { transform: scaleY(1); } }
/* red tile */
.nb--red { background: var(--red-600); border-color: var(--red-600); color: #fff; }
.nb--red .nb__v, .nb--red .nb__sub, .nb--red .nb__lbl { color: #fff; }
.nb--red .nb__lbl { color: rgba(255,255,255,.75); }
.nb--red .nb__sub { color: rgba(255,255,255,.85); }
/* flags + stars */
.nb__flags { display: flex; gap: 6px; margin-top: 4px; }
.nb__flags .flag { width: 34px; height: auto; border-radius: 4px; box-shadow: 0 0 0 1px rgba(20,16,11,.1); display: block; }
.nb__stars { color: var(--red); letter-spacing: 2px; font-size: 1rem; line-height: 1; }
.nbento__note { margin-top: 16px; font-size: .75rem; color: var(--muted); max-width: 80ch; }
@media (max-width: 1100px) { .nbento { grid-template-columns: repeat(3, minmax(0, 1fr)); } .nb--hero { grid-column: 1 / 3; grid-row: 1 / 3; } }
@media (max-width: 760px) {
  .nbento { grid-template-columns: 1fr 1fr; grid-auto-rows: minmax(140px, auto); gap: 10px; }
  .nb { padding: 18px; }
  .nb--hero { grid-column: 1 / -1; grid-row: auto; }
  .nb--dark .nb__v { font-size: 3rem; }
  .nb__v { font-size: 1.9rem; }
  .nb--s .nb__v { font-size: 1.5rem; }
  .nb__bars { height: 64px; }
}
@media (max-width: 400px) { .nbento { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .nb__bars i { animation: none; } }

/* ---------- Über uns hero wall v2: full-bleed, mixed photos + stat tiles, per-column parallax ---------- */
.about-stage { position: relative; overflow: hidden; }
.about-stage > .wall { position: absolute; inset: 0; }
.about-stage__wrap { position: relative; z-index: 2; }
.wall__grid { --mx: 0px; --my: 0px; --rx: 0deg; --ry: 0deg; width: 118%; gap: 20px; transform: translate(-50%, -50%) rotateX(calc(22deg + var(--rx))) rotateY(var(--ry)) rotateZ(-7deg) scale(1.06); transition: none; }
.wall__col { --d: 1; transform: translate(calc(var(--mx) * var(--d)), calc(var(--my) * var(--d))); will-change: transform; }
.wall__col:nth-child(2n) { margin-top: -180px; }
.wall__stat { display: flex; flex-direction: column; justify-content: flex-end; gap: 4px; padding: 20px 22px; aspect-ratio: 4 / 3; background: var(--paper); color: var(--ink); }
.wall__stat b { font-family: var(--font-display); font-weight: 800; font-size: clamp(1.8rem, 2.6vw, 2.6rem); letter-spacing: -.04em; line-height: 1; white-space: nowrap; }
.wall__stat span { font-size: .875rem; font-weight: 600; opacity: .75; line-height: 1.3; }
.wall__stat--dark { background: #2A241C; color: #fff; }
.wall__stat--red { background: var(--red-600); color: #fff; }
.wall__stat--red span, .wall__stat--dark span { opacity: .82; }
.wall__veil { background: radial-gradient(ellipse 52% 58% at 50% 50%, rgba(24,20,14,.9) 0%, rgba(24,20,14,.7) 45%, rgba(24,20,14,.2) 100%), linear-gradient(180deg, rgba(24,20,14,.5) 0%, transparent 22%, transparent 74%, var(--ink-2) 100%); }
@media (max-width: 1240px) { .wall__grid { width: 140%; } }
@media (max-width: 760px) { .wall__grid { width: 210%; gap: 10px; transform: translate(-50%, -50%) rotateX(20deg) rotateZ(-8deg) scale(1.1); } .wall__col:nth-child(2n) { margin-top: -90px; } .wall__stat { padding: 10px 12px; } .wall__stat b { font-size: 1.1rem; } .wall__stat span { font-size: .6875rem; } }
/* bento: compact bottom row */
.nbento { grid-auto-rows: auto; }
.nb:not(.nb--s) { min-height: 190px; }
.nb--s { min-height: 0; padding-block: 22px; }
/* hero 100vh + hero tile with photo */
.about-stage { min-height: 100svh; display: flex; align-items: center; }
.about-stage__wrap { width: 100%; padding-block: clamp(90px, 10vw, 140px); }
.nb--hero { min-height: 420px; justify-content: flex-start; }
.nb__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 40%; z-index: 0; }
.nb--hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(20,16,11,.55) 0%, rgba(20,16,11,.25) 40%, rgba(20,16,11,.92) 100%); z-index: 0; }
.nb--hero > * { position: relative; z-index: 1; }
.nb--hero .nb__v { margin-top: auto; }
.nb__fact { display: inline-flex; align-items: center; gap: 8px; margin-top: 16px; padding: 8px 12px 8px 10px; border-radius: var(--pill); background: rgba(246,242,236,.12); border: 1px solid rgba(246,242,236,.2); font-size: .8125rem; font-weight: 600; color: #fff; align-self: flex-start; backdrop-filter: blur(6px); }
.nb__fact svg { width: 16px; height: 16px; color: var(--red-on-dark); flex: 0 0 auto; }
@media (max-width: 760px) { .about-stage { min-height: 0; } .nb--hero { min-height: 340px; } }
/* wall: smooth pointer follow via transitions (no rAF), taller columns so the rotated grid always covers the stage */
.about-stage { min-height: calc(100svh - var(--header-h, 116px)); }
.wall__grid { top: 48%; transition: transform .9s cubic-bezier(.2,.7,.2,1); }
.wall__col { transition: transform .9s cubic-bezier(.2,.7,.2,1); height: max(170vh, 1500px); max-height: none; }
@media (max-width: 760px) { .wall__col { height: 140vh; } }
.about-stage { min-height: min(calc(100svh - var(--header-h, 116px)), 1000px); }
.nb--hero > .nb__bg { position: absolute; z-index: 0; }
.nb--hero::after { z-index: 0; }
@media (max-width: 760px) { .wall__veil { background: radial-gradient(ellipse 80% 55% at 50% 50%, rgba(24,20,14,.86) 0%, rgba(24,20,14,.6) 50%, rgba(24,20,14,.18) 100%), linear-gradient(180deg, rgba(24,20,14,.5), transparent 25%, transparent 78%, var(--ink-2)); } .wall__grid { width: 250%; } .wall__col:nth-child(5) { display: block; } }

/* ============================================================
   UI audit round 7 — tables, FAQ, hero countdown
   ============================================================ */
/* Tables: header row clearly separated from the section background, card lifted */
.cmp-wrap { border-radius: var(--r-lg); box-shadow: 0 0 0 1px var(--line), var(--sh-sm); background: var(--paper); }
.cmp { border: none; border-radius: 0; box-shadow: none; }
.cmp thead th, .cmp thead th:first-child { background: var(--ink-2); color: #fff; font-weight: 700; font-size: .9375rem; letter-spacing: .01em; padding-block: 16px; border-bottom: none; }
.cmp thead th:last-child { color: #fff; }
.cmp thead th .u, .cmp thead th small { color: rgba(246,242,236,.7); }
.cmp tbody th, .cmp tbody td { padding-block: 16px; }
.cmp tbody tr:hover th, .cmp tbody tr:hover td { background: var(--bg); }
.cmp tbody tr.win:hover th, .cmp tbody tr.win:hover td { background: var(--red-soft); }
.cmp tbody tr.save:hover th, .cmp tbody tr.save:hover td { background: var(--green-bg); }
.cmp tfoot td, .cmp tfoot th { background: var(--bg); }
.cmp tr.save th, .cmp tr.save td { border-top: 2px solid var(--green); }
.cmp tr.win th:first-child { padding-left: 25px; }
.cmp th:first-child, .cmp td:first-child { box-shadow: none; }
/* FAQ: two-column layout — sticky heading + contact card left, accordion right */
.wrap:has(> .faq) { display: grid; grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr); gap: clamp(32px, 5vw, 80px); align-items: start; }
.wrap:has(> .faq) > .faq-side { position: sticky; top: calc(var(--header-h, 116px) + 24px); }
.wrap:has(> .faq) > .faq-side .sec-head { margin-bottom: 24px; }
.wrap:has(> .faq) > .faq { max-width: none; margin: 0; border-top: none; }
.faq__item { border: 1px solid var(--line); border-radius: var(--r-md); background: var(--paper); margin-bottom: 10px; transition: border-color .2s, box-shadow .2s; }
.faq__item:hover { border-color: var(--line-2); }
.faq__item.open { border-color: var(--ink); box-shadow: var(--sh-sm); }
.faq__q { padding: 20px 22px; font-size: 1.0625rem; font-weight: 600; gap: 18px; }
.faq__q:hover { color: var(--ink); }
.faq__q .ic { width: 30px; height: 30px; border-radius: 50%; background: var(--red-soft); flex: 0 0 auto; }
.faq__q .ic::before { top: 14px; left: 9px; right: 9px; height: 2px; }
.faq__q .ic::after { left: 14px; top: 9px; bottom: 9px; width: 2px; }
.faq__item.open .faq__q .ic { background: var(--red); }
.faq__item.open .faq__q .ic::before, .faq__item.open .faq__q .ic::after { background: #fff; }
.faq__a-inner { padding: 0 22px 22px; max-width: none; }
.faq-card { background: var(--ink-2); color: var(--on-dark); border-radius: var(--r-lg); padding: 24px; display: flex; flex-direction: column; gap: 8px; }
.faq-card b { font-family: var(--font-display); font-size: 1.125rem; color: #fff; }
.faq-card p { margin: 0; color: rgba(246,242,236,.74); font-size: .9375rem; line-height: 1.5; }
.faq-card .btn { margin-top: 10px; align-self: flex-start; }
@media (max-width: 900px) { .wrap:has(> .faq) { grid-template-columns: 1fr; gap: 24px; } .wrap:has(> .faq) > .faq-side { position: static; } .faq-card { display: none; } }
/* Hero countdown: one calm pill aligned with the CTA */
.hero--promo .countdown, .hero--light .countdown { display: inline-flex; align-items: center; gap: 14px; height: 56px; padding: 0 20px 0 16px; border-radius: var(--pill); background: rgba(20,16,11,.55); border: 1px solid rgba(246,242,236,.22); backdrop-filter: blur(8px); flex-wrap: nowrap; }
.hero--promo .countdown, .hero--light .countdown__lbl { display: inline-flex; align-items: center; gap: 8px; font-size: .8125rem; letter-spacing: 0; text-transform: none; max-width: none; color: rgba(246,242,236,.85); font-weight: 600; white-space: nowrap; }
.hero--promo .countdown, .hero--light .countdown__lbl::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--red); box-shadow: 0 0 0 4px rgba(194,29,19,.28); flex: 0 0 auto; animation: cd-pulse 1.8s ease-out infinite; }
@keyframes cd-pulse { 0% { box-shadow: 0 0 0 0 rgba(194,29,19,.5); } 100% { box-shadow: 0 0 0 8px rgba(194,29,19,0); } }
.hero--promo .countdown, .hero--light .countdown__cells { display: inline-flex; gap: 12px; padding-left: 14px; border-left: 1px solid rgba(246,242,236,.22); }
.hero--promo .countdown, .hero--light .countdown__cell { display: inline-flex; align-items: baseline; gap: 4px; min-width: 0; padding: 0; background: none; border: 0; border-radius: 0; box-shadow: none; }
.hero--promo .countdown, .hero--light .countdown__cell .v { font-family: var(--font-display); font-size: 1.125rem; font-weight: 800; color: #fff; font-variant-numeric: tabular-nums; line-height: 1; }
.hero--promo .countdown, .hero--light .countdown__cell .u { font-size: .75rem; color: rgba(246,242,236,.7); text-transform: none; letter-spacing: 0; margin: 0; line-height: 1; }
@media (max-width: 640px) { .hero--promo .countdown, .hero--light .countdown { height: auto; padding: 12px 16px; justify-content: space-between; } .hero--promo .countdown__lbl { white-space: normal; } }

.cmp tbody tr.win th:first-child, .cmp tbody tr.win td:first-child { box-shadow: inset 3px 0 0 var(--red); }
.hero--light .countdown__lbl::before { content: ""; }
/* FAQ side column: heading spans the column, top aligned with the first question */
.faq-side .sec-head .h2, .faq-side .sec-head h2 { max-width: none; }
.faq-side .sec-head .eyebrow { display: inline-flex; }
.wrap:has(> .faq) > .faq-side { padding-top: 12px; }
.faq-card { max-width: none; }
.faq-side .sec-head .h2 { text-wrap: pretty; font-size: clamp(1.5rem, 2.4vw, 2rem); }
.wrap:has(> .faq) > .faq-side { padding-top: 2px; }
/* FAQ answer: smooth open/close (height + fade) */
.faq__a { transition: max-height .36s var(--ease), opacity .28s ease; opacity: 0; }
.faq__item.open .faq__a { opacity: 1; }
@media (prefers-reduced-motion: reduce) { .faq__a { transition: none; } }

/* ============================================================
   Montage steps (real photos), advisor in CTA band, product art on cards
   ============================================================ */
.montage { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px 20px; }
.mstep { min-width: 0; }
.mstep__ph { position: relative; margin: 0 0 14px; border-radius: var(--r-lg); overflow: hidden; aspect-ratio: 4 / 3; background: var(--ink-2); }
.mstep__ph img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s var(--ease); }
@media (hover:hover) { .mstep:hover .mstep__ph img { transform: scale(1.04); } }
.mstep__n { position: absolute; left: 14px; top: 14px; width: 40px; height: 40px; border-radius: 50%; background: var(--red); color: #fff; display: grid; place-items: center; font-family: var(--font-display); font-weight: 800; font-size: .9375rem; box-shadow: 0 6px 16px rgba(13,10,6,.3); }
.mstep__day { position: absolute; right: 12px; bottom: 12px; padding: 5px 10px; border-radius: var(--pill); background: rgba(246,242,236,.92); color: var(--ink); font-size: .75rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.mstep h3 { font-size: 1.125rem; margin: 0 0 6px; }
.mstep p { color: var(--muted); font-size: .9375rem; line-height: 1.5; margin: 0; }
.montage__note { margin-top: 22px; font-size: .8125rem; color: var(--muted); max-width: 80ch; }
@media (max-width: 900px) { .montage { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .montage { grid-template-columns: 1fr; gap: 26px; } }
/* CTA band with advisor cutout */
.cta-band--person { position: relative; overflow: visible; }
.cta-band--person .cta-band__inner { padding-right: clamp(240px, 26vw, 360px); }
.cta-band__person { position: absolute; right: clamp(24px, 4vw, 64px); bottom: 0; width: clamp(200px, 22vw, 300px); pointer-events: none; }
.cta-band__person img { display: block; width: 100%; height: auto; filter: drop-shadow(0 18px 30px rgba(60,10,5,.35)); }
.cta-band__tag { position: absolute; left: -40px; bottom: 36px; display: inline-flex; align-items: center; gap: 10px; padding: 9px 14px 9px 12px; border-radius: var(--pill); background: var(--paper); color: var(--ink); box-shadow: var(--sh-md); white-space: nowrap; font-size: .75rem; line-height: 1.2; }
.cta-band__tag i { width: 10px; height: 10px; border-radius: 50%; background: var(--green); flex: 0 0 auto; box-shadow: 0 0 0 0 rgba(31,122,69,.45); animation: tk-pulse 1.8s ease-out infinite; }
.cta-band__tag b { font-weight: 800; font-size: .8125rem; display: block; }
.cta-band__tag span { color: var(--muted); display: block; }
@media (max-width: 900px) { .cta-band--person .cta-band__inner { padding-right: 0; } .cta-band__person { display: none; } }
/* product art on price cards */
.pricing, .pk-group { overflow: visible; }
.price-card--art { overflow: visible; }
.price-card__art { position: absolute; right: 18px; top: -44px; height: 180px; width: auto; max-width: 46%; object-fit: contain; filter: drop-shadow(0 18px 24px rgba(13,10,6,.22)); pointer-events: none; z-index: 1; }
.price-card--art > .badge, .price-card--art .price-card__name, .price-card--art .price-card__desc, .price-card--art .price-card__after { max-width: 58%; }
.price-card--art .price-card__name { min-height: 0; }
@media (max-width: 920px) { .price-card__art { height: 130px; top: -30px; right: 12px; } .price-card--art > .badge, .price-card--art .price-card__name, .price-card--art .price-card__desc, .price-card--art .price-card__after { max-width: 62%; } }
.section:has(.price-card--art) .sec-head { margin-bottom: clamp(60px, 7vw, 84px); }
.price-card__art { height: 205px; top: -54px; right: 14px; }
@media (max-width: 920px) { .price-card__art { height: 140px; top: -34px; } }
/* product art anchored: header = text | stage, the cutout stands on the card's divider line */
.price-card--art .price-card__head { display: grid; grid-template-columns: minmax(0, 1fr) 42%; gap: 12px; align-items: end; }
.price-card--art .price-card__txt { min-width: 0; }
.price-card--art .price-card__txt > * { max-width: none; }
.price-card--art .price-card__stage { position: relative; align-self: stretch; min-height: 120px; }
.price-card--art .price-card__art { position: absolute; right: -12px; bottom: 0; top: auto; height: auto; width: auto; max-height: 230px; max-width: 120%; filter: drop-shadow(0 18px 24px rgba(13,10,6,.22)); }
.price-card--art > .badge { position: static; }
@media (max-width: 920px) { .price-card--art .price-card__head { grid-template-columns: minmax(0, 1fr) 40%; } .price-card--art .price-card__art { max-height: 170px; right: -6px; } }
@media (max-width: 480px) { .price-card--art .price-card__head { grid-template-columns: 1fr; } .price-card--art .price-card__stage { min-height: 150px; } .price-card--art .price-card__art { max-height: 150px; right: 0; } }
/* advisor band: keep the action column clear of the cutout */
.cta-band--person .cta-band__act { position: relative; z-index: 1; }
/* advisor card inside the CTA band copy column (replaces the floating cutout) */
.cta-band--person .cta-band__inner { padding-right: 0; }
.cta-band__person { display: none !important; }
.advisor { display: inline-flex; align-items: center; gap: 14px; margin-top: 22px; padding: 10px 18px 10px 10px; border-radius: var(--pill); background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.22); color: #fff; }
.advisor__ph { position: relative; width: 60px; height: 60px; border-radius: 50%; background: var(--bg); overflow: hidden; flex: 0 0 auto; box-shadow: 0 0 0 2px rgba(255,255,255,.35); }
.advisor__ph img { position: absolute; width: 150%; height: auto; left: -24%; top: -4%; }
.advisor__body { display: flex; flex-direction: column; gap: 2px; line-height: 1.2; }
.advisor__body > b { font-family: var(--font-display); font-weight: 700; font-size: .9375rem; }
.advisor__role { font-size: .75rem; color: rgba(255,255,255,.82); }
.advisor__status { display: inline-flex; align-items: center; gap: 6px; font-size: .75rem; font-weight: 700; color: #fff; margin-top: 2px; }
.advisor__status i { width: 8px; height: 8px; border-radius: 50%; background: #5CE08A; box-shadow: 0 0 0 0 rgba(92,224,138,.6); animation: tk-pulse 1.8s ease-out infinite; }
.cta-band .advisor + * { margin-top: 0; }
@media (max-width: 560px) { .advisor { width: 100%; } }
/* value strip in package cards: subsidy + savings always visible */
.price-card__value { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 12px 0 4px; }
.price-card__value > span { display: flex; flex-direction: column; gap: 2px; padding: 12px 14px; border-radius: var(--r-md); background: var(--green-bg); }
.price-card__value b { font-family: var(--font-display); font-weight: 800; font-size: 1.375rem; letter-spacing: -.02em; color: var(--green); line-height: 1; white-space: nowrap; }
.price-card__value small { font-size: .75rem; color: var(--ink); line-height: 1.3; }
.price-card__value > span:first-child { background: var(--red-soft); }
.price-card__value > span:first-child b { color: var(--red); }
.price-card--art .price-card__value { grid-column: 1 / -1; }
.price-card--art .price-card__head { grid-template-areas: "txt stage" "val val"; grid-template-columns: minmax(0, 1fr) 42%; }
.price-card--art .price-card__txt { grid-area: txt; }
.price-card--art .price-card__stage { grid-area: stage; }
.price-card--art .price-card__value { grid-area: val; }
/* CTA band v3: the advisor stands between copy and action, overflowing the band's top edge */
.cta-band__person { display: block !important; position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); width: clamp(220px, 21vw, 290px); pointer-events: none; z-index: 0; }
.cta-band--person { overflow: visible; margin-top: 60px; }
.cta-band--person .cta-band__inner { position: relative; z-index: 1; gap: 30px clamp(260px, 24vw, 340px); justify-content: space-between; }
.cta-band--person .cta-band__inner > div:first-child { max-width: 44%; }
.cta-band__person img { display: block; width: 100%; height: auto; filter: drop-shadow(0 18px 30px rgba(60,10,5,.35)); }
.cta-band__tag { left: auto; right: -36px; bottom: 30px; }
.cta-band--person .cta-band__act { align-items: flex-end; text-align: right; }
.cta-band--person .cta-band__meta, .cta-band--person .cta-band__alt { text-align: right; }
.cta-band--person .phero__actions { justify-content: flex-end; }
@media (max-width: 1100px) { .cta-band__person { width: 200px; } .cta-band--person .cta-band__inner { gap: 30px 220px; } }
@media (max-width: 900px) { .cta-band__person { display: none !important; } .cta-band--person { margin-top: 0; } .cta-band--person .cta-band__inner { gap: 30px; } .cta-band--person .cta-band__inner > div:first-child { max-width: none; } .cta-band--person .cta-band__act { align-items: flex-start; text-align: left; } }
/* product art back to "peeking out" of the card top */
.price-card--art .price-card__head { display: block; }
.price-card--art .price-card__stage { position: static; min-height: 0; }
.price-card--art .price-card__art { position: absolute; right: 14px; top: -54px; bottom: auto; height: 205px; max-height: none; width: auto; max-width: 46%; }
.price-card--art .price-card__txt > * { max-width: 58%; }
.price-card--art .price-card__value { margin-top: 14px; }
@media (max-width: 920px) { .price-card--art .price-card__art { height: 140px; top: -34px; right: 12px; } .price-card--art .price-card__txt > * { max-width: 62%; } }
/* CTA band v4: grid — copy | advisor | action; the advisor overflows the top edge */
@media (min-width: 901px) {
  .cta-band--person { display: grid; grid-template-columns: minmax(0, 1.15fr) clamp(220px, 20vw, 280px) minmax(0, .85fr); column-gap: clamp(20px, 3vw, 48px); align-items: center; }
  .cta-band--person .cta-band__inner { display: contents; }
  .cta-band--person .cta-band__inner > :first-child { grid-column: 1; grid-row: 1; max-width: none; }
  .cta-band--person .cta-band__inner > :not(:first-child) { grid-column: 3; grid-row: 1; justify-self: end; }
  .cta-band__person { position: relative; grid-column: 2; grid-row: 1; left: auto; bottom: auto; transform: none; width: 100%; align-self: end; height: 100%; margin-bottom: clamp(-80px, -6vw, -44px); }
  .cta-band__person img { position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); width: 100%; max-width: 290px; height: auto; }
  .cta-band__tag { left: 50%; right: auto; transform: translateX(-50%); bottom: 26px; }
  .cta-band--person .cta-band__act { align-items: flex-end; text-align: right; }
  .cta-band--person .phero__actions { flex-direction: column; align-items: flex-end; }
  .cta-band--person .cta-band__inner > .btn { align-self: center; }
}
@media (min-width: 901px) {
  .cta-band--person { grid-template-columns: minmax(0, 1.5fr) clamp(200px, 18vw, 250px) minmax(0, .9fr); }
  .cta-band--person h2 { font-size: clamp(1.7rem, 2.6vw, 2.3rem); max-width: 18ch; }
  .cta-band--person p { max-width: 40ch; }
  .cta-band__person img { max-width: 250px; }
}
/* hub tiles: subsidy / savings chips instead of the plain price line */
.hub-tile__value { margin-top: auto; padding-top: 14px; display: flex; flex-wrap: wrap; gap: 8px; }
.hv { display: inline-flex; align-items: center; padding: 7px 11px; border-radius: var(--pill); font-size: .8125rem; font-weight: 800; letter-spacing: -.01em; line-height: 1.1; }
.hv--red { background: var(--red-soft); color: var(--red); }
.hv--green { background: var(--green-bg); color: var(--green); }
/* Wärmepumpe hero: Buderus ↔ Viessmann crossfade with brand logos (no Schlieger unit anywhere) */
.hero-c__media--models { display: flex; flex-direction: column; align-items: center; justify-content: flex-end; gap: 14px; }
.hero-c__models { position: relative; width: 100%; max-width: 520px; aspect-ratio: 1 / 1; }
.hero-c__models .model { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; object-position: center bottom; filter: drop-shadow(0 28px 42px rgba(20,15,8,.28)); animation: model-a 9s ease-in-out infinite; }
.hero-c__models .model--b { animation-name: model-b; }
@keyframes model-a { 0%, 42% { opacity: 1; transform: translateY(0) scale(1); } 50%, 92% { opacity: 0; transform: translateY(10px) scale(.98); } 100% { opacity: 1; transform: none; } }
@keyframes model-b { 0%, 42% { opacity: 0; transform: translateY(10px) scale(.98); } 50%, 92% { opacity: 1; transform: none; } 100% { opacity: 0; } }
.hero-c__brands { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-radius: var(--pill); background: rgba(255,255,255,.9); box-shadow: var(--sh-sm); }
.hero-c__brands .brand { display: inline-flex; align-items: center; justify-content: center; height: 34px; padding: 0 14px; border-radius: var(--pill); background: transparent; transition: background .4s; }
.hero-c__brands .brand img { height: 16px; width: auto; display: block; opacity: .45; transition: opacity .4s; }
.hero-c__brands .brand--c img { height: 14px; }
.hero-c__brands .brand--a { animation: brand-a 9s ease-in-out infinite; }
.hero-c__brands .brand--b { animation: brand-b 9s ease-in-out infinite; }
.hero-c__brands .brand--a img { animation: brand-img-a 9s ease-in-out infinite; }
.hero-c__brands .brand--b img { animation: brand-img-b 9s ease-in-out infinite; }
@keyframes brand-a { 0%, 42% { background: var(--stone); } 50%, 92% { background: transparent; } 100% { background: var(--stone); } }
@keyframes brand-b { 0%, 42% { background: transparent; } 50%, 92% { background: var(--stone); } 100% { background: transparent; } }
@keyframes brand-img-a { 0%, 42% { opacity: 1; } 50%, 92% { opacity: .45; } 100% { opacity: 1; } }
@keyframes brand-img-b { 0%, 42% { opacity: .45; } 50%, 92% { opacity: 1; } 100% { opacity: .45; } }
@media (prefers-reduced-motion: reduce) { .hero-c__models .model, .hero-c__brands .brand, .hero-c__brands .brand img { animation: none !important; } .hero-c__models .model--b { opacity: 0; } .hero-c__brands .brand--a { background: var(--stone); } .hero-c__brands .brand--a img { opacity: 1; } }
@media (max-width: 900px) { .hero-c__models { max-width: 340px; } }
/* CTA band v5: action column takes its natural width, copy gets the rest; advisor larger, overflowing the top */
@media (min-width: 901px) {
  .cta-band--person { grid-template-columns: minmax(0, 1fr) clamp(220px, 19vw, 270px) auto; column-gap: clamp(24px, 3vw, 56px); }
  .cta-band--person h2 { font-size: clamp(1.8rem, 2.7vw, 2.4rem); max-width: 16ch; }
  .cta-band--person p { max-width: 38ch; }
  .cta-band__person img { max-width: 270px; }
  .cta-band--person .cta-band__inner > :not(:first-child) { justify-self: end; }
}
/* product art: tighter framing on the card corner */
.price-card--art .price-card__art { top: -40px; right: 22px; height: 196px; }
@media (max-width: 920px) { .price-card--art .price-card__art { top: -28px; right: 14px; height: 136px; } }

/* ============================================================
   Modelle page: finder + model cards
   ============================================================ */
.finder { max-width: 880px; margin-inline: auto; background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-xl); padding: clamp(22px, 3vw, 36px); box-shadow: var(--sh-sm); }
.finder__head { display: flex; align-items: center; gap: 16px; margin-bottom: 22px; }
.finder__step { font-family: var(--font-display); font-weight: 800; font-size: .875rem; letter-spacing: .06em; color: var(--muted); white-space: nowrap; }
.finder__bar { flex: 1; height: 6px; border-radius: 3px; background: var(--stone); overflow: hidden; }
.finder__bar i { display: block; height: 100%; background: var(--red); border-radius: 3px; transition: width .4s var(--ease); }
.finder__q { display: none; animation: fq-in .35s var(--ease) both; }
.finder__q.active { display: block; }
@keyframes fq-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.finder__q h3 { font-size: clamp(1.25rem, 2vw, 1.6rem); margin: 0 0 18px; }
.finder__opts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.fopt { display: flex; flex-direction: column; gap: 4px; text-align: left; padding: 18px 18px 16px; border: 1.5px solid var(--line-2); border-radius: var(--r-md); background: var(--bg); cursor: pointer; transition: border-color .18s, transform .18s, background .18s; }
.fopt:hover { border-color: var(--ink); transform: translateY(-2px); }
.fopt.selected { border-color: var(--red); background: var(--red-soft); }
.fopt b { font-family: var(--font-display); font-weight: 700; font-size: 1.0625rem; }
.fopt small { color: var(--muted); font-size: .8125rem; }
.finder__result { animation: fq-in .45s var(--ease) both; }
.finder__res-card { display: grid; grid-template-columns: 240px 1fr; gap: 24px; align-items: center; margin-top: 12px; padding: 22px; border-radius: var(--r-lg); background: var(--ink-2); color: var(--on-dark); }
.finder__res-ph { display: grid; place-items: center; min-height: 200px; }
.finder__res-ph img { max-height: 220px; max-width: 100%; object-fit: contain; filter: drop-shadow(0 20px 30px rgba(0,0,0,.4)); }
.finder__res-logo { display: inline-flex; padding: 6px 12px; border-radius: var(--pill); background: #fff; margin-bottom: 10px; }
.finder__res-logo img { height: 16px; width: auto; display: block; }
.finder__res-body h3 { color: #fff; font-size: 1.5rem; margin: 0 0 10px; }
.finder__res-why { list-style: none; margin: 0 0 18px; padding: 0; display: grid; gap: 8px; }
.finder__res-why li { position: relative; padding-left: 24px; color: rgba(246,242,236,.85); font-size: .9375rem; }
.finder__res-why li::before { content: "✓"; position: absolute; left: 0; color: #5CE08A; font-weight: 800; }
.finder__res-cta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }
.finder__res-cta .link-arrow { background: none; border: 0; color: rgba(246,242,236,.8); cursor: pointer; font: inherit; font-weight: 700; }
.finder__note { margin: 16px 0 0; font-size: .8125rem; color: var(--muted); }
.mcards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; align-items: stretch; }
.mcard { display: flex; flex-direction: column; gap: 10px; background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-xl); padding: 24px 24px 26px; position: relative; }
.mcard--b { border-color: var(--red); box-shadow: 0 0 0 3px rgba(194,29,19,.12), var(--sh-md); }
.mcard__top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.mcard__logo img { height: 16px; width: auto; display: block; }
.mcard__ph { height: 190px; display: grid; place-items: center; margin: 4px 0; }
.mcard__ph img { max-height: 190px; max-width: 100%; object-fit: contain; filter: drop-shadow(0 16px 24px rgba(13,10,6,.18)); }
.mcard__ph-word { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 30px; border-radius: var(--r-lg); background: var(--stone); width: 100%; height: 100%; justify-content: center; }
.mcard__ph-word img { height: 26px; width: auto; }
.mcard__ph-word small { font-size: .8125rem; color: var(--muted); font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.mcard h3 { font-size: 1.25rem; margin: 0; }
.mcard__best { color: var(--green); font-weight: 700; font-size: .9375rem; margin: 0; }
.mcard__specs { margin: 6px 0 0; display: grid; gap: 0; border-top: 1px solid var(--line); }
.mcard__specs > div { display: flex; justify-content: space-between; gap: 12px; padding: 9px 0; border-bottom: 1px solid var(--line); font-size: .875rem; }
.mcard__specs dt { color: var(--muted); margin: 0; }
.mcard__specs dd { margin: 0; font-weight: 700; color: var(--ink); white-space: nowrap; }
.mcard .price-card__value { margin-top: auto; }
@media (max-width: 980px) { .mcards { grid-template-columns: 1fr; max-width: 520px; margin-inline: auto; } .finder__opts { grid-template-columns: 1fr; } .finder__res-card { grid-template-columns: 1fr; } }
@media (min-width: 901px) { .cta-band--person .cta-band__inner > div:first-child { max-width: none; } }
/* compact subsidy strip (modelle): number + label stacked, no wrapping */
.dotace--compact .dotace__nums { display: grid; gap: 12px; }
.dotace--compact .dotace__big { display: flex; flex-direction: column; gap: 4px; padding: 18px 22px; }
.dotace--compact .dotace__big .num { font-size: clamp(2rem, 3.6vw, 3rem); white-space: nowrap; line-height: 1; }
.dotace--compact .dotace__big small { font-size: .875rem; color: rgba(246,242,236,.72); }
.mcard .badge { white-space: nowrap; }
/* hero model stage v2: name + spec chips on top, unit centered, brand chips at the bottom (class-driven switching) */
.hero-c__media--models { padding: 22px; }
.hc-stage { position: relative; width: 100%; height: 100%; display: flex; flex-direction: column; gap: 10px; min-height: 440px; }
.hc-stage__head { display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }
.hc-stage__name { font-family: var(--font-display); font-weight: 800; font-size: 1.0625rem; letter-spacing: -.01em; color: var(--ink); transition: opacity .22s, transform .22s; }
.hc-stage__chips { display: flex; flex-wrap: wrap; gap: 6px; transition: opacity .22s, transform .22s; }
.hc-stage__chips i { font-style: normal; font-size: .75rem; font-weight: 700; padding: 5px 10px; border-radius: var(--pill); background: var(--stone); color: var(--ink); }
.hc-stage__name.swap, .hc-stage__chips.swap { opacity: 0; transform: translateY(4px); }
.hero-c__models { flex: 1; aspect-ratio: auto; max-width: none; min-height: 260px; }
.hero-c__models::after { content: ""; position: absolute; left: 50%; bottom: 6%; width: 70%; height: 10%; transform: translateX(-50%); border-radius: 50%; background: radial-gradient(closest-side, rgba(20,15,8,.16), transparent 75%); z-index: 0; }
.hero-c__models .model { animation: none !important; opacity: 0; transform: translateY(12px) scale(.97); transition: opacity .6s var(--ease), transform .6s var(--ease); object-position: center; z-index: 1; padding: 8px 12px 14px; filter: drop-shadow(0 24px 30px rgba(20,15,8,.22)); }
.hero-c__models .model.is-active { opacity: 1; transform: none; }
.hero-c__brands { align-self: center; gap: 6px; padding: 6px; background: var(--bg); box-shadow: inset 0 0 0 1px var(--line); }
.hero-c__brands .brand { animation: none !important; height: 38px; padding: 0 16px; cursor: pointer; background: transparent; transition: background .3s, box-shadow .3s; }
.hero-c__brands .brand img { animation: none !important; opacity: 1 !important; height: 18px; }
.hero-c__brands .brand--c img, .hero-c__brands .brand--static img { height: 15px; }
.hero-c__brands .brand.is-active { background: #fff; box-shadow: var(--sh-sm); }
.hero-c__brands .brand--static { cursor: default; opacity: .7; }
@media (max-width: 900px) { .hc-stage { min-height: 0; } .hero-c__models { min-height: 200px; } .hero-c__media--models { padding: 16px; } }
/* configurator (modelle v2): inputs left, live result right */
.cfg { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr); gap: 24px; align-items: start; }
.cfg__form { background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-xl); padding: clamp(20px, 2.6vw, 32px); display: grid; gap: 22px; }
.cfg__lbl { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; font-weight: 700; font-size: .9375rem; margin-bottom: 10px; }
.cfg__lbl b { font-family: var(--font-display); font-size: 1.125rem; color: var(--red); }
.cfg__field input[type=range] { width: 100%; accent-color: var(--red); }
.cfg__scale { display: flex; justify-content: space-between; font-size: .75rem; color: var(--muted); margin-top: 4px; }
.cfg__seg { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 8px; }
.cfg__opt { display: flex; flex-direction: column; gap: 2px; text-align: left; padding: 12px 14px; border: 1.5px solid var(--line-2); border-radius: var(--r-md); background: var(--bg); cursor: pointer; transition: border-color .18s, background .18s, transform .18s; font: inherit; color: var(--ink); }
.cfg__opt:hover { border-color: var(--ink); transform: translateY(-1px); }
.cfg__opt.selected { border-color: var(--red); background: var(--red-soft); }
.cfg__opt b { font-weight: 700; font-size: .9375rem; }
.cfg__opt small { color: var(--muted); font-size: .75rem; }
.cfg__result { position: sticky; top: calc(var(--header-h, 116px) + 16px); background: var(--ink-2); color: var(--on-dark); border-radius: var(--r-xl); padding: 24px; display: flex; flex-direction: column; gap: 12px; box-shadow: var(--sh-md); }
.cfg__result.pulse { animation: cfg-pulse .45s var(--ease); }
@keyframes cfg-pulse { 0% { box-shadow: 0 0 0 0 rgba(194,29,19,.5); } 100% { box-shadow: 0 0 0 14px rgba(194,29,19,0); } }
.cfg__res-top { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.cfg__res-logo { display: inline-flex; padding: 6px 12px; border-radius: var(--pill); background: #fff; }
.cfg__res-logo img { height: 16px; width: auto; display: block; }
.cfg__res-tag { font-size: .75rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: rgba(246,242,236,.6); }
.cfg__res-ph { display: grid; place-items: center; height: 170px; }
.cfg__res-ph img { max-height: 170px; max-width: 80%; object-fit: contain; filter: drop-shadow(0 20px 30px rgba(0,0,0,.45)); transition: opacity .3s; }
.cfg__result h3 { color: #fff; font-size: 1.375rem; margin: 0; }
.cfg__why { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.cfg__why li { position: relative; padding-left: 22px; font-size: .875rem; color: rgba(246,242,236,.85); }
.cfg__why li::before { content: "✓"; position: absolute; left: 0; color: #5CE08A; font-weight: 800; }
.cfg__facts { margin: 4px 0 0; display: grid; gap: 0; border-top: 1px solid rgba(246,242,236,.14); }
.cfg__facts > div { display: flex; justify-content: space-between; gap: 12px; padding: 9px 0; border-bottom: 1px solid rgba(246,242,236,.14); font-size: .875rem; }
.cfg__facts dt { color: rgba(246,242,236,.65); margin: 0; }
.cfg__facts dd { margin: 0; font-weight: 700; color: #fff; text-align: right; }
.cfg__price { display: flex; flex-direction: column; gap: 2px; padding: 14px 16px; border-radius: var(--r-md); background: rgba(246,242,236,.08); }
.cfg__price-lbl { font-size: .75rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: #5CE08A; }
.cfg__price b { font-family: var(--font-display); font-size: 2rem; letter-spacing: -.03em; line-height: 1; color: #fff; }
.cfg__price small { font-size: .75rem; color: rgba(246,242,236,.6); }
.cfg__set-link { color: rgba(246,242,236,.85); font-weight: 700; font-size: .875rem; align-self: flex-start; }
.cfg__note { margin: 0; font-size: .75rem; color: rgba(246,242,236,.5); }
@media (max-width: 900px) { .cfg { grid-template-columns: 1fr; } .cfg__result { position: static; } }
/* model cards v2: bars */
.mcard__ideal { margin: 0; font-size: .9375rem; color: var(--ink); }
.mcard__ideal > span:first-child { color: var(--muted); }
.mbars { display: grid; gap: 8px; margin: 6px 0; }
.mbar { display: grid; grid-template-columns: 74px 1fr auto; align-items: center; gap: 10px; font-size: .8125rem; }
.mbar__l { color: var(--muted); }
.mbar__t { height: 8px; border-radius: 4px; background: var(--stone); overflow: hidden; }
.mbar__t i { display: block; height: 100%; border-radius: 4px; background: linear-gradient(90deg, var(--red), #E8493B); }
.mbar b { font-weight: 700; white-space: nowrap; }
.mcard__set { margin: 0 0 4px; font-size: .875rem; color: var(--muted); padding: 10px 12px; border-radius: var(--r-md); background: var(--bg); }
.mcard__set b { color: var(--ink); }
.mcard .btn { margin-top: auto; }
.mcard__logo img { height: 16px; }
.cfg__hint { margin: 6px 0 0; font-size: .75rem; color: var(--muted); }
.cfg__why-h { margin: 4px 0 0; font-size: .75rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: rgba(246,242,236,.6); }
.cfg__alt { margin: 0; font-size: .8125rem; color: rgba(246,242,236,.7); }
.cfg__alt-btn { background: none; border: 0; padding: 0; font: inherit; font-weight: 700; color: #fff; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.cfg__alt-btn:hover { color: #FF8A7A; }
/* advisor v2: waist-up figure, feet not needed – anchor slightly lower, wider */
@media (min-width: 901px) { .cta-band__person img { max-width: 300px; } .cta-band--person { grid-template-columns: minmax(0, 1fr) clamp(240px, 21vw, 300px) auto; } .cta-band__tag { bottom: 22px; } }

/* ============================================================
   Mobile audit: swipe carousels for 3-card rows, hero CTA width, stamp, bento wordmark
   ============================================================ */
.bt--pr .bt__wordmark { max-height: 40px !important; width: auto; margin: auto 0 14px; filter: none; }
@media (max-width: 760px) {
  .offers, .setgrid, .pricing--2, .mcards, .montage, .prep, .subcards--3up, .cards-3, .pillars--3up, .icards--trio:not(.icards--stats) {
    display: flex; flex-wrap: nowrap; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px;
    padding: 6px 20px 14px; margin-inline: -20px; max-width: none; scrollbar-width: none; -webkit-overflow-scrolling: touch;
    background: none; border: 0; border-radius: 0;
  }
  .offers::-webkit-scrollbar, .setgrid::-webkit-scrollbar, .pricing--2::-webkit-scrollbar, .mcards::-webkit-scrollbar, .montage::-webkit-scrollbar, .prep::-webkit-scrollbar, .subcards--3up::-webkit-scrollbar, .cards-3::-webkit-scrollbar, .pillars--3up::-webkit-scrollbar, .icards--trio::-webkit-scrollbar { display: none; }
  .offers > *, .setgrid > *, .pricing--2 > *, .mcards > *, .montage > *, .prep > *, .subcards--3up > *, .cards-3 > *, .pillars--3up > *, .icards--trio:not(.icards--stats) > * { flex: 0 0 84%; scroll-snap-align: start; min-width: 0; margin: 0; }
  .icards--trio:not(.icards--stats) > .icard, .pillars--3up > .pillar { border: 1px solid var(--line-2); border-radius: var(--r-lg); }
  .subcards--3up > .subcard { grid-template-columns: 1fr; }
  .subcards--3up > .subcard .subcard__media { aspect-ratio: 16 / 9; }
  .price-card--art .price-card__art { height: 120px; top: -26px; right: 10px; }
  .snap-hint { display: flex; align-items: center; gap: 8px; font-size: .75rem; color: var(--muted); margin: 2px 0 0; }
  .snap-hint::before { content: ""; width: 22px; height: 2px; background: var(--line-2); }
  /* hero CTA row: nothing wider than the viewport */
  .hero--light .hero__cta-row > * , .hero--light .countdown { width: 100%; max-width: 100%; box-sizing: border-box; }
  .hero--light .btn--lg { justify-content: center; }
  /* subsidy stamp: no float, sits above the heading */
  .stamp--float { float: none; display: block; margin: 0 0 14px; width: 104px; }
  .offer--pop { order: 0; }
}
@media (max-width: 760px) {
  .setgrid > .setcard { grid-template-columns: 1fr; display: grid; }
  .setgrid > .setcard .setcard__img { aspect-ratio: 16 / 9; min-height: 0; }
  .mcard .btn { white-space: nowrap; font-size: .9375rem; }
  .price-card__value small { font-size: .7rem; }
  .price-card__value b { font-size: 1.2rem; }
}
@media (max-width: 860px) { .dotace .stamp--float, .stamp--float { position: relative; right: auto; top: auto; float: none; display: block; margin: 0 0 14px; } }
/* configurator slider: big, touch-friendly thumb and thick track */
.cfg__field input[type=range] { -webkit-appearance: none; appearance: none; height: 44px; background: transparent; margin: 2px 0 0; cursor: pointer; }
.cfg__field input[type=range]::-webkit-slider-runnable-track { height: 10px; border-radius: 5px; background: linear-gradient(90deg, var(--red) var(--p, 40%), var(--stone) var(--p, 40%)); }
.cfg__field input[type=range]::-moz-range-track { height: 10px; border-radius: 5px; background: var(--stone); }
.cfg__field input[type=range]::-moz-range-progress { height: 10px; border-radius: 5px; background: var(--red); }
.cfg__field input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 36px; height: 36px; border-radius: 50%; background: #fff; border: 4px solid var(--red); box-shadow: 0 4px 12px rgba(13,10,6,.22); margin-top: -13px; transition: transform .15s; }
.cfg__field input[type=range]::-moz-range-thumb { width: 28px; height: 28px; border-radius: 50%; background: #fff; border: 4px solid var(--red); box-shadow: 0 4px 12px rgba(13,10,6,.22); }
.cfg__field input[type=range]:active::-webkit-slider-thumb, .cfg__field input[type=range]:hover::-webkit-slider-thumb { transform: scale(1.08); }
.cfg__field input[type=range]:focus-visible { outline: none; }
.cfg__field input[type=range]:focus-visible::-webkit-slider-thumb { box-shadow: 0 0 0 5px rgba(194,29,19,.25), 0 4px 12px rgba(13,10,6,.22); }
.cfg__steppers { display: flex; gap: 8px; justify-content: flex-end; margin-top: 4px; }
.cfg__step { width: 44px; height: 44px; border-radius: 50%; border: 1.5px solid var(--line-2); background: var(--bg); font: inherit; font-weight: 800; font-size: 1.25rem; color: var(--ink); cursor: pointer; display: grid; place-items: center; }
.cfg__step:hover { border-color: var(--ink); }
/* lead form: selection chip when the product step was skipped */
.lf-pre { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 14px; padding: 8px 12px; border-radius: var(--pill); background: var(--red-soft); font-size: .8125rem; color: var(--ink); }
.lf-pre__lbl { color: var(--muted); }
.lf-pre b { font-weight: 700; }
.lf-pre__edit { background: none; border: 0; padding: 0; font: inherit; font-weight: 700; color: var(--red); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
/* package cards: no hairline under the value chips */
.price-card--art .price-card__list { border-top: 0 !important; padding-top: 2px; }
.price-card--art .price-card__value { margin-bottom: 10px; }
/* mobile package cards: proper layout inside the swipe carousel */
@media (max-width: 760px) {
  .pricing--2 > .price-card--art, .offers > .offer, .mcards > .mcard, .setgrid > .setcard { flex-basis: 88%; }
  .price-card--art { padding: 22px 18px 22px; }
  .price-card--art .price-card__head { display: grid; grid-template-columns: minmax(0, 1fr) 96px; grid-template-areas: "txt stage" "val val"; column-gap: 10px; align-items: start; }
  .price-card--art .price-card__txt { grid-area: txt; }
  .price-card--art .price-card__stage { grid-area: stage; position: relative; min-height: 96px; }
  .price-card--art .price-card__art { position: absolute; right: -6px; top: -34px; height: 128px; max-width: none; }
  .price-card--art .price-card__txt > * { max-width: none; }
  .price-card--art .price-card__name { font-size: 1.125rem; min-height: 0; }
  .price-card--art .price-card__desc { font-size: .8125rem; }
  .price-card--art .price-card__value { grid-area: val; grid-template-columns: 1fr 1fr; gap: 8px; margin: 12px 0 6px; }
  .price-card__value > span { padding: 10px 10px; }
  .price-card__value b { font-size: 1.125rem; }
  .price-card__value small { font-size: .6875rem; }
  .price-card--art .price-card__list { gap: 9px; margin-bottom: 18px; }
  .price-card--art .price-card__list li { font-size: .875rem; }
  .offer { padding-bottom: 18px; }
}
/* package cards v3: uniform template, rows aligned across cards via subgrid */
.pricing--2 { grid-template-rows: auto auto auto auto; align-items: stretch; }
.price-card--art { display: grid; grid-template-rows: subgrid; grid-row: span 4; gap: 0; align-content: start; }
.price-card--art .price-card__head { display: block; padding-right: 44%; }
.price-card--art .price-card__head > * { max-width: none; }
.price-card--art .price-card__name { min-height: 0; margin: 6px 0 6px; font-size: 1.375rem; }
.price-card--art .price-card__desc { margin: 0; }
.price-card--art .price-card__value { margin: 16px 0 14px; align-self: start; }
.price-card--art .price-card__list { margin: 0 0 20px; padding-top: 0; border-top: 0; align-self: start; }
.price-card--art .btn { align-self: end; margin-top: 0; }
.price-card--art .price-card__art { position: absolute; right: 18px; top: -40px; height: 200px; max-width: 42%; object-fit: contain; }
.price-card--hi { border-color: var(--red); box-shadow: 0 0 0 3px rgba(194,29,19,.12), var(--sh-md); }
@media (max-width: 760px) {
  .price-card--art { display: flex; flex-direction: column; }
  .price-card--art .price-card__head { padding-right: 96px; }
  .price-card--art .price-card__art { right: 6px; top: -30px; height: 120px; max-width: 100px; }
  .price-card--art .price-card__value { margin: 12px 0 10px; }
  .price-card--art .btn { margin-top: auto; }
}
/* included section: product family image + numbered list */
.incl { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(20px, 3vw, 40px); align-items: center; margin-top: 18px; }
.incl__ph { position: relative; margin: 0; border-radius: var(--r-lg); overflow: hidden; background: #fff; border: 1px solid var(--line); }
.incl__ph img { width: 100%; height: auto; display: block; }
.incl__ph figcaption { position: absolute; left: 14px; top: 14px; }
.incl__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 8px 18px; }
.incl__list li { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: var(--r-md); background: var(--paper); border: 1px solid var(--line); font-weight: 600; font-size: .9375rem; }
.incl__list .idx { font-size: .75rem; color: var(--red); font-weight: 800; min-width: 22px; }
@media (max-width: 860px) { .incl { grid-template-columns: 1fr; } .incl__list { grid-template-columns: 1fr 1fr; } }
@media (max-width: 480px) { .incl__list { grid-template-columns: 1fr; } }
/* package cards v3 (fix): plain column cards, natural heights, CTA at the bottom of each card */
.pricing--2 { grid-template-rows: none; align-items: start; }
.price-card--art { display: flex; flex-direction: column; grid-template-rows: none; grid-row: auto; }
.price-card--art .price-card__list { flex: 1 1 auto; }
.price-card--art .btn { margin-top: 0; }
.price-card__value small { overflow-wrap: anywhere; }
@media (max-width: 760px) { .pricing--2 { align-items: stretch; } .price-card--art .btn { margin-top: auto; } }
/* included-items stage: base composition + per-item view with crossfade */
.incl__ph { aspect-ratio: 16 / 9; }
.incl__ph .incl__base { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: opacity .35s var(--ease), transform .35s var(--ease); }
.incl__ph.is-item .incl__base { opacity: .08; transform: scale(1.02); }
.incl__ph .incl__item { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.03); transition: opacity .35s var(--ease), transform .35s var(--ease); }
.incl__ph.is-cut .incl__item { object-fit: contain; padding: 8%; }
.incl__ph .incl__item.in { opacity: 1; transform: none; }
.incl__ph figcaption { left: 14px; top: 14px; right: 14px; display: flex; justify-content: space-between; align-items: center; gap: 10px; pointer-events: none; }
.incl__cap { font-family: var(--font-display); font-weight: 800; font-size: .9375rem; padding: 6px 12px; border-radius: var(--pill); background: rgba(255,255,255,.92); color: var(--ink); box-shadow: var(--sh-sm); }
.incl__list li { padding: 0; border: 0; background: none; }
.incl__btn { width: 100%; display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: var(--r-md); background: var(--paper); border: 1px solid var(--line); font: inherit; font-weight: 600; font-size: .9375rem; color: var(--ink); text-align: left; cursor: pointer; transition: border-color .18s, background .18s, transform .18s; }
.incl__btn:hover { border-color: var(--ink); transform: translateX(2px); }
.incl__btn.is-active { border-color: var(--red); background: var(--red-soft); }
.incl__btn .idx { font-size: .75rem; color: var(--red); font-weight: 800; min-width: 22px; }
.incl__hint { margin: 10px 0 0; font-size: .75rem; color: var(--muted); }
/* included stage v2: description panel, list as chips on mobile */
.incl__panel { position: absolute; left: 14px; right: 14px; bottom: 14px; display: flex; flex-direction: column; gap: 2px; padding: 12px 14px; border-radius: var(--r-md); background: rgba(255,255,255,.94); box-shadow: var(--sh-sm); animation: fq-in .3s var(--ease) both; }
.incl__panel b { font-family: var(--font-display); font-size: 1rem; }
.incl__panel span { font-size: .8125rem; color: var(--muted); line-height: 1.4; }
.incl__ph.is-item .incl__base { opacity: 0; }
.incl__ph.is-cut .incl__item { padding: 6% 10% 22%; }
.incl__ph .incl__item { object-fit: contain; background: #fff; padding: 0 0 18%; }
.incl__hint { margin: 0 0 10px; }
.incl__list { align-content: start; }
.incl__btn .incl__d { display: none; }
@media (max-width: 860px) {
  .incl { display: flex; flex-direction: column; }
  .incl__hint { order: 2; margin: 12px 0 6px; }
  .incl__list { order: 3; display: flex; overflow-x: auto; scroll-snap-type: x proximity; gap: 8px; padding: 2px 20px 10px; margin-inline: -20px; scrollbar-width: none; }
  .incl__list::-webkit-scrollbar { display: none; }
  .incl__list li { flex: 0 0 auto; scroll-snap-align: start; }
  .incl__btn { white-space: nowrap; padding: 10px 14px; border-radius: var(--pill); }
  .incl__btn:hover { transform: none; }
  .incl__panel { left: 10px; right: 10px; bottom: 10px; padding: 10px 12px; }
}
/* process steps with icons */
.pstep { position: relative; padding-top: 28px; }
.pstep__ic { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; background: var(--red-soft); color: var(--red); margin-bottom: 14px; }
.pstep__ic svg { width: 24px; height: 24px; }
.pstep__n { margin-bottom: 8px; font-size: .8125rem; letter-spacing: .08em; }
.pstep h3 { font-size: 1.0625rem; margin-bottom: 8px; }
.pstep p { font-size: .875rem; line-height: 1.5; }
.pstep::before { content: ""; position: absolute; left: 0; right: 0; top: -1px; height: 3px; background: var(--red); transform: scaleX(0); transform-origin: left; transition: transform .5s var(--ease); }
.pstep.in::before, .pstep:hover::before { transform: scaleX(1); }
@media (max-width: 760px) { .process { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px; padding: 4px 20px 12px; margin-inline: -20px; border-top: 0; scrollbar-width: none; } .process::-webkit-scrollbar { display: none; } .pstep { flex: 0 0 78%; scroll-snap-align: start; border: 1px solid var(--line-2); border-radius: var(--r-lg); padding: 20px 18px 18px !important; margin: 0 !important; border-top: 1px solid var(--line-2) !important; } .pstep::before { display: none; } }
/* mobile package cards: tighter header, art tucked in the corner */
@media (max-width: 760px) {
  .price-card--art { padding: 20px 18px 20px; }
  .price-card--art .price-card__head { padding-right: 92px; }
  .price-card--art .price-card__name { font-size: 1.1875rem; line-height: 1.15; margin: 8px 0 6px; display: block; }
  .price-card--art .price-card__desc { font-size: .8125rem; line-height: 1.4; }
  .price-card--art .price-card__art { right: 10px; top: -22px; height: 104px; max-width: 92px; }
  .price-card--art .price-card__value { grid-template-columns: 1fr 1fr; gap: 8px; }
  .price-card__value > span { padding: 9px 10px; }
  .price-card__value b { font-size: 1.0625rem; }
  .price-card__value small { font-size: .6875rem; line-height: 1.25; }
  .price-card--art .price-card__list li { font-size: .84rem; line-height: 1.4; }
}
/* incl grid: image spans both rows on the left, hint + list stacked on the right */
@media (min-width: 861px) {
  .incl { grid-template-rows: auto 1fr; align-items: start; }
  .incl__ph { grid-column: 1; grid-row: 1 / 3; align-self: center; }
  .incl__hint { grid-column: 2; grid-row: 1; margin: 0 0 4px; }
  .incl__list { grid-column: 2; grid-row: 2; }
}
.incl__ph.is-cut .incl__item { padding: 4% 8% 20%; }

/* ============================================================
   Hero pick card: step 1 of the Förder-Check, cut out on the right of the homepage hero
   ============================================================ */
.hero--cine .wrap { display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px; align-items: center; }
@media (min-width: 1100px) { .hero--cine .wrap { grid-template-columns: minmax(0, 1fr) 400px; gap: 48px; } .hero--cine .inner { max-width: 640px; } }
.hero-pick { background: var(--paper); color: var(--ink); border-radius: 22px; padding: 22px 22px 18px; box-shadow: 0 30px 60px rgba(0,0,0,.35), 0 0 0 1px rgba(255,255,255,.4); display: flex; flex-direction: column; gap: 10px; }
.hero-pick__head { margin-bottom: 4px; }
.hero-pick__step { display: inline-block; font-size: .6875rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--red); margin-bottom: 8px; }
.hero-pick__head h2 { font-size: 1.375rem; letter-spacing: -.02em; margin: 0 0 4px; }
.hero-pick__head p { margin: 0; font-size: .875rem; color: var(--muted); }
.hero-pick__opt { display: flex; align-items: center; gap: 12px; padding: 8px 12px 8px 8px; border: 1.5px solid var(--line-2); border-radius: 14px; background: var(--bg); color: var(--ink); text-decoration: none; transition: border-color .18s, transform .18s, box-shadow .18s; }
.hero-pick__opt:hover { border-color: var(--red); transform: translateX(3px); box-shadow: var(--sh-sm); }
.hero-pick__opt .arr { margin-left: auto; color: var(--red); flex: 0 0 auto; }
.hero-pick__ph { width: 64px; height: 52px; border-radius: 10px; overflow: hidden; flex: 0 0 auto; background: var(--stone); }
.hero-pick__ph img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hero-pick__txt { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.hero-pick__txt b { font-family: var(--font-display); font-weight: 700; font-size: 1rem; }
.hero-pick__txt small { font-size: .75rem; color: var(--muted); }
.hero-pick__foot { margin: 6px 0 0; font-size: .75rem; color: var(--muted); text-align: center; }
@media (max-width: 1099px) {
  .hero-pick { padding: 16px; gap: 8px; }
  .hero-pick__head h2 { font-size: 1.125rem; }
  .hero-pick__opt { padding: 6px 10px 6px 6px; }
  .hero-pick__ph { width: 56px; height: 46px; }
}
@media (max-width: 640px) {
  .hero-pick { margin-top: 4px; }
  .hero--cine .hero__cta-row .btn--primary { display: none; }
  .hero-pick__foot { display: none; }
}
.nowrap { white-space: nowrap; }
/* hero pick card docked into the bottom-right corner of the hero (desktop) */
@media (min-width: 1100px) {
  .hero--cine { padding-bottom: 0; }
  .hero--cine .wrap { grid-template-columns: minmax(0, 1fr); padding-right: 460px; }
  .hero-pick { position: absolute; right: max(var(--gutter, 20px), calc((100% - var(--maxw, 1200px)) / 2 + var(--gutter, 20px))); bottom: 0; width: 400px; border-radius: 22px 22px 0 0; box-shadow: 0 -20px 50px rgba(0,0,0,.28); padding-bottom: 20px; }
  .hero--cine .cine-dots { right: auto; left: max(var(--gutter, 20px), calc((100% - var(--maxw, 1200px)) / 2 + var(--gutter, 20px))); }
  .hero--cine .hero__trust { margin-bottom: 8px; }
}
/* homepage hero always fills the viewport below the header; copy centred, card docked, photo breathes */
@media (min-width: 900px) {
  .hero--cine { min-height: calc(100svh - var(--header-h, 116px)); max-height: none; }
  .hero--cine .wrap { padding-block: clamp(40px, 6vh, 80px) clamp(90px, 12vh, 140px); }
  .hero--cine .inner { align-self: center; }
}
@media (min-width: 1400px) { .hero--cine h1 { font-size: clamp(3rem, 4.6vw, 4.8rem); } }
/* ============================================================
   Homepage hero v3: fits 100vh on every desktop, calmer hierarchy
   ============================================================ */
@media (min-width: 900px) {
  .hero--cine h1 { font-size: clamp(2.3rem, 3.6vw, 3.7rem); line-height: 1.02; max-width: 15ch; }
  .hero--cine .hero__highlight--paper { display: inline-block; font-size: clamp(1.35rem, 1.9vw, 1.9rem); line-height: 1.15; padding: .28em .6em; border-radius: 12px; margin-top: 12px; box-shadow: 0 10px 30px rgba(0,0,0,.25); }
  .hero--cine .lead { font-size: 1.0625rem; max-width: 46ch; margin-top: 16px; }
  .hero--cine .hero__flash { margin-bottom: 16px; }
  .hero--cine .hero__cta-row { margin-top: 22px; }
  .hero--cine .hero__trust { position: absolute; left: max(var(--gutter, 20px), calc((100% - var(--maxw, 1320px)) / 2 + var(--gutter, 20px))); bottom: 26px; margin: 0; z-index: 2; }
  .hero--cine .cine-dots { bottom: auto; top: 24px; right: max(var(--gutter, 20px), calc((100% - var(--maxw, 1320px)) / 2 + var(--gutter, 20px))); left: auto; }
  .hero--cine .wrap { padding-block: clamp(24px, 4vh, 56px) clamp(70px, 9vh, 110px); }
  .hero-pick { width: 380px; padding: 18px 18px 16px; gap: 8px; }
  .hero-pick__head h2 { font-size: 1.25rem; }
  .hero-pick__head p { font-size: .8125rem; }
  .hero-pick__opt { padding: 6px 10px 6px 6px; }
  .hero-pick__ph { width: 58px; height: 46px; }
  .hero-pick__txt b { font-size: .9375rem; }
  .hero-pick__foot { margin-top: 4px; font-size: .7rem; }
}
@media (min-width: 1100px) and (max-height: 760px) {
  .hero--cine h1 { font-size: clamp(2rem, 3vw, 2.8rem); }
  .hero--cine .lead { display: none; }
  .hero-pick__head p { display: none; }
  .hero-pick__foot { display: none; }
}
.hero-pick__txt small { display: none; }
.hero-pick__opt { padding-block: 7px; }
/* lead band: the form card spans the band height; copy centred; nav pinned to the card bottom, no dead space */
@media (min-width: 881px) {
  .leadband { align-items: stretch; }
  .leadband__copy { align-self: center; }
  .leadband [data-leadform] { display: flex; }
  .leadband .leadform { flex: 1; display: flex; flex-direction: column; min-height: 100%; }
  .leadband .leadform__body { flex: 1 1 auto; min-height: 400px; display: flex; flex-direction: column; }
  .leadband .leadform__step.active { flex: 1 1 auto; display: flex; flex-direction: column; }
  .leadband .leadform__step .leadform__nav { margin-top: auto; }
}
/* mobile carousels: exact gutter padding, snap aligned to the gutter, no horizontal page scroll */
@media (max-width: 760px) {
  html, body { overflow-x: hidden; }
  .section, .section-sm { overflow-x: clip; }
  .offers, .setgrid, .pricing--2, .mcards, .montage, .prep, .subcards--3up, .cards-3, .pillars--3up, .icards--trio:not(.icards--stats), .process, .incl__list {
    margin-inline: calc(-1 * var(--gutter)); padding-inline: var(--gutter); scroll-padding-inline: var(--gutter); width: calc(100% + 2 * var(--gutter)); box-sizing: border-box;
  }
  .offers > *, .setgrid > *, .pricing--2 > *, .mcards > *, .montage > *, .prep > *, .subcards--3up > *, .cards-3 > *, .pillars--3up > *, .icards--trio:not(.icards--stats) > *, .process > .pstep { flex-basis: calc(100% - var(--gutter) - 16px); }
  .offers::after, .setgrid::after, .pricing--2::after, .mcards::after, .montage::after, .prep::after, .subcards--3up::after, .cards-3::after, .pillars--3up::after, .process::after { content: ""; flex: 0 0 1px; }
}
/* hero pick card: vertically centred on the right again (not docked) */
@media (min-width: 1100px) {
  .hero-pick { bottom: auto; top: 50%; transform: translateY(-50%); border-radius: 22px; padding-bottom: 18px; box-shadow: 0 30px 60px rgba(0,0,0,.35), 0 0 0 1px rgba(255,255,255,.4); }
  .hero--cine .wrap { padding-block: clamp(24px, 4vh, 56px) clamp(56px, 8vh, 90px); }
}
/* configurator: fits one desktop screen */
@media (min-width: 981px) {
  #finder.section { padding-block: clamp(28px, 4vh, 48px); }
  #finder .sec-head { margin-bottom: 18px; max-width: none; display: flex; align-items: baseline; gap: 18px 28px; flex-wrap: wrap; }
  #finder .sec-head .h2 { font-size: clamp(1.5rem, 2.2vw, 2rem); margin: 0; }
  #finder .sec-head .lead { margin: 0; font-size: .9375rem; max-width: 60ch; flex: 1; }
  #finder .sec-head .eyebrow { width: 100%; margin-bottom: 0; }
  .cfg { gap: 18px; }
  .cfg__form { padding: 18px 20px 16px; gap: 14px; grid-template-columns: 1fr 1fr; }
  .cfg__form > .cfg__field:first-child { grid-column: 1 / -1; }
  .cfg__hint { display: none; }
  .cfg__steppers { position: absolute; right: 0; top: -6px; gap: 6px; }
  .cfg__field { position: relative; }
  .cfg__step { width: 36px; height: 36px; font-size: 1.0625rem; }
  .cfg__lbl { margin-bottom: 8px; font-size: .875rem; }
  .cfg__seg { gap: 6px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cfg__opt { padding: 9px 11px; }
  .cfg__opt b { font-size: .875rem; }
  .cfg__opt small { font-size: .6875rem; }
  .cfg__field input[type=range] { height: 36px; }
  .cfg__result { padding: 18px 20px; gap: 8px; }
  .cfg__res-ph { height: 130px; }
  .cfg__res-ph img { max-height: 130px; }
  .cfg__result h3 { font-size: 1.2rem; }
  .cfg__why li { font-size: .8125rem; }
  .cfg__facts > div { padding: 7px 0; font-size: .8125rem; }
  .cfg__price { padding: 10px 14px; }
  .cfg__price b { font-size: 1.6rem; }
  .cfg__note { display: none; }
  .cfg__why-h { margin-top: 0; }
}
@media (min-width: 981px) { .cfg__form > .cfg__field:first-child .cfg__lbl { padding-right: 96px; } .cfg__steppers { top: -8px; } }
@media (min-width: 1100px) { .hero-pick { top: 44%; } }
/* incl on mobile: figure takes full width */
@media (max-width: 860px) { .incl { align-items: stretch; } .incl__ph { width: 100%; } }
/* configurator: both columns equal height */
@media (min-width: 981px) {
  .cfg { align-items: stretch; }
  .cfg__form { align-content: space-between; height: auto; }
  .cfg__result { position: relative; top: auto; height: auto; }
  .cfg__result .btn { margin-top: auto; }
}
@media (min-width: 981px) {
  .cfg__form { align-content: stretch; grid-template-rows: auto 1fr 1fr; gap: 14px 18px; }
  .cfg__form > .cfg__field { display: flex; flex-direction: column; justify-content: center; }
  .cfg__form > .cfg__field:first-child { justify-content: flex-start; }
  .cfg__opt { min-height: 54px; justify-content: center; }
  .cfg__seg { gap: 8px; }
}
.incl__panel[hidden] { display: none; }
/* homepage hero on mobile: shorter, card right after the CTA, photo focus on the house */
@media (max-width: 640px) {
  .hero--cine .cine-bg .slide { object-position: 28% 50%; }
  .hero--cine .lead { display: none; }
  .hero--cine .hero__trust { display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: .8125rem; margin-top: 14px; }
  .hero--cine .hero__trust span { display: inline-flex; }
  .hero--cine .hero__cta-row { margin-top: 14px; gap: 10px; }
  .hero--cine .countdown { height: auto; padding: 10px 14px; }
  .hero--cine .hero__highlight--paper { font-size: 1.35rem; padding: .3em .6em; }
  .hero--cine h1 { font-size: 2.1rem; }
  .hero--cine .wrap { padding-block: 28px 32px; gap: 18px; }
  .hero-pick { padding: 14px; border-radius: 18px; }
  .hero-pick__head h2 { font-size: 1.125rem; margin-bottom: 2px; }
  .hero-pick__head p { display: none; }
  .hero-pick__opt { padding: 6px 10px 6px 6px; }
  .hero-pick__ph { width: 52px; height: 42px; }
}
@media (min-width: 1100px) { .hero--cine .cine-bg .slide { object-position: 50% 50%; } }
@media (max-width: 640px) { .hero--cine .wrap { padding-bottom: 48px; } .hero--cine .cine-dots { bottom: 14px; left: var(--gutter); right: auto; } }
/* lead band on mobile: short heading above the form, no duplicate checklist; no focus ring on the programmatically focused question */
.leadform__q:focus { outline: none; box-shadow: none; }
@media (max-width: 880px) {
  .leadband { padding: 22px 16px 20px; gap: 16px; }
  .leadband__copy { order: -1; }
  .leadband__copy .eyebrow { margin-bottom: 8px; }
  .leadband__copy h2 { font-size: 1.5rem; max-width: none; }
  .leadband__copy .lead { font-size: .9375rem; margin: 8px 0 0; }
  .leadband .checklist, .leadband__trust { display: none; }
  .leadband [data-leadform] { order: 1; }
  .leadform__head { padding: 18px 18px 0; }
  .leadform__body { padding: 6px 18px 18px; min-height: 0; }
  .leadform__foot { padding: 12px 18px 14px; }
  .leadform__q { font-size: 1.375rem; }
  .lf-pre { margin-bottom: 10px; }
}
.leadform__q:focus-visible, .leadform__q:focus { outline: none !important; box-shadow: none !important; }
/* hero photos mirrored: house on the right, calm side on the left behind the copy */
@media (min-width: 1100px) { .hero--cine .cine-bg .slide { object-position: 60% 50%; } }
@media (max-width: 640px) { .hero--cine .cine-bg .slide { object-position: 72% 50%; } }
.hero--cine::after { background: linear-gradient(90deg, rgba(20,15,8,.78) 0%, rgba(20,15,8,.55) 38%, rgba(20,15,8,.18) 70%, rgba(20,15,8,.28) 100%), linear-gradient(180deg, rgba(20,15,8,.35) 0%, transparent 30%, transparent 70%, rgba(20,15,8,.45) 100%); }
/* hero: card sits higher so the heat pump under the house stays visible */
@media (min-width: 1100px) { .hero-pick { top: 40%; } .hero--cine .cine-bg .slide { object-position: 56% 50%; } }
@media (min-width: 1100px) and (max-height: 820px) { .hero-pick { top: 42%; } }
/* flux hero photos: unit centre, house right → default framing */
@media (min-width: 1100px) { .hero--cine .cine-bg .slide { object-position: 50% 50%; } .hero-pick { top: 44%; } }
@media (max-width: 640px) { .hero--cine .cine-bg .slide { object-position: 55% 50%; } }
.hero--cine::after { background: linear-gradient(90deg, rgba(20,15,8,.8) 0%, rgba(20,15,8,.5) 36%, rgba(20,15,8,.12) 62%, rgba(20,15,8,.22) 100%), linear-gradient(180deg, rgba(20,15,8,.3) 0%, transparent 28%, transparent 72%, rgba(20,15,8,.45) 100%); }
/* bento photo caption: solid readable gradient on every viewport */
.bt--ph .cap { padding: 56px 22px 20px; background: linear-gradient(180deg, rgba(13,10,6,0) 0%, rgba(13,10,6,.55) 35%, rgba(13,10,6,.9) 100%); text-shadow: 0 1px 2px rgba(0,0,0,.4); }
@media (max-width: 560px) { .bt--ph { min-height: 260px; } .bt--ph .cap { font-size: .875rem; padding: 48px 18px 16px; } }
@media (max-width: 560px) { .bt--ph { padding: 0 !important; display: flex; flex-direction: column; } .bt--ph .cap { width: 100%; } }
/* hero photos: show more of the lower part so the heat pump sits higher in the frame */
@media (min-width: 1100px) { .hero--cine .cine-bg .slide { object-position: 50% 78%; } }
@media (min-width: 641px) and (max-width: 1099px) { .hero--cine .cine-bg .slide { object-position: 50% 75%; } }
@media (max-width: 640px) { .hero--cine .cine-bg .slide { object-position: 55% 72%; } }
/* final audit fixes */
@media (max-width: 860px) { .stamp, .sec-head--stamp .stamp { position: relative; width: 104px; height: 104px; } }
@media (max-width: 760px) { .about-stage { min-height: 0 !important; } .about-stage__wrap { padding-block: 72px 56px; } }
.nb--hero::after { background: linear-gradient(180deg, rgba(20,16,11,.62) 0%, rgba(20,16,11,.35) 40%, rgba(20,16,11,.94) 100%); }
.lf-pre__edit { color: #A8160E; }
.cfg__result .btn { margin-top: 8px; }
@media (max-width: 760px) { .nb:not(.nb--s) { min-height: 0; } .nb { gap: 4px; } .nb--hero { min-height: 300px; } }

/* ============================================================
   Included positions v3: hotspots on the composition, grouped list with descriptions
   ============================================================ */
.incl { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); align-items: start; }
.incl__ph { aspect-ratio: 16 / 9; border-radius: var(--r-xl); box-shadow: var(--sh-md); }
.incl__hotspots { position: absolute; inset: 0; pointer-events: none; transition: opacity .3s; }
.incl__ph.is-item .incl__hotspots { opacity: 0; }
.incl__hs { position: absolute; transform: translate(-50%, -50%); width: 34px; height: 34px; border-radius: 50%; border: 0; background: #fff; color: var(--red); font: 800 .75rem/1 var(--font-display); display: grid; place-items: center; cursor: pointer; pointer-events: auto; box-shadow: 0 6px 16px rgba(13,10,6,.28), 0 0 0 2px var(--red); transition: transform .2s, background .2s, color .2s; }
.incl__hs i { position: absolute; inset: -6px; border-radius: 50%; border: 2px solid rgba(194,29,19,.45); animation: tk-pulse 2s ease-out infinite; }
.incl__hs span { position: relative; }
.incl__hs:hover, .incl__hs.is-active { background: var(--red); color: #fff; transform: translate(-50%, -50%) scale(1.08); }
.incl__groups { display: grid; gap: 18px; }
.incl__group h4 { margin: 0 0 8px; font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.incl__groups .incl__list { display: grid; grid-template-columns: 1fr; gap: 6px; }
.incl__groups .incl__btn { align-items: flex-start; gap: 12px; padding: 10px 14px; border-radius: var(--r-md); background: transparent; border: 1px solid transparent; }
.incl__groups .incl__btn:hover { background: var(--paper); border-color: var(--line); transform: none; }
.incl__groups .incl__btn.is-active { background: var(--paper); border-color: var(--red); box-shadow: inset 3px 0 0 var(--red); }
.incl__groups .incl__btn .idx { width: 26px; height: 26px; border-radius: 50%; background: var(--red-soft); color: var(--red); display: grid; place-items: center; font-size: .6875rem; min-width: 0; flex: 0 0 auto; margin-top: 1px; }
.incl__groups .incl__btn.is-active .idx { background: var(--red); color: #fff; }
.incl__groups .incl__btn .incl__t { display: block; font-weight: 700; font-size: .9375rem; }
.incl__groups .incl__btn .incl__d { display: block !important; font-weight: 400; font-size: .8125rem; color: var(--muted); line-height: 1.4; margin-top: 2px; }
.incl__groups .incl__btn > span:not(.idx) { display: flex; flex-direction: column; }
.incl__panel { left: 16px; right: 16px; bottom: 16px; }
@media (min-width: 861px) { .incl__hint { grid-column: 2; grid-row: 1; } .incl__groups { grid-column: 2; grid-row: 2; } .incl__ph { grid-row: 1 / 3; } }
@media (max-width: 860px) {
  .incl__groups { order: 3; display: grid; gap: 14px; }
  .incl__groups .incl__list { display: grid; overflow: visible; padding: 0; margin: 0; width: auto; }
  .incl__groups .incl__btn { white-space: normal; border-radius: var(--r-md); }
  .incl__hs { width: 30px; height: 30px; font-size: .6875rem; }
}
.incl__groups .incl__btn { display: grid; grid-template-columns: 26px minmax(0, 1fr); grid-template-areas: "idx t" "idx d"; column-gap: 12px; row-gap: 2px; align-items: start; }
.incl__groups .incl__btn .idx { grid-area: idx; }
.incl__groups .incl__btn .incl__t { grid-area: t; }
.incl__groups .incl__btn .incl__d { grid-area: d; margin-top: 0; }
@media (min-width: 861px) { .incl__ph { align-self: start; } }
@media (min-width: 861px) { .incl__ph { position: sticky; top: calc(var(--header-h, 116px) + 20px); } }

/* ============================================================
   Included positions v4: calm editorial list, composition image, quiet hover swap
   ============================================================ */
.incl { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(24px, 4vw, 56px); align-items: center; }
.incl__ph { box-shadow: none; border: 1px solid var(--line); border-radius: var(--r-lg); position: relative; }
@media (min-width: 861px) { .incl__ph { position: relative; top: auto; grid-row: auto; align-self: center; } .incl__list--clean { grid-column: auto; grid-row: auto; } }
.incl__hotspots, .incl__panel, .incl__hint { display: none !important; }
.incl__cap2 { position: absolute; left: 18px; bottom: 14px; font-size: .8125rem; font-weight: 700; color: var(--ink); background: rgba(255,255,255,.9); padding: 6px 10px; border-radius: 8px; }
.incl__cap2[hidden] { display: none; }
.incl__ph .incl__item { padding: 0 0 12%; }
.incl__ph.is-cut .incl__item { padding: 6% 10% 14%; }
.incl__list--clean { display: grid; grid-template-columns: 1fr 1fr; gap: 0 32px; margin: 0; padding: 0; list-style: none; }
.incl__list--clean li { border-bottom: 1px solid var(--line-2); }
.incl__list--clean .incl__btn { display: flex; align-items: baseline; gap: 14px; width: 100%; padding: 13px 0; background: none; border: 0; border-radius: 0; box-shadow: none; font: inherit; color: var(--ink); text-align: left; cursor: pointer; transition: color .15s; }
.incl__list--clean .incl__btn:hover, .incl__list--clean .incl__btn.is-active { color: var(--red); background: none; transform: none; border: 0; box-shadow: none; }
.incl__list--clean .incl__btn .idx { width: auto; height: auto; min-width: 26px; background: none; border-radius: 0; display: inline; font-family: var(--font-display); font-size: .75rem; font-weight: 800; color: var(--muted); letter-spacing: .04em; margin: 0; }
.incl__list--clean .incl__btn.is-active .idx { color: var(--red); background: none; }
.incl__list--clean .incl__btn .incl__t { font-weight: 600; font-size: 1rem; }
@media (max-width: 860px) {
  .incl__list--clean { grid-template-columns: 1fr 1fr; gap: 0 20px; padding: 0; margin: 0; width: auto; overflow: visible; display: grid; }
  .incl__list--clean li { flex: none; }
  .incl__list--clean .incl__btn { padding: 11px 0; white-space: normal; }
  .incl__list--clean .incl__btn .incl__t { font-size: .9375rem; }
}

/* ============================================================
   "What's in the box": nine uniform component tiles + fixed-price bar
   ============================================================ */
.kit { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.kit__tile { margin: 0; background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-lg); overflow: hidden; display: flex; flex-direction: column; transition: transform .25s var(--ease), box-shadow .25s; }
.kit__tile:hover { transform: translateY(-3px); box-shadow: var(--sh-md); }
.kit__ph { display: block; aspect-ratio: 4 / 3; background: #fff; padding: 10%; }
.kit__ph img { width: 100%; height: 100%; object-fit: contain; display: block; }
.kit__tile figcaption { display: flex; align-items: baseline; gap: 10px; padding: 12px 16px 14px; border-top: 1px solid var(--line); font-weight: 700; font-size: .9375rem; }
.kit__tile figcaption .idx { font-family: var(--font-display); font-size: .75rem; font-weight: 800; color: var(--red); letter-spacing: .04em; }
.kit__bar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; margin-top: 16px; padding: 14px 18px; border-radius: var(--r-md); background: var(--ink-2); color: var(--on-dark); }
.kit__bar-k { font-size: .75rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; padding: 5px 10px; border-radius: var(--pill); background: var(--red); color: #fff; }
.kit__bar-t { font-size: .9375rem; color: rgba(246,242,236,.85); }
@media (max-width: 900px) { .kit { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } .kit__tile figcaption { padding: 10px 12px 12px; font-size: .875rem; } }
@media (max-width: 480px) { .kit { grid-template-columns: repeat(2, minmax(0, 1fr)); } .kit__ph { padding: 8%; } }
.kit__ph { aspect-ratio: auto; height: clamp(180px, 17vw, 240px); box-sizing: border-box; padding: 18px; display: grid; place-items: center; }
.kit__ph img { width: 100%; height: 100%; max-height: 100%; object-fit: contain; }
.kit__tile figcaption { min-height: 0; }
@media (max-width: 900px) { .kit__ph { height: 160px; padding: 12px; } }
@media (max-width: 480px) { .kit__ph { height: 130px; padding: 10px; } }
.kit__ph { overflow: hidden; }
.kit__ph img { width: auto; height: auto; max-width: 100%; max-height: 100%; object-fit: contain; }
.kit__ph { display: flex; align-items: center; justify-content: center; }
.kit__ph img { height: 100%; width: auto; max-width: 100%; object-fit: contain; }
/* included positions: compact strip */
.kit { grid-template-columns: repeat(9, minmax(0, 1fr)); gap: 8px; }
.kit__tile { border-radius: 12px; }
.kit__tile:hover { transform: none; box-shadow: none; border-color: var(--line-2); }
.kit__ph { height: 84px; padding: 10px; }
.kit__tile figcaption { flex-direction: column; align-items: flex-start; gap: 2px; padding: 8px 10px 10px; font-size: .75rem; line-height: 1.25; }
.kit__tile figcaption .idx { font-size: .625rem; }
.kit__bar { margin-top: 12px; padding: 10px 14px; gap: 8px 14px; }
.kit__bar-t { font-size: .875rem; }
@media (max-width: 1100px) { .kit { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
@media (max-width: 900px) { .kit { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; } .kit__ph { height: 76px; } .kit__tile figcaption { padding: 6px 8px 8px; font-size: .75rem; } }
@media (max-width: 480px) { .kit { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; } .kit__ph { height: 64px; padding: 8px; } .kit__tile figcaption { font-size: .6875rem; } }
/* inclgrid restored: small uniform squares with consistent renders */
.inclgrid { display: grid; grid-template-columns: repeat(9, minmax(0, 1fr)); gap: 12px; }
.inclgrid figure, .inclgrid figure.is-cut { background: #fff; border: 1px solid var(--line); box-shadow: none; }
.inclgrid figure.is-cut img { object-fit: contain; padding: 12px; background: #fff; aspect-ratio: 1; }
.inclgrid figcaption { font-size: .8125rem; }
@media (max-width: 1100px) { .inclgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; } }
.hero-c__brands .brand--c { cursor: pointer; opacity: 1; }
.hero__flash--link { text-decoration: none; cursor: pointer; } .hero__flash--link:hover { filter: brightness(1.08); }
/* Aktion LP: Modellrechnung table as a plain media column (no dark box, no forced height) */
.feature .feature__media--calc { background: none; box-shadow: none; border-radius: 0; overflow: visible; aspect-ratio: auto; min-height: 0; height: auto; align-self: start; }
.feature .feature__media--calc .cmp { min-width: 0; }
.feature .feature__media--calc .cmp th, .feature__media--calc .cmp td { padding: 14px 16px; font-size: .9375rem; }
.feature .feature__media--calc .cmp thead th { font-size: .875rem; }
.feature .feature__media--calc .pk-note { margin-top: 14px; }
@media (max-width: 640px) {
  .feature .feature__media--calc .cmp { table-layout: fixed; }
  .feature .feature__media--calc .cmp th, .feature__media--calc .cmp td { padding: 12px 8px; font-size: .78rem; overflow-wrap: normal; hyphens: auto; }
  .feature .feature__media--calc .cmp th:first-child { width: 36%; }
  .feature .feature__media--calc .cmp .save td { font-size: 1rem; }
}
/* a11y: visible focus on the programmatically focused step question */
.leadform__q:focus-visible { outline: 2px solid var(--red) !important; outline-offset: 6px; border-radius: 4px; }
.lf-gdpr a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
/* ===== Aktion LP v2 ===== */
.hero-pick--offer { width: min(400px, 100%); }
.offer-rows { list-style: none; margin: 10px 0 14px; padding: 0; display: grid; gap: 0; }
.offer-rows li { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--line-2); font-size: .9375rem; color: var(--muted); }
.offer-rows li b { font-family: var(--font-display); font-size: 1.0625rem; color: var(--ink); white-space: nowrap; font-variant-numeric: tabular-nums; }
.offer-rows li b.is-red { color: var(--red); } .offer-rows li b.is-green { color: var(--green); }
.offer-rows li.is-total { border-bottom: 0; padding-top: 12px; color: var(--ink); font-weight: 600; }
.offer-rows li.is-total b { font-size: 1.5rem; letter-spacing: -.02em; }
.btn--block { display: flex; width: 100%; justify-content: center; }
.hero-pick--offer .hero-pick__foot { margin-top: 10px; }
.sec-head--row { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.refgrid--lp .refcard__ph { aspect-ratio: 4 / 3; }
.tst-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.tst { margin: 0; background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 24px 24px 22px; display: flex; flex-direction: column; gap: 12px; box-shadow: var(--sh-sm); }
.tst__stars { color: var(--red); letter-spacing: .1em; font-size: .9rem; }
.tst blockquote { margin: 0; font-size: 1.0625rem; line-height: 1.5; color: var(--ink); }
.tst figcaption { margin-top: auto; display: flex; flex-direction: column; gap: 2px; font-size: .875rem; color: var(--muted); padding-top: 12px; border-top: 1px solid var(--line); }
.tst figcaption b { color: var(--ink); font-family: var(--font-display); }
.tst-note { margin: 16px 0 0; font-size: .8125rem; color: var(--muted); }
.urgency { display: grid; grid-template-columns: 1.05fr 1fr; background: var(--ink-2); color: var(--on-dark); border-radius: var(--r-xl); overflow: hidden; min-height: 480px; }
.urgency__ph { position: relative; min-height: 320px; }
.urgency__ph img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.urgency__body { padding: clamp(32px, 4vw, 56px); display: flex; flex-direction: column; justify-content: center; gap: 18px; }
.urgency__body h2 { font-size: clamp(1.6rem, 2.6vw, 2.25rem); line-height: 1.12; letter-spacing: -.02em; margin: 0; }
.urgency__body h2 .hl { color: var(--red-soft, #ff8a8e); }
.urgency__body p { margin: 0; color: rgba(255,255,255,.78); font-size: 1.0625rem; max-width: 52ch; }
.urgency .countdown { align-self: flex-start; }
.urgency__cta { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; margin-top: 4px; }
.urgency__note { font-size: .875rem; color: rgba(255,255,255,.7); }
@media (max-width: 1000px) { .tst-grid { grid-template-columns: 1fr; } .urgency { grid-template-columns: 1fr; } .urgency__ph { min-height: 260px; } }
@media (max-width: 640px) { .hero-pick--offer { width: 100%; } .offer-rows li.is-total b { font-size: 1.3rem; } }
.urgency__body h2 .hl { background: none; box-shadow: none; padding: 0; color: #ff8a8e; text-decoration: underline; text-decoration-color: rgba(255,138,142,.5); text-underline-offset: .12em; text-decoration-thickness: 3px; }
.urgency__body h2, .urgency__body .eyebrow.on-dark { color: #fff; }
/* ===== Aktion LP v3 ===== */
.lp-hero { position: relative; min-height: min(calc(100svh - 118px), 820px); display: flex; align-items: center; overflow: hidden; background: var(--ink-2); }
.lp-hero__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 68% 50%; }
.lp-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(10,8,6,.45) 0%, rgba(10,8,6,.15) 45%, rgba(10,8,6,0) 70%); }
.lp-hero__wrap { position: relative; z-index: 1; padding-block: clamp(32px, 6vh, 64px); display: flex; flex-direction: column; gap: 22px; align-items: flex-start; }
.lp-hero__card { background: var(--red); color: #fff; border-radius: 22px; padding: clamp(26px, 3.2vw, 40px); width: min(560px, 100%); box-shadow: 0 30px 70px rgba(0,0,0,.35); }
.lp-hero__eyebrow { display: inline-flex; align-items: center; gap: 8px; font-size: .75rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; background: rgba(0,0,0,.22); padding: 6px 12px 6px 10px; border-radius: var(--pill); }
.pulse--light { background: #fff; }
.lp-hero__card h1 { font-size: clamp(1.9rem, 3.3vw, 2.9rem); line-height: 1.06; letter-spacing: -.025em; margin: 16px 0 18px; color: #fff; text-wrap: balance; }
.lp-hero__plus { display: inline-block; background: #fff; color: var(--red); padding: .04em .22em; border-radius: 8px; margin: .12em 0; }
.lp-hero__chk { list-style: none; margin: 0 0 22px; padding: 0; display: grid; gap: 8px; }
.lp-hero__chk li { display: flex; gap: 10px; align-items: flex-start; font-size: .9875rem; line-height: 1.4; }
.lp-hero__chk svg { width: 18px; height: 18px; flex: 0 0 auto; margin-top: 2px; }
.lp-hero__cta { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.btn--white { background: #fff; color: var(--red); border-color: #fff; }
.btn--white:hover { background: #fff; color: var(--ink); transform: translateY(-1px); }
.lp-hero__count { font-size: .875rem; opacity: .9; } .lp-hero__count b { font-size: 1.1rem; }
.lp-hero__foot { margin: 14px 0 0; font-size: .8125rem; opacity: .8; }
.lp-hero__trust { display: flex; flex-wrap: wrap; gap: 8px 26px; color: #fff; font-size: .9375rem; text-shadow: 0 1px 12px rgba(0,0,0,.6); }
.lp-hero__trust b { font-family: var(--font-display); font-weight: 800; } .lp-hero__trust .stars { color: #ffb400; letter-spacing: 1px; }
.qs { background: var(--bg); border-bottom: 1px solid var(--line); }
.qs__grid { display: grid; grid-template-columns: 1.5fr 1fr; gap: clamp(28px, 5vw, 72px); align-items: center; }
.qs__main .lead { margin-top: 10px; }
.qs__tiles { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; margin-top: 22px; }
.qs__tile { display: flex; flex-direction: column; align-items: center; gap: 12px; padding: 22px 12px 18px; background: var(--paper); border: 1.5px solid var(--line-2); border-radius: 16px; color: var(--ink); text-decoration: none; font-weight: 600; font-size: .9375rem; text-align: center; transition: border-color .2s, transform .2s, box-shadow .2s; }
.qs__tile svg { width: 44px; height: 44px; color: var(--red); }
.qs__tile:hover { border-color: var(--red); transform: translateY(-3px); box-shadow: var(--sh-md); }
.qs__side { display: grid; gap: 16px; justify-items: start; }
.qs__rating { display: flex; align-items: center; gap: 10px; font-size: .9375rem; color: var(--muted); }
.qs__rating .stars { color: #ffb400; letter-spacing: 1px; font-size: 1.15rem; } .qs__rating b { font-family: var(--font-display); font-size: 1.35rem; color: var(--ink); }
.qs__brands { display: flex; align-items: center; gap: 18px; font-size: .8125rem; color: var(--muted); flex-wrap: wrap; }
.qs__brands img { height: 16px; width: auto; opacity: .8; }
.qs__note { margin: 0; font-size: .8125rem; color: var(--muted); }
.ladder-grid { display: grid; grid-template-columns: 1fr 1.1fr; gap: clamp(32px, 6vw, 88px); align-items: center; }
.ladder-grid .lead { margin: 14px 0 22px; }
.checklist--lp { display: grid; gap: 10px; margin: 0 0 26px; }
.checklist--lp li { display: flex; gap: 10px; align-items: flex-start; font-size: .9875rem; line-height: 1.45; padding: 0; border: 0; }
.checklist--lp svg { width: 18px; height: 18px; color: var(--red); flex: 0 0 auto; margin-top: 3px; }
.ladder { background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-xl); padding: clamp(22px, 3vw, 36px); box-shadow: var(--sh-md); }
.ladder__toggle { display: inline-flex; padding: 4px; border-radius: var(--pill); background: var(--stone); margin-bottom: 22px; }
.ladder__toggle button { border: 0; background: transparent; padding: 8px 14px; border-radius: var(--pill); font: inherit; font-weight: 600; font-size: .875rem; color: var(--muted); cursor: pointer; }
.ladder__toggle button.is-active { background: var(--ink); color: #fff; }
.ladder__rows { display: grid; gap: 16px; }
.ladder__row { display: grid; grid-template-columns: 150px 1fr auto; align-items: center; gap: 14px; font-size: .9375rem; color: var(--muted); }
.ladder__bar { position: relative; height: 22px; border-radius: 6px; background: var(--stone); overflow: hidden; }
.ladder__bar i { position: absolute; left: 0; top: 0; bottom: 0; width: var(--w); border-radius: 6px; background: var(--ink); transition: width .6s cubic-bezier(.2,.8,.2,1); }
.ladder__row.is-red .ladder__bar i { background: var(--red); }
.ladder__row.is-total .ladder__bar i { background: var(--green); }
.ladder__val { font-family: var(--font-display); font-weight: 800; color: var(--ink); white-space: nowrap; font-variant-numeric: tabular-nums; min-width: 96px; text-align: right; }
.ladder__row.is-red .ladder__val { color: var(--red); }
.ladder__row.is-total { padding-top: 14px; border-top: 1px solid var(--line); color: var(--ink); font-weight: 600; }
.ladder__row.is-total .ladder__val { font-size: 1.6rem; color: var(--green); letter-spacing: -.02em; }
.ladder__note { margin: 18px 0 0; font-size: .8125rem; color: var(--muted); }
.offers--lp .offer { grid-row: span 6; }
.offer__ph { margin: 0; display: grid; place-items: center; height: 150px; background: radial-gradient(60% 60% at 50% 60%, rgba(0,0,0,.06), transparent); }
.offer__ph img { max-height: 130px; width: auto; max-width: 80%; object-fit: contain; filter: drop-shadow(0 14px 18px rgba(20,15,8,.18)); }
.frows { display: grid; gap: clamp(36px, 6vw, 80px); }
.frow { display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(28px, 5vw, 72px); align-items: center; }
.frow--rev .frow__ph { order: 2; }
.frow__ph { position: relative; aspect-ratio: 4 / 3; border-radius: var(--r-xl); overflow: visible; }
.frow__ph img { width: 100%; height: 100%; object-fit: cover; border-radius: var(--r-xl); box-shadow: var(--sh-md); display: block; }
.frow--prod .frow__ph { background: var(--stone); border-radius: var(--r-xl); display: grid; place-items: center; }
.frow--prod .frow__ph img { height: 82%; width: auto; object-fit: contain; box-shadow: none; border-radius: 0; filter: drop-shadow(0 24px 30px rgba(20,15,8,.22)); }
.frow__badge { position: absolute; top: -18px; right: -14px; width: 108px; height: 108px; border-radius: 50%; background: var(--red); color: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; box-shadow: 0 14px 30px rgba(200,22,29,.35); transform: rotate(6deg); }
.frow__badge b { font-family: var(--font-display); font-size: 1.25rem; line-height: 1; letter-spacing: -.02em; } .frow__badge small { font-size: .6875rem; margin-top: 3px; opacity: .92; }
.frow--rev .frow__badge { right: auto; left: -14px; transform: rotate(-6deg); }
.frow__body h3 { font-size: clamp(1.35rem, 2vw, 1.75rem); line-height: 1.15; letter-spacing: -.02em; margin: 0 0 14px; text-wrap: balance; }
.frow__body p { color: var(--muted); font-size: 1.0625rem; margin: 0 0 18px; }
.frow__body .checklist--lp { margin: 0; }
.qcards { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 20px; }
.qcard { margin: 0; background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-lg); overflow: hidden; display: flex; flex-direction: column; box-shadow: var(--sh-sm); }
.qcard__ph { display: block; aspect-ratio: 16 / 10; overflow: hidden; } .qcard__ph img { width: 100%; height: 100%; object-fit: cover; display: block; }
.qcard__body { padding: 20px 22px 20px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.qcard .stars { color: #ffb400; letter-spacing: 1px; font-size: .9rem; }
.qcard blockquote { margin: 0; font-size: 1rem; line-height: 1.5; color: var(--ink); }
.qcard figcaption { margin-top: auto; padding-top: 12px; border-top: 1px solid var(--line); display: flex; flex-direction: column; font-size: .875rem; color: var(--muted); }
.qcard figcaption b { color: var(--ink); font-family: var(--font-display); }
@media (max-width: 1000px) { .qs__grid, .ladder-grid, .frow { grid-template-columns: 1fr; } .frow--rev .frow__ph { order: 0; } .qcards { grid-template-columns: 1fr; } .qs__tiles { grid-template-columns: repeat(2, 1fr); } .lp-hero::after { background: linear-gradient(180deg, rgba(10,8,6,.2), rgba(10,8,6,.55)); } .lp-hero__bg { object-position: 62% 50%; } .frow__badge { width: 92px; height: 92px; top: -12px; right: 8px; } .frow--rev .frow__badge { left: 8px; } }
@media (max-width: 640px) { .lp-hero { min-height: 0; } .lp-hero__card { padding: 22px 20px; border-radius: 18px; } .lp-hero__card h1 { font-size: 1.75rem; } .ladder__row { grid-template-columns: 1fr auto; } .ladder__row .ladder__bar { grid-column: 1 / -1; order: 3; } .ladder__val { min-width: 0; } .ladder { padding: 18px; } .qs__tiles { gap: 8px; } .qs__tile { padding: 16px 8px 14px; font-size: .875rem; } .qs__tile svg { width: 36px; height: 36px; } }
.lp-hero__card { width: min(500px, 100%); padding: clamp(24px, 2.6vw, 34px); }
.lp-hero__card h1 { font-size: clamp(1.85rem, 3vw, 2.55rem); }
.lp-hero__bg { object-position: 78% 50%; }
@media (min-width: 1500px) { .lp-hero__bg { object-position: 50% 50%; } }
/* reviews: rating row with partial stars, text is the focus */
.qcard__rate { display: flex; align-items: center; gap: 8px; font-size: .875rem; color: var(--muted); }
.qcard__rate b { color: var(--ink); font-family: var(--font-display); font-size: .9375rem; }
.qcard__since { margin-left: auto; font-size: .75rem; padding: 3px 8px; border-radius: var(--pill); background: var(--stone); color: var(--muted); white-space: nowrap; }
.starbar { position: relative; display: inline-block; font-size: 1rem; line-height: 1; letter-spacing: 1px; color: var(--line); }
.starbar i { position: absolute; left: 0; top: 0; width: var(--p); overflow: hidden; white-space: nowrap; color: #ffb400; font-style: normal; }
.qcard blockquote { font-size: 1.0625rem; line-height: 1.55; }
.starbar::before { content: "★★★★★"; }
/* LP hero with the 3-option pick card */
.lp-hero__wrap--pick { display: grid; grid-template-columns: minmax(0, 500px) 1fr auto; grid-template-areas: "card gap pick" "trust trust trust"; align-items: center; column-gap: 24px; row-gap: 22px; }
.lp-hero__wrap--pick .lp-hero__card { grid-area: card; }
.lp-hero__wrap--pick .lp-hero__trust { grid-area: trust; }
.lp-hero .hero-pick--lp { grid-area: pick; position: static; transform: none; width: 400px; border-radius: 22px; padding: 22px 22px 18px; box-shadow: 0 30px 60px rgba(0,0,0,.35), 0 0 0 1px rgba(255,255,255,.4); }
.lp-hero__bg { object-position: 50% 50%; }
.lp-hero::after { background: linear-gradient(90deg, rgba(10,8,6,.5) 0%, rgba(10,8,6,.12) 40%, rgba(10,8,6,0) 60%, rgba(10,8,6,.25) 100%); }
.proofbar { background: var(--bg); border-bottom: 1px solid var(--line); }
.proofbar__inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 28px; padding-block: 18px; font-size: .9375rem; color: var(--muted); }
.proofbar__item { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }
.proofbar__item b { font-family: var(--font-display); font-weight: 800; color: var(--ink); font-size: 1.0625rem; }
.proofbar .stars { color: #ffb400; letter-spacing: 1px; font-size: 1rem; }
.proofbar__brands img { height: 15px; width: auto; opacity: .85; }
.proofbar__kfw { font-size: .8125rem; white-space: normal; }
@media (max-width: 1180px) { .lp-hero__wrap--pick { grid-template-columns: minmax(0, 460px) 1fr auto; column-gap: 16px; } .lp-hero .hero-pick--lp { width: 340px; padding: 18px 18px 14px; } }
@media (max-width: 1000px) { .lp-hero__wrap--pick { grid-template-columns: 1fr; grid-template-areas: "card" "pick" "trust"; } .lp-hero .hero-pick--lp { width: min(500px, 100%); } .proofbar__inner { justify-content: flex-start; } .proofbar__kfw { flex-basis: 100%; } }
.offer__ph--photo { height: auto; aspect-ratio: 16 / 9; background: var(--stone); overflow: hidden; }
.offer__ph--photo img { width: 100%; height: 100%; max-height: none; max-width: none; object-fit: cover; filter: none; display: block; }
.lp-hero__wrap--pick { grid-template-columns: minmax(0, 470px) 1fr auto; }
.lp-hero .hero-pick--lp { width: 372px; }
.lp-hero__card { padding: clamp(22px, 2.4vw, 30px); }
@media (max-width: 1000px) { .lp-hero::after { background: linear-gradient(180deg, rgba(10,8,6,.35), rgba(10,8,6,.6)); } }
/* ===== LP v4: compact hero, quick-start v2, price cards ===== */
.lp-hero { min-height: 0; }
.lp-hero__wrap { padding-block: 34px 30px; }
.lp-hero__wrap--pick { grid-template-areas: "card gap pick"; row-gap: 0; }
.lp-hero__card h1 { font-size: clamp(1.7rem, 2.5vw, 2.2rem); margin: 12px 0 14px; }
.lp-hero__chk { margin-bottom: 18px; gap: 6px; } .lp-hero__chk li { font-size: .9375rem; }
.lp-hero__card { padding: 24px 26px 22px; }
.lp-hero .hero-pick--lp { padding: 18px 18px 14px; }
.lp-hero .hero-pick--lp .hero-pick__head h2 { font-size: 1.2rem; } .lp-hero .hero-pick--lp .hero-pick__head p { display: none; }
.lp-hero .hero-pick--lp .hero-pick__opt { padding: 7px 10px 7px 7px; } .lp-hero .hero-pick--lp .hero-pick__ph { width: 58px; height: 46px; }
.qs { background: var(--bg); border-bottom: 1px solid var(--line); padding-block: 28px 30px; }
.qs__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; flex-wrap: wrap; margin-bottom: 18px; }
.qs__head .h2 { font-size: clamp(1.35rem, 2vw, 1.75rem); margin: 6px 0 4px; } .qs__head p { margin: 0; color: var(--muted); }
.qs__step { display: inline-flex; align-items: center; gap: 8px; font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--red); }
.qs__step i { width: 64px; height: 6px; border-radius: 3px; background: var(--stone); position: relative; overflow: hidden; }
.qs__step i::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 20%; background: var(--red); border-radius: 3px; }
.qs__proof { display: flex; flex-wrap: wrap; gap: 8px 20px; font-size: .875rem; color: var(--muted); align-items: center; }
.qs__proof b { color: var(--ink); font-family: var(--font-display); } .qs__proof .stars { color: #ffb400; letter-spacing: 1px; margin-right: 4px; }
.qs__brands { display: inline-flex; align-items: center; gap: 12px; } .qs__brands img { height: 13px; width: auto; opacity: .85; }
.qs__tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 0; }
.qs__tile { display: flex; align-items: center; gap: 12px; padding: 8px 12px 8px 8px; background: var(--paper); border: 1.5px solid var(--line-2); border-radius: 16px; color: var(--ink); text-decoration: none; transition: border-color .2s, transform .2s, box-shadow .2s; box-shadow: var(--sh-sm); }
.qs__ph { width: 84px; height: 66px; border-radius: 11px; overflow: hidden; flex: 0 0 auto; background: var(--stone); } .qs__ph img { width: 100%; height: 100%; object-fit: cover; display: block; }
.qs__txt { display: flex; flex-direction: column; gap: 2px; min-width: 0; } .qs__txt b { font-family: var(--font-display); font-weight: 700; font-size: 1rem; } .qs__txt small { font-size: .8125rem; color: var(--muted); }
.qs__arr { margin-left: auto; width: 34px; height: 34px; border-radius: 50%; background: var(--stone); color: var(--red); display: grid; place-items: center; flex: 0 0 auto; transition: background .2s, color .2s, transform .2s; }
.qs__tile:hover, .qs__tile:focus-visible { border-color: var(--red); transform: translateY(-3px); box-shadow: var(--sh-md); outline: none; }
.qs__tile:hover .qs__arr { background: var(--red); color: #fff; transform: translateX(3px); }
.pcards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; align-items: stretch; }
.pcard { display: flex; flex-direction: column; background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-xl); padding: 22px 22px 22px; box-shadow: var(--sh-sm); position: relative; }
.pcard.is-pop { border: 2px solid var(--red); box-shadow: 0 24px 50px rgba(200,22,29,.14); }
.pcard.is-best { border-color: var(--green); }
.pcard__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; margin-bottom: 14px; }
.pcard__name { display: block; font-family: var(--font-display); font-weight: 800; font-size: 1.375rem; letter-spacing: -.02em; }
.pcard__fit { display: block; font-size: .875rem; color: var(--muted); margin-top: 2px; }
.pcard__tag { flex: 0 0 auto; font-size: .6875rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; padding: 6px 10px; border-radius: var(--pill); background: var(--red); color: #fff; }
.pcard.is-best .pcard__tag { background: var(--green); }
.pcard__ph { margin: 0 0 14px; position: relative; aspect-ratio: 16 / 9; border-radius: 14px; overflow: hidden; background: var(--stone); }
.pcard__ph img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pcard__kw { position: absolute; left: 10px; bottom: 10px; font-size: .75rem; font-weight: 700; padding: 5px 9px; border-radius: var(--pill); background: rgba(255,255,255,.92); color: var(--ink); }
.pcard__list { list-style: none; margin: 0 0 16px; padding: 0; display: grid; gap: 8px; }
.pcard__list li { display: flex; gap: 9px; align-items: flex-start; font-size: .9375rem; line-height: 1.4; }
.pcard__list svg { width: 16px; height: 16px; color: var(--green); flex: 0 0 auto; margin-top: 3px; }
.pcard__ledger { margin-top: auto; display: grid; gap: 6px; padding: 12px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); font-size: .875rem; color: var(--muted); }
.pcard__ledger > div { display: flex; justify-content: space-between; gap: 10px; }
.pcard__ledger s { color: var(--muted); } .pcard__ledger b { font-weight: 700; } .pcard__ledger .is-red b { color: var(--red); }
.pcard__price { display: grid; gap: 2px; padding: 14px 0 16px; }
.pcard__price span { font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--green); }
.pcard__price b { font-family: var(--font-display); font-weight: 800; font-size: 2rem; letter-spacing: -.03em; line-height: 1.05; font-variant-numeric: tabular-nums; }
.pcard__price b sup { font-size: .5em; font-weight: 600; margin-left: 2px; }
.pcard__price em { font-style: normal; font-size: .8125rem; color: var(--green); font-weight: 600; }
@media (max-width: 1000px) { .qs__tiles { grid-template-columns: repeat(2, 1fr); } .pcards { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .qs__tiles { grid-template-columns: 1fr; gap: 8px; } .qs__ph { width: 70px; height: 56px; } .lp-hero__card h1 { font-size: 1.65rem; } }
.qs__tile { flex-direction: row; text-align: left; font-weight: 600; }
.qs { padding-block: 24px 26px; } .qs__head { margin-bottom: 14px; }
.lp-hero__wrap { padding-block: 26px 24px; }
.lp-hero__bg { object-position: 50% 62%; }
.pcard__top { min-height: 62px; align-items: flex-start; }
.pcard__fit { min-height: 2.5em; }
.qs__txt b { font-size: .9375rem; line-height: 1.2; }
@media (max-width: 1000px) { .lp-hero__wrap--pick { grid-template-columns: 1fr; grid-template-areas: "card" "pick"; row-gap: 14px; } .lp-hero__wrap { padding-block: 22px 24px; } }
/* LP hero v5: offer card only, photo carries the unit + house on the right; height tuned so step 1 stays above the fold */
.lp-hero { min-height: clamp(420px, calc(100svh - 400px), 520px); }
.lp-hero__wrap--solo { display: flex; align-items: center; padding-block: 24px; }
.lp-hero__wrap--solo .lp-hero__card { width: min(480px, 100%); }
.lp-hero__bg { object-position: 60% 62%; }
.lp-hero::after { background: linear-gradient(90deg, rgba(10,8,6,.5) 0%, rgba(10,8,6,.15) 38%, rgba(10,8,6,0) 55%); }
@media (max-width: 1000px) { .lp-hero { min-height: 0; } .lp-hero__bg { object-position: 62% 50%; } }
.lp-hero__wrap--solo { flex-direction: row; justify-content: flex-start; align-items: center; }
@media (max-height: 820px) and (min-width: 1001px) { .lp-hero__wrap--solo { padding-block: 16px; } .qs { padding-block: 16px 18px; } .qs__head { margin-bottom: 10px; } .qs__head p { display: none; } }
@media (min-width: 1001px) { .lp-hero__bg { object-position: 60% 80%; } }
/* ===== LP hero v6: light split hero ===== */
.hero2 { background: var(--paper); border-bottom: 1px solid var(--line); }
.hero2__grid { display: grid; grid-template-columns: 1.05fr 1fr; gap: clamp(28px, 4vw, 64px); align-items: center; padding-block: clamp(28px, 4vh, 44px); }
.hero2__eyebrow { display: inline-flex; align-items: center; gap: 8px; font-size: .75rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--red); background: var(--red-soft); padding: 6px 12px 6px 10px; border-radius: var(--pill); }
.hero2__copy h1 { font-size: clamp(1.9rem, 3.1vw, 2.75rem); line-height: 1.08; letter-spacing: -.025em; margin: 16px 0 14px; text-wrap: balance; }
.hero2__copy h1 .hl { background: linear-gradient(transparent 62%, var(--red-soft) 62%); box-decoration-break: clone; -webkit-box-decoration-break: clone; padding: 0 .08em; color: var(--red); }
.hero2__copy .lead { margin: 0 0 16px; max-width: 54ch; }
.hero2__chk { list-style: none; margin: 0 0 22px; padding: 0; display: grid; gap: 7px; }
.hero2__chk li { display: flex; gap: 10px; align-items: flex-start; font-size: .9875rem; line-height: 1.4; }
.hero2__chk svg { width: 18px; height: 18px; color: var(--red); flex: 0 0 auto; margin-top: 2px; }
.hero2__cta { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.hero2__count { display: inline-flex; align-items: center; gap: 8px; font-size: .875rem; color: var(--muted); padding: 8px 12px; border: 1px solid var(--line); border-radius: var(--pill); background: var(--bg); }
.hero2__count b { color: var(--ink); font-family: var(--font-display); font-size: 1rem; }
.hero2__trust { display: flex; flex-wrap: wrap; gap: 8px 22px; margin-top: 18px; font-size: .875rem; color: var(--muted); }
.hero2__trust b { color: var(--ink); font-family: var(--font-display); font-weight: 800; } .hero2__trust .stars { color: #ffb400; letter-spacing: 1px; margin-right: 6px; }
.hero2__media { position: relative; aspect-ratio: 4 / 3; border-radius: 24px; overflow: visible; }
.hero2__media > img { width: 100%; height: 100%; object-fit: cover; border-radius: 24px; box-shadow: var(--sh-md); display: block; }
.hero2__sticker { position: absolute; top: -16px; left: -16px; width: 116px; height: 116px; border-radius: 50%; background: var(--red); color: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; transform: rotate(-8deg); box-shadow: 0 16px 32px rgba(200,22,29,.35); }
.hero2__sticker b { font-family: var(--font-display); font-size: 1.45rem; line-height: 1; letter-spacing: -.02em; } .hero2__sticker small { font-size: .6875rem; margin-top: 4px; opacity: .92; }
.hero2__chip { position: absolute; left: 18px; bottom: 18px; display: inline-flex; align-items: center; gap: 10px; padding: 8px 12px; border-radius: var(--pill); background: rgba(255,255,255,.94); color: var(--ink); font-size: .8125rem; font-weight: 600; box-shadow: var(--sh-sm); }
.hero2__chip img { height: 12px; width: auto; }
.qs { background: var(--bg); }
@media (max-height: 820px) and (min-width: 1001px) { .hero2__grid { padding-block: 20px; } .hero2__copy .lead { display: none; } .hero2__copy h1 { font-size: clamp(1.8rem, 2.6vw, 2.3rem); margin: 12px 0 12px; } .hero2__media { aspect-ratio: 5 / 3.6; } }
@media (max-width: 1000px) { .hero2__grid { grid-template-columns: 1fr; } .hero2__media { order: -1; aspect-ratio: 16 / 10; } .hero2__sticker { left: auto; right: -6px; top: -12px; width: 96px; height: 96px; } .hero2__sticker b { font-size: 1.2rem; } }
@media (max-width: 640px) { .hero2__copy h1 { font-size: 1.75rem; } .hero2__media { border-radius: 18px; } .hero2__media > img { border-radius: 18px; } }
.hero2__grid { padding-block: 24px 26px; gap: clamp(28px, 4vw, 56px); grid-template-columns: 1.1fr 1fr; }
.hero2__copy h1 { font-size: clamp(1.8rem, 2.7vw, 2.4rem); margin: 12px 0 10px; }
.hero2__copy .lead { font-size: 1.0625rem; margin-bottom: 12px; }
.hero2__chk { margin-bottom: 18px; gap: 6px; }
.hero2__trust { margin-top: 14px; }
.hero2__media { aspect-ratio: 3 / 2; }
.hero2__chip { max-width: calc(100% - 36px); white-space: nowrap; }
.qs { padding-block: 20px 24px; } .qs__head { margin-bottom: 12px; }
@media (max-width: 1000px) { .hero2__grid { grid-template-columns: 1fr; gap: 20px; padding-block: 18px 24px; } .hero2__media { order: -1; aspect-ratio: 16 / 10; } }
/* LP hero v6 dark: blurred photo backdrop, white copy */
.hero2--dark { position: relative; background: var(--ink-2); color: #fff; border-bottom: 0; overflow: hidden; isolation: isolate; }
.hero2__bg { position: absolute; inset: -6%; width: 112%; height: 112%; object-fit: cover; object-position: 50% 40%; filter: blur(34px) saturate(1.1) brightness(.42); z-index: -2; }
.hero2--dark::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(12,10,8,.78) 0%, rgba(12,10,8,.55) 50%, rgba(12,10,8,.35) 100%); }
.hero2--dark .hero2__copy h1 { color: #fff; }
.hero2--dark .hero2__copy h1 .hl { background: none; padding: 0; color: #ff8a8e; }
.hero2--dark .hero2__eyebrow { background: var(--red); color: #fff; }
.hero2--dark .hero2__copy .lead { color: rgba(255,255,255,.8); }
.hero2--dark .hero2__chk li { color: rgba(255,255,255,.92); } .hero2--dark .hero2__chk svg { color: #ff8a8e; }
.hero2--dark .hero2__count { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.18); color: rgba(255,255,255,.8); } .hero2--dark .hero2__count b { color: #fff; }
.hero2--dark .hero2__trust { color: rgba(255,255,255,.72); } .hero2--dark .hero2__trust b { color: #fff; }
.hero2--dark .hero2__media > img { box-shadow: 0 30px 70px rgba(0,0,0,.5), 0 0 0 1px rgba(255,255,255,.12); }
.hero2--dark .hero2__chip { background: rgba(255,255,255,.96); }
/* ===== step-1 quick start v2: one compact row, icon tiles ===== */
.qs2 { background: var(--bg); border-bottom: 1px solid var(--line); }
.qs2__row { display: grid; grid-template-columns: minmax(240px, 300px) 1fr; gap: clamp(20px, 3vw, 40px); align-items: center; padding-block: 18px 20px; }
.qs2__head h2 { font-size: 1.2rem; line-height: 1.25; letter-spacing: -.015em; margin: 8px 0 4px; }
.qs2__head p { margin: 0; color: var(--muted); font-size: .9375rem; }
.qs2__tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.qs2__tile { display: flex; align-items: center; gap: 12px; padding: 12px 12px 12px 12px; background: var(--paper); border: 1.5px solid var(--line-2); border-radius: 16px; color: var(--ink); text-decoration: none; box-shadow: var(--sh-sm); transition: border-color .18s, transform .18s, box-shadow .18s, background .18s; min-height: 76px; }
.qs2__ic { width: 46px; height: 46px; border-radius: 12px; background: var(--red-soft); color: var(--red); display: grid; place-items: center; flex: 0 0 auto; transition: background .18s, color .18s; }
.qs2__ic svg { width: 26px; height: 26px; }
.qs2__txt { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.qs2__txt b { font-family: var(--font-display); font-weight: 700; font-size: .9375rem; line-height: 1.2; }
.qs2__txt small { font-size: .78rem; color: var(--muted); line-height: 1.25; }
.qs2__arr { margin-left: auto; width: 30px; height: 30px; border-radius: 50%; background: var(--stone); color: var(--red); display: grid; place-items: center; flex: 0 0 auto; transition: background .18s, color .18s, transform .18s; }
.qs2__arr svg { width: 16px; height: 16px; }
.qs2__tile:hover, .qs2__tile:focus-visible { border-color: var(--red); transform: translateY(-2px); box-shadow: var(--sh-md); outline: none; }
.qs2__tile:hover .qs2__ic { background: var(--red); color: #fff; }
.qs2__tile:hover .qs2__arr { background: var(--red); color: #fff; transform: translateX(2px); }
@media (max-width: 1100px) { .qs2__row { grid-template-columns: 1fr; gap: 12px; } .qs2__tiles { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .qs2__tiles { grid-template-columns: 1fr; gap: 8px; } .qs2__tile { min-height: 64px; padding: 10px; } .qs2__ic { width: 40px; height: 40px; } }
/* quick start v2: heading row above full-width tiles so labels never collide with the arrow */
.qs2__row { grid-template-columns: 1fr; gap: 12px; padding-block: 16px 20px; }
.qs2__head { display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; }
.qs2__head h2 { margin: 0; font-size: 1.25rem; } .qs2__head p { font-size: .9375rem; }
.qs2__head .qs__step { align-self: center; }
.qs2__txt b { font-size: 1rem; } .qs2__txt small { font-size: .8125rem; }
@media (max-width: 1100px) { .qs2__row { grid-template-columns: 1fr; } }
/* ===== LP UX pass: tighter vertical rhythm, aligned cards, smaller product row ===== */
[data-lp] .section { padding-block: clamp(44px, 5.5vw, 72px); }
[data-lp] .section-sm { padding-block: clamp(28px, 4vw, 48px); }
[data-lp] .sec-head { margin-bottom: clamp(22px, 3vw, 34px); }
[data-lp] #rechnung .ladder-grid { align-items: center; }
.frows { gap: clamp(32px, 4.5vw, 60px); }
.frow--prod .frow__ph { aspect-ratio: 5 / 4; }
.frow--prod .frow__ph img { height: 70%; }
.pcard { padding-top: 22px; }
.pcard__top { display: block; min-height: 0; padding-right: 118px; margin-bottom: 12px; }
.pcard__fit { min-height: 0; }
.pcard__tag { position: absolute; top: 20px; right: 20px; }
.pcard__ph { margin-top: 2px; }
[data-lp] .sec-head--row { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
[data-lp] .sec-head--row > div { max-width: 62ch; }
[data-lp] #kundenstimmen .sec-head--row .link-arrow { margin-bottom: 6px; }
[data-lp] .process--4 { margin-top: 0; }
[data-lp] #ablauf .sec-head { margin-bottom: 18px; }
@media (max-width: 640px) { .pcard__top { padding-right: 0; } .pcard__tag { position: static; display: inline-block; margin-top: 8px; } }
.pcard__top { padding-right: 0; }
.pcard__fit { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pcard__tag { top: 92px; right: 32px; z-index: 1; box-shadow: 0 6px 16px rgba(0,0,0,.18); }
@media (max-width: 640px) { .pcard__tag { position: absolute; top: 92px; right: 30px; margin: 0; } }
/* ===== LP CTA pass: 100svh top block, more CTAs, desktop sticky bar ===== */
@media (min-width: 1001px) {
  .lp-top { display: flex; flex-direction: column; min-height: calc(100svh - var(--header-h, 116px)); }
  .lp-top .hero2 { flex: 1 1 auto; display: flex; align-items: center; }
  .lp-top .hero2 > .wrap { width: 100%; }
  .lp-top .hero2__grid { padding-block: 28px; }
  .lp-top .qs2 { flex: 0 0 auto; }
}
@media (min-width: 1001px) and (min-height: 860px) { .hero2__media { aspect-ratio: 4 / 3; } .hero2__copy h1 { font-size: clamp(2rem, 2.9vw, 2.6rem); } }
.btn--ghost-light { background: rgba(255,255,255,.08); color: #fff; border: 1.5px solid rgba(255,255,255,.35); }
.btn--ghost-light:hover { background: rgba(255,255,255,.16); color: #fff; border-color: rgba(255,255,255,.6); }
.btn--ghost { background: transparent; color: var(--ink); border: 1.5px solid var(--line-2); }
.btn--ghost:hover { border-color: var(--ink); background: var(--stone); color: var(--ink); }
.btn--ghost svg, .btn--ghost-light svg { flex: 0 0 auto; }
.hero2__tel { margin: 14px 0 0; font-size: .9375rem; color: rgba(255,255,255,.75); display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.hero2__tel a { display: inline-flex; align-items: center; gap: 6px; color: #fff; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,.35); padding-bottom: 1px; }
.hero2__tel a:hover { border-color: #fff; }
.hero2__tel .muted { color: rgba(255,255,255,.55); }
.hero2--dark .hero2__trust { margin-top: 12px; }
.ctai { margin-top: clamp(32px, 4vw, 48px); display: flex; align-items: center; justify-content: space-between; gap: 22px; flex-wrap: wrap; padding: 22px 26px; background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-xl); box-shadow: var(--sh-sm); }
.ctai__txt { display: flex; flex-direction: column; gap: 3px; } .ctai__txt b { font-family: var(--font-display); font-size: 1.25rem; letter-spacing: -.015em; } .ctai__txt span { color: var(--muted); font-size: .9375rem; }
.ctai__btns { display: flex; gap: 12px; flex-wrap: wrap; }
.rev-cta { margin-top: 22px; display: flex; justify-content: center; }
.lp-sticky { position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; background: rgba(20,17,14,.96); color: #fff; backdrop-filter: blur(10px); border-top: 1px solid rgba(255,255,255,.1); transform: translateY(100%); transition: transform .3s ease; }
.lp-sticky.is-on { transform: none; }
.lp-sticky__inner { display: flex; align-items: center; gap: 20px; padding-block: 12px; }
.lp-sticky__txt { display: flex; flex-direction: column; gap: 2px; margin-right: auto; font-size: .8125rem; color: rgba(255,255,255,.7); }
.lp-sticky__txt > b { font-family: var(--font-display); font-size: 1rem; color: #fff; }
.lp-sticky__txt span b { color: #ff8a8e; }
.lp-sticky__tel { display: inline-flex; align-items: center; gap: 8px; color: #fff; text-decoration: none; font-weight: 600; padding: 10px 14px; border: 1.5px solid rgba(255,255,255,.3); border-radius: var(--pill); }
.lp-sticky__tel:hover { border-color: #fff; }
@media (max-width: 760px) { .lp-sticky { display: none !important; } }
[data-lp].lp-sticky-on { padding-bottom: 72px; }
@media (max-width: 640px) { .ctai { padding: 18px; } .ctai__btns { width: 100%; } .ctai__btns .btn { flex: 1 1 auto; justify-content: center; } }
@media (min-width: 1001px) { .lp-top { min-height: min(calc(100svh - var(--header-h, 116px)), 940px); } }
/* hero lighter + eyebrow countdown */
.hero2__bg { filter: blur(34px) saturate(1.05) brightness(.55); }
.hero2--dark::before { background: linear-gradient(90deg, rgba(12,10,8,.7) 0%, rgba(12,10,8,.45) 50%, rgba(12,10,8,.25) 100%); }
.hero2__eyebrow-sep { width: 1px; height: 12px; background: rgba(255,255,255,.45); margin: 0 4px; }
.hero2__eyebrow [data-countdown-chip] { text-transform: none; letter-spacing: 0; font-weight: 600; opacity: .95; } .hero2__eyebrow [data-countdown-chip] b { font-weight: 800; }
.hero2--dark .hero2__trust { margin-top: 18px; gap: 10px 22px; }
.hero2__trust .hero2__tel { margin: 0; font-size: .9375rem; }
.hero2__copy h1 { margin: 14px 0 16px; }
.hero2__chk { margin-bottom: 20px; }
.qs2__ic { width: 56px; height: 56px; background: transparent; border-radius: 0; }
.qs2__ic img { width: 64px; height: 64px; display: block; filter: drop-shadow(0 6px 8px rgba(20,15,8,.14)); transition: transform .2s; }
.qs2__tile:hover .qs2__ic { background: transparent; } .qs2__tile:hover .qs2__ic img { transform: translateY(-2px) scale(1.06); }
.qs2__tile { padding: 10px 12px 10px 10px; min-height: 80px; }
.qs2__ic img { filter: none; }
/* ===== LP price cards v3: site price-card template with peeking product art ===== */
.pcards--v2 { gap: 22px; margin-top: 40px; }
.price-card--lp { padding: 26px 26px 28px; }
.price-card--lp.is-pop { border: 2px solid var(--red); box-shadow: 0 24px 50px rgba(200,22,29,.14); }
.price-card--lp.is-best { border-color: var(--green); }
.badge--stone { background: var(--stone); color: var(--muted); }
.price-card--lp .price-card__head { grid-template-columns: minmax(0, 1fr) 40%; row-gap: 14px; }
.price-card--lp .price-card__name { font-family: var(--font-display); font-weight: 800; font-size: 1.5rem; letter-spacing: -.02em; margin-top: 10px; }
.price-card--lp .price-card__desc { margin: 4px 0 0; color: var(--muted); font-size: .9rem; }
.price-card--lp .price-card__stage { min-height: 150px; }
.price-card--lp .price-card__art { max-height: 220px; right: -10px; bottom: -6px; }
.price-card--lp .price-card__value { margin-top: 4px; }
.price-card--lp .price-card__value b { font-size: 1.15rem; }
.price-card--lp .price-card__price { padding: 16px 0 4px; flex-wrap: wrap; }
.price-card--lp .price-card__price .from { font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--green); flex-basis: 100%; }
.price-card--lp .price-card__price .amount { font-size: 2.5rem; line-height: 1; font-variant-numeric: tabular-nums; }
.price-card--lp .price-card__price .amount sup { font-size: .45em; font-weight: 600; margin-left: 2px; }
.price-card--lp .price-card__after { margin: 0 0 4px; font-size: .875rem; color: var(--muted); }
.price-card--lp .price-card__after s { opacity: .8; } .price-card--lp .price-card__after b { color: var(--green); font-weight: 700; }
.price-card--lp .price-card__list { margin-bottom: 22px; padding-top: 16px; gap: 10px; }
.price-card--lp .price-card__list svg { color: var(--green); }
@media (max-width: 1000px) { .pcards--v2 { grid-template-columns: 1fr; gap: 44px; } }
@media (max-width: 480px) { .price-card--lp { padding: 22px 18px 22px; } .price-card--lp .price-card__price .amount { font-size: 2.1rem; } }
/* LP price cards: compact head, art stands top-right, no dead space */
.price-card--lp .price-card__head { align-items: start; flex: 0 0 auto; min-height: 0; grid-template-columns: minmax(0, 1fr) 40%; row-gap: 12px; }
.price-card--lp .price-card__txt { padding-right: 6px; }
.price-card--lp .price-card__name { min-height: 0; margin-top: 10px; font-size: 1.45rem; }
.price-card--lp .price-card__desc { font-size: .875rem; line-height: 1.4; }
.price-card--lp .price-card__stage { min-height: 168px; }
.price-card--lp .price-card__art { top: -48px; bottom: auto; max-height: 214px; right: -8px; }
.price-card--lp .price-card__value { margin-top: 0; }
@media (max-width: 480px) { .price-card--lp .price-card__stage { min-height: 150px; } .price-card--lp .price-card__art { top: 0; right: 50%; transform: translateX(50%); max-height: 150px; } }
.price-card--lp .price-card__head { display: grid; padding-right: 0; }
.price-card--lp .price-card__txt > *, .price-card--lp .price-card__desc, .price-card--lp .price-card__name, .price-card--lp > .badge { max-width: none; }
.price-card__meta { margin: 0 0 14px; font-size: .78rem; color: var(--muted); line-height: 1.4; }
.price-card--lp .price-card__after b, .price-card--lp .price-card__after s { white-space: nowrap; }
/* ===== LP green pass: money you save is green, urgency/CTA stays red ===== */
.hero2__sticker--seal { width: 140px; height: 140px; background: none; box-shadow: none; transform: rotate(-9deg); top: -26px; left: -26px; filter: drop-shadow(0 14px 26px rgba(22,107,60,.45)); }
.hero2__sticker--seal .seal { width: 100%; height: 100%; display: block; }
.hero2--dark .hero2__copy h1 .hl { color: #8ae8b3; }
.hero2--dark .hero2__chk svg { color: #8ae8b3; }
.frow:nth-child(1) .frow__badge, .frow:nth-child(3) .frow__badge { background: var(--green); box-shadow: 0 14px 30px rgba(28,122,69,.32); }
.ctai { background: var(--green-bg, #e8f4ec); border-color: rgba(28,122,69,.22); }
.ctai__txt b { color: var(--green); }
.qs__step { color: var(--green); } .qs__step i::before { background: var(--green); }
.qs2__ic img { }
.urgency .countdown__cell { border-color: rgba(138,232,179,.35); }
.urgency .countdown__cell .v { color: #8ae8b3; }
.lp-sticky__txt span b { color: #8ae8b3; }
.lp-sticky__txt > b { color: #fff; }
@media (max-width: 1000px) { .hero2__sticker--seal { width: 108px; height: 108px; left: auto; right: -8px; top: -14px; transform: rotate(8deg); } }
.lp-num { display: inline-block; background: linear-gradient(135deg, #2fa365, #166b3c); color: #fff; padding: .02em .22em .06em; border-radius: 12px; box-shadow: 0 10px 26px rgba(22,107,60,.35); transform: rotate(-1.5deg); margin-right: .1em; }
.hero2__sticker--seal { width: 160px; height: 160px; top: -30px; left: -30px; }
@media (max-width: 1000px) { .hero2__sticker--seal { width: 116px; height: 116px; } }
.price-card--lp .price-card__stage { min-height: 96px; }
.price-card--lp .price-card__art { top: -52px; max-height: 196px; right: -6px; }
.price-card--lp .price-card__head { row-gap: 8px; }
.price-card--lp .price-card__txt { padding-bottom: 6px; }
/* seal v2: rounded lobes, slowly rotating ring, static face */
.hero2__sticker--seal { transform: rotate(0deg); }
.seal__ring { transform-origin: 70px 70px; animation: seal-spin 40s linear infinite; }
.seal__face { transform-origin: 70px 70px; transform: rotate(-8deg); }
@keyframes seal-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .seal__ring { animation: none; } }
/* mobile: LP price-card art sits inside the card next to the title, never over the badge */
@media (max-width: 640px) {
  .price-card--lp .price-card__head { grid-template-columns: minmax(0, 1fr) 118px; grid-template-areas: "txt stage" "val val"; align-items: end; }
  .price-card--lp .price-card__stage { min-height: 130px; }
  .price-card--lp .price-card__art { position: absolute; top: auto; bottom: 0; right: 0; left: auto; transform: none; max-height: 140px; max-width: 118px; }
  .price-card--lp .price-card__txt { padding-bottom: 0; }
}
.hub__badge, .hub-tile__badge, .badge { white-space: nowrap; }
/* mobile price cards = desktop look: art peeks above the card at top-right */
@media (max-width: 640px) {
  .pcards--v2 { gap: 56px; margin-top: 56px; }
  .price-card--lp { overflow: visible; padding-top: 22px; }
  .price-card--lp .price-card__head { grid-template-columns: minmax(0, 1fr) 42%; grid-template-areas: "txt stage" "val val"; align-items: start; row-gap: 10px; }
  .price-card--lp .price-card__stage { min-height: 120px; }
  .price-card--lp .price-card__art { position: absolute; top: -46px; bottom: auto; right: -4px; left: auto; transform: none; max-height: 190px; max-width: none; }
  .price-card--lp .price-card__txt { padding-bottom: 0; }
  .price-card--lp .price-card__price .amount { font-size: 2.3rem; }
}
@media (max-width: 640px) { .price-card--lp .price-card__stage { min-height: 150px; } .price-card--lp .price-card__art { top: -60px; max-height: 225px; right: -6px; } .pcards--v2 { gap: 64px; margin-top: 64px; } }
@media (max-width: 640px) {
  .price-card--lp .price-card__art { height: auto !important; width: auto !important; max-height: 230px !important; max-width: 150% !important; top: -62px !important; right: -8px !important; bottom: auto !important; }
  .price-card--lp .price-card__stage { min-height: 156px !important; }
}
/* ===== LP hero on phones: taller photo, bigger seal, compact CTA stack ===== */
@media (max-width: 1000px) {
  .hero2__grid { gap: 16px; padding-block: 14px 26px; }
  .hero2__media { aspect-ratio: 4 / 3; border-radius: 18px; }
  .hero2__media > img { border-radius: 18px; }
  .hero2__sticker--seal { width: 132px; height: 132px; top: -12px; right: -8px; left: auto; transform: rotate(8deg); }
  .hero2__chip { left: 12px; bottom: 12px; font-size: .78rem; padding: 7px 10px; }
  .hero2__eyebrow { font-size: .7rem; }
  .hero2__copy h1 { font-size: 1.95rem; margin: 12px 0 12px; }
  .hero2__chk { margin-bottom: 16px; }
  .hero2__cta { flex-direction: column; align-items: stretch; gap: 8px; }
  .hero2__cta .btn { justify-content: center; }
  .hero2__cta .btn--ghost-light { background: none; border: 0; color: rgba(255,255,255,.85); text-decoration: underline; text-underline-offset: 3px; padding: 8px; font-weight: 600; }
  .hero2--dark .hero2__trust { margin-top: 12px; gap: 6px 16px; font-size: .875rem; }
  .hero2__trust .hero2__tel { flex-basis: 100%; }
}
@media (max-width: 380px) { .hero2__copy h1 { font-size: 1.75rem; } .hero2__sticker--seal { width: 112px; height: 112px; } }
/* step-1 → form continues right under the tiles (no jump down the page) */
[data-lp] html, html:has([data-lp]) { scroll-behavior: smooth; }
#poptavka { scroll-margin-top: 84px; }
.qs2__panel { margin-top: 14px; overflow: hidden; max-height: 0; opacity: 0; transition: max-height .6s ease, opacity .4s ease; }
.qs2__panel.is-open { max-height: 4000px; opacity: 1; }
.qs2__panel > section { padding-block: 6px 8px !important; }
.qs2__panel > section .wrap { padding-inline: 0; }
.lf-pulse .leadform, .lf-pulse [data-leadform] { animation: lf-pulse 1.6s ease-out 1; }
@keyframes lf-pulse { 0% { box-shadow: 0 0 0 0 rgba(200,22,29,.45); } 100% { box-shadow: 0 0 0 22px rgba(200,22,29,0); } }
@media (max-width: 760px) { #poptavka { scroll-margin-top: 70px; } }
/* ===== Referenzen polish: featured card, tags, filter counts ===== */
.refgrid { grid-auto-flow: dense; }
.refcard--wide { grid-column: span 2; }
.refcard--wide .refcard__ph { aspect-ratio: 16 / 9; }
.refcard--wide .refcard__body b { font-size: 1.25rem; }
.refcard__tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.refcard__tags span { display: inline-block; font-size: .75rem; font-weight: 600; color: var(--muted); background: var(--stone); padding: 4px 9px; border-radius: var(--pill); }
.refcard__tags span.is-brand { background: var(--red-soft); color: var(--red); }
.refcard__meta { margin-top: 12px; }
.chip-filter { display: inline-flex; align-items: center; gap: 8px; }
.chip-count { font-style: normal; font-size: .75rem; font-weight: 700; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 11px; background: rgba(0,0,0,.08); display: inline-grid; place-items: center; }
.chip-filter.active .chip-count, .chip-filter:hover .chip-count { background: rgba(255,255,255,.2); }
.refcard:hover .refcard__ph img { transform: scale(1.04); }
@media (max-width: 1000px) { .refcard--wide { grid-column: span 2; } }
@media (max-width: 600px) { .refcard--wide { grid-column: span 1; } .refcard--wide .refcard__ph { aspect-ratio: 4 / 3; } }
/* price-card art stays inside its own column (no overlap into the neighbour card) */
.price-card--lp .price-card__head { grid-template-columns: minmax(0, 1fr) 44%; }
.price-card--lp .price-card__art { right: 0 !important; max-width: 100% !important; max-height: 200px !important; top: -50px !important; }
@media (max-width: 640px) { .price-card--lp .price-card__art { right: 0 !important; max-width: 100% !important; max-height: 215px !important; top: -56px !important; } }
/* LP: what is in the set – detail list + per-set storage note */
.incl-detail { display: grid; grid-template-columns: 1.5fr 1fr; gap: clamp(24px, 4vw, 56px); margin-top: clamp(28px, 4vw, 44px); padding-top: clamp(24px, 3vw, 36px); border-top: 1px solid var(--line); align-items: start; }
.incl-detail h3 { font-size: 1.125rem; margin: 0 0 14px; }
.checklist--2col { grid-template-columns: 1fr 1fr; column-gap: 24px; }
.checklist--2col li { font-size: .9375rem; }
.incl-detail__aside { background: var(--green-bg, #e8f4ec); border: 1px solid rgba(28,122,69,.2); border-radius: var(--r-lg); padding: 20px 22px; }
.incl-detail__aside b { display: block; font-family: var(--font-display); font-size: 1rem; margin-bottom: 8px; color: var(--green); }
.incl-detail__aside p { margin: 0 0 8px; font-size: .9375rem; } .incl-detail__aside .muted { font-size: .8125rem; }
@media (max-width: 900px) { .incl-detail { grid-template-columns: 1fr; } .checklist--2col { grid-template-columns: 1fr; } }
/* ===== LP price cards on phones: swipe carousel, Set M first, dots ===== */
.pcards-dots { display: none; }
@media (max-width: 760px) {
  .pcards--v2 { display: flex; grid-template-columns: none; gap: 14px; overflow-x: auto; overflow-y: visible; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none; margin-inline: calc(-1 * var(--gutter, 20px)); padding: 52px var(--gutter, 20px) 8px; margin-top: 8px; }
  .pcards--v2::-webkit-scrollbar { display: none; }
  .pcards--v2 > .price-card--lp { flex: 0 0 84%; scroll-snap-align: center; margin: 0; }
  .pcards--v2 > .price-card--lp.is-pop { order: -1; }
  .price-card--lp .price-card__stage { min-height: 96px !important; }
  .price-card--lp .price-card__art { max-height: 150px !important; top: -42px !important; right: 0 !important; }
  .price-card--lp .price-card__head { grid-template-columns: minmax(0, 1fr) 40%; row-gap: 8px; }
  .price-card--lp .price-card__price .amount { font-size: 2.1rem; }
  .pcards-dots { display: flex; justify-content: center; gap: 8px; margin-top: 6px; }
  .pcards-dots button { width: 8px; height: 8px; border-radius: 50%; border: 0; padding: 0; background: var(--line-2); transition: width .2s, background .2s; }
  .pcards-dots button.is-on { width: 24px; border-radius: 4px; background: var(--red); }
}
/* reviews: key facts jump out */
.qcard blockquote b { font-weight: 700; color: var(--ink); background: linear-gradient(transparent 58%, rgba(28,122,69,.22) 58%); padding: 0 .1em; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.qcard blockquote b { background: rgba(28,122,69,.14); color: #14603a; padding: .08em .32em .1em; border-radius: 6px; font-weight: 700; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
/* carousel indicator: three slim segments, active one red */
@media (max-width: 760px) {
  .pcards-dots { display: flex !important; justify-content: center; align-items: center; gap: 6px; margin-top: 4px; }
  .pcards-dots button, .pcards-dots button.is-on { all: unset; box-sizing: border-box; display: block; width: 26px; height: 4px; border-radius: 2px; background: var(--line-2); cursor: pointer; padding: 0; margin: 0; font-size: 0; line-height: 0; color: transparent; transition: background .2s, width .2s; }
  .pcards-dots button.is-on { width: 40px; background: var(--red); }
  .pcards-dots button::before, .pcards-dots button::after { content: none !important; }
}
/* reviews disclaimer centred under the CTA */
#kundenstimmen .tst-note { text-align: center; margin: 12px auto 0; max-width: 60ch; }
/* ===== Recruiting LP (karriere-regionaldirektor) ===== */
[data-rc] { --rc-green: #1c7a45; }
.rc-head { position: sticky; top: 0; z-index: 50; background: var(--bg); border-bottom: 1px solid var(--line); }
.rc-head__row { display: flex; align-items: center; justify-content: space-between; gap: 16px; height: 64px; }
.rc-head__right { display: flex; align-items: center; gap: 14px; }
.lang-switch--light { display: inline-flex; gap: 2px; border: 1px solid var(--line-2); border-radius: var(--pill); padding: 2px; }
.lang-switch--light button { border: 0; background: transparent; padding: 5px 10px; border-radius: var(--pill); font: inherit; font-size: .75rem; font-weight: 700; color: var(--muted); cursor: pointer; }
.lang-switch--light button[aria-pressed="true"] { background: var(--ink); color: #fff; }
.rc-hero .hero2__bg { object-position: 50% 30%; }
.rc-hero .hero2__grid { padding-block: clamp(36px, 6vh, 64px); grid-template-columns: 1.15fr 1fr; }
.rc-hero .hero2__copy h1 { font-size: clamp(1.9rem, 3.2vw, 2.7rem); }
.rc-hero .hero2__copy .lead { color: rgba(255,255,255,.82); max-width: 56ch; margin-bottom: 22px; }
.rc-trust { gap: 8px 18px; }
.rc-trust span::before { content: "✓"; color: #8ae8b3; font-weight: 800; margin-right: 6px; }
.rc-media { aspect-ratio: auto; }
.rc-media > img { aspect-ratio: 4 / 3; }
.rc-ladder { position: absolute; left: 18px; right: 18px; bottom: 18px; background: rgba(255,255,255,.96); color: var(--ink); border-radius: 16px; padding: 16px 18px 14px; box-shadow: var(--sh-md); display: grid; gap: 8px; }
.rc-ladder > b { font-family: var(--font-display); font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.rc-ladder__row { display: grid; grid-template-columns: 92px 1fr auto; align-items: center; gap: 10px; font-size: .875rem; color: var(--muted); }
.rc-ladder__row i { display: block; height: 10px; border-radius: 5px; background: var(--stone); position: relative; overflow: hidden; }
.rc-ladder__row i::before { content: ""; position: absolute; inset: 0; width: var(--w); background: var(--ink); border-radius: 5px; }
.rc-ladder__row.is-top i::before { background: var(--rc-green); }
.rc-ladder__row strong { font-family: var(--font-display); font-weight: 800; color: var(--ink); white-space: nowrap; font-variant-numeric: tabular-nums; }
.rc-ladder__row.is-top strong { color: var(--rc-green); font-size: 1.05rem; }
.rc-ladder small { font-size: .75rem; color: var(--muted); }
.rc-cards .icard h3 { font-size: 1.125rem; margin-bottom: 8px; }
.rc-fit { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(20px, 3vw, 36px); }
.rc-fit__col { background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-xl); padding: clamp(22px, 3vw, 36px); }
.rc-fit__col--no { background: #fff4f4; border-color: rgba(200,22,29,.18); }
.rc-fit__col .h2 { font-size: 1.5rem; margin-bottom: 14px; }
.rc-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.rc-list li { position: relative; padding-left: 30px; font-size: 1rem; line-height: 1.5; }
.rc-list li::before { position: absolute; left: 0; top: 0; width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; font-size: .75rem; font-weight: 800; }
.rc-list--yes li::before { content: "✓"; background: rgba(28,122,69,.14); color: var(--rc-green); }
.rc-list--no li::before { content: "✕"; background: rgba(200,22,29,.12); color: var(--red); }
.rc-list--plus li::before { content: "+"; background: var(--stone); color: var(--ink); }
.rc-req, .rc-pay { display: grid; grid-template-columns: 1.3fr 1fr; gap: clamp(28px, 5vw, 72px); align-items: start; }
.rc-req .h2, .rc-pay .h2 { margin: 12px 0 22px; }
.rc-req__aside, .rc-pay__aside { background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-xl); padding: clamp(22px, 3vw, 32px); }
.rc-req__aside h3, .rc-pay__aside h3 { font-size: 1.125rem; margin: 0 0 14px; }
.rc-req__note { margin: 20px 0 0; padding-top: 16px; border-top: 1px solid var(--line); font-size: .9375rem; color: var(--muted); }
.rc-pay__table .cmp { min-width: 0; }
.rc-pay__table .cmp td { font-family: var(--font-display); font-weight: 800; white-space: nowrap; }
.rc-pay__table .cmp tr.save td.pos { color: var(--rc-green); font-size: 1.15rem; }
.rc-pay__aside .btn--block { margin-top: 20px; }
.rc-who { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin: 22px 0; }
.rc-who div { display: flex; flex-direction: column; gap: 4px; padding: 14px; border: 1px solid var(--line); border-radius: var(--r-md); background: var(--paper); }
.rc-who b { font-family: var(--font-display); font-size: 1.5rem; letter-spacing: -.02em; color: var(--red); }
.rc-who span { font-size: .8125rem; color: var(--muted); line-height: 1.35; }
.rc-process { grid-template-columns: repeat(5, 1fr); }
.rc-form { display: grid; grid-template-columns: 1fr 1.35fr; gap: clamp(28px, 5vw, 64px); align-items: start; }
.rc-form__side .h2 { margin: 12px 0 14px; }
.rc-contact { display: flex; gap: 16px; align-items: flex-start; margin-top: 28px; padding: 18px; background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-lg); }
.rc-contact img { width: 76px; height: 76px; border-radius: 50%; object-fit: cover; flex: 0 0 auto; }
.rc-contact b { display: block; font-family: var(--font-display); margin-bottom: 4px; }
.rc-contact p { margin: 0 0 10px; font-size: .9375rem; color: var(--muted); }
.rc-contact a { display: block; font-weight: 700; color: var(--ink); text-decoration: none; }
.rc-contact a:hover { color: var(--red); }
.rc-contact small { display: block; margin-top: 8px; font-size: .8125rem; color: var(--muted); }
.rc-form__card { position: relative; background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-xl); padding: clamp(22px, 3vw, 36px); box-shadow: var(--sh-md); }
.rc-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.rc-fs { border: 0; margin: 0 0 16px; padding: 0; min-width: 0; }
.rc-fs legend { font-weight: 600; font-size: .875rem; margin-bottom: 8px; padding: 0; }
.rc-radios { display: flex; flex-wrap: wrap; gap: 8px; }
.rc-radios label { display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px; border: 1.5px solid var(--line-2); border-radius: var(--pill); background: var(--bg); font-size: .9375rem; cursor: pointer; }
.rc-radios label:has(input:checked) { border-color: var(--ink); background: var(--ink); color: #fff; }
.rc-radios input { accent-color: var(--red); margin: 0; }
.rc-radios label:has(input:checked) input { accent-color: #fff; }
.rc-form__card .field textarea { resize: vertical; }
.rc-form__card .is-bad input, .rc-form__card .is-bad textarea { border-color: var(--red); }
.rc-form__card .rc-fs.is-bad legend { color: var(--red); }
.rc-form__hint { font-size: .8125rem; color: var(--muted); margin: 0 0 16px; }
.rc-form__err { color: var(--red); font-weight: 600; font-size: .9375rem; margin: 0 0 12px; }
.rc-form__gdpr { font-size: .8125rem; color: var(--muted); margin: 14px 0 0; }
.rc-form__gdpr a { color: inherit; }
.rc-form__done { padding: 24px; border-radius: var(--r-lg); background: rgba(28,122,69,.1); border: 1px solid rgba(28,122,69,.25); }
.rc-form__done b { display: block; font-family: var(--font-display); font-size: 1.25rem; margin-bottom: 8px; color: var(--rc-green); }
.rc-form__done p { margin: 0; }
.rc-foot { border-top: 1px solid var(--line); padding: 22px 0; font-size: .8125rem; color: var(--muted); }
.rc-foot__row { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.rc-foot a { color: inherit; margin-left: 16px; }
@media (max-width: 1000px) {
  .rc-hero .hero2__grid { grid-template-columns: 1fr; }
  .rc-fit, .rc-req, .rc-pay, .rc-form { grid-template-columns: 1fr; }
  .rc-process { grid-template-columns: repeat(2, 1fr); }
  .rc-who { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .rc-grid2 { grid-template-columns: 1fr; }
  .rc-process { grid-template-columns: 1fr; }
  .rc-ladder { position: static; margin-top: 12px; }
  .rc-media > img { border-radius: 18px; }
  .rc-head__right .lang-switch--light { display: none; }
}
/* ===== Recruiting LP v2: pick card, big numbers, why us, multistep ===== */
.rc-hero .hero2__grid { grid-template-columns: 1.15fr auto; align-items: center; }
.rc-hero .hero-pick--rc { position: static; transform: none; width: 380px; border-radius: 22px; padding: 22px 22px 18px; box-shadow: 0 30px 60px rgba(0,0,0,.35), 0 0 0 1px rgba(255,255,255,.4); }
.rc-hero .hero-pick--rc .hero-pick__opt small { display: block; }
.rc-ladder--inline { position: static; margin: 14px 0 16px; padding: 14px 16px 12px; max-width: 440px; }
.rc-big { background: var(--ink-2); color: var(--on-dark); }
.rc-big .sec-head .h2 { color: #fff; }
.rc-bento { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 190px; gap: 14px; }
.rc-bento__tile { position: relative; padding: 22px 24px; border-radius: 18px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); display: flex; flex-direction: column; justify-content: flex-end; gap: 8px; overflow: hidden; }
.rc-bento__tile b { font-family: var(--font-display); font-weight: 800; font-size: clamp(2rem, 3vw, 2.8rem); letter-spacing: -.03em; line-height: 1; color: #8ae8b3; font-variant-numeric: tabular-nums; }
.rc-bento__tile span { font-size: .9375rem; color: rgba(255,255,255,.78); line-height: 1.4; }
.rc-bento__tile.is-hero { grid-column: span 2; background: linear-gradient(135deg, #166b3c, #2fa365); border-color: transparent; }
.rc-bento__tile.is-hero b { color: #fff; font-size: clamp(2.8rem, 4.6vw, 4.2rem); } .rc-bento__tile.is-hero span { color: rgba(255,255,255,.9); font-size: 1.0625rem; }
.rc-bento__tile.is-photo { grid-column: span 2; padding: 0; }
.rc-bento__tile.is-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.rc-bento__tile.is-photo span { position: relative; margin: 0 22px 20px; font-family: var(--font-display); font-weight: 700; color: #fff; font-size: 1.125rem; text-shadow: 0 2px 12px rgba(0,0,0,.6); }
.rc-big__src { margin: 18px 0 0; font-size: .8125rem; color: rgba(255,255,255,.5); }
.rc-why { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.rc-why__item { background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 24px 24px 22px; }
.rc-why__n { display: inline-block; font-family: var(--font-display); font-weight: 800; color: var(--red); font-size: .875rem; letter-spacing: .06em; margin-bottom: 12px; }
.rc-why__item h3 { font-size: 1.125rem; margin: 0 0 8px; }
.rc-why__item p { margin: 0; color: var(--muted); font-size: .9375rem; line-height: 1.5; }
[data-rc] .ctai { margin-top: 28px; }
.rc-ms { padding-top: 22px; }
.rc-ms__top { display: flex; justify-content: space-between; font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); margin-bottom: 8px; }
.rc-ms__top b { color: var(--ink); }
.rc-ms__bar { height: 5px; border-radius: 3px; background: var(--stone); overflow: hidden; margin-bottom: 18px; }
.rc-ms__bar i { display: block; height: 100%; background: var(--red); border-radius: 3px; transition: width .35s ease; }
.rc-ms__pre { display: flex; align-items: center; gap: 8px; font-size: .875rem; color: var(--muted); padding: 8px 12px; background: var(--red-soft); border-radius: 10px; margin-bottom: 16px; }
.rc-ms__pre b { color: var(--ink); } .rc-ms__pre button { border: 0; background: none; color: var(--red); font: inherit; font-size: .875rem; text-decoration: underline; cursor: pointer; margin-left: auto; padding: 0; }
.rc-ms__q { font-size: 1.375rem; letter-spacing: -.02em; margin: 0 0 6px; outline: none; }
.rc-ms__hint { margin: 0 0 14px; color: var(--muted); font-size: .9375rem; }
.rc-opts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 12px 0 18px; }
.rc-opts--4 { grid-template-columns: repeat(4, 1fr); }
.rc-opts.is-bad .rc-opt { border-color: var(--red); }
.rc-opt { padding: 16px 14px; text-align: center; font-weight: 600; font-size: .9375rem; }
.rc-ms__nav { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 8px; }
.rc-ms__back { border: 0; background: none; font: inherit; font-weight: 600; color: var(--muted); cursor: pointer; padding: 10px 0; }
.rc-ms__back:hover { color: var(--ink); }
.rc-ms__nav .btn { margin-left: auto; }
.rc-ms__trust { display: flex; gap: 16px; flex-wrap: wrap; margin-top: 16px; font-size: .8125rem; color: var(--muted); }
.rc-ms__trust span::before { content: "✓"; color: var(--rc-green); font-weight: 800; margin-right: 6px; }
.rc-ms .rc-form__gdpr { margin-top: 4px; }
@media (max-width: 1100px) { .rc-hero .hero2__grid { grid-template-columns: 1fr; } .rc-hero .hero-pick--rc { width: min(520px, 100%); } }
@media (max-width: 1000px) { .rc-bento { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 170px; } .rc-why { grid-template-columns: 1fr 1fr; } .rc-opts--4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .rc-bento { grid-template-columns: 1fr 1fr; grid-auto-rows: 150px; } .rc-bento__tile { padding: 16px; } .rc-bento__tile.is-hero, .rc-bento__tile.is-photo { grid-column: span 2; } .rc-why { grid-template-columns: 1fr; } .rc-opts, .rc-opts--4 { grid-template-columns: 1fr; } .rc-opt { text-align: left; } .rc-ms__nav { flex-wrap: wrap; } .rc-ms__nav .btn { width: 100%; justify-content: center; } }
/* ===== Recruiting LP v3 (taste pass) ===== */
.rc-hero .hero2__eyebrow { background: rgba(255,255,255,.12); }
.rc-hero .hero2__copy .lead { margin-bottom: 18px; }
.rc-ramp { display: grid; grid-template-columns: repeat(3, auto); gap: 6px 22px; align-items: end; margin: 6px 0 22px; }
.rc-ramp__step { display: flex; flex-direction: column; gap: 2px; padding-right: 22px; border-right: 1px solid rgba(255,255,255,.18); }
.rc-ramp__step:nth-child(3) { border-right: 0; }
.rc-ramp__step small { font-size: .75rem; letter-spacing: .06em; text-transform: uppercase; color: rgba(255,255,255,.6); }
.rc-ramp__step b { font-family: var(--font-display); font-weight: 800; font-size: 1.35rem; letter-spacing: -.02em; white-space: nowrap; font-variant-numeric: tabular-nums; }
.rc-ramp__step.is-top b { font-size: 1.75rem; color: #8ae8b3; }
.rc-ramp__note { grid-column: 1 / -1; font-size: .8125rem; color: rgba(255,255,255,.6); }
.rc-month { display: grid; grid-template-columns: 1fr 1.2fr; gap: clamp(28px, 5vw, 64px); align-items: center; }
.rc-month__ph { aspect-ratio: 4 / 5; border-radius: var(--r-xl); overflow: hidden; box-shadow: var(--sh-md); }
.rc-month__ph img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rc-month .h2 { margin-bottom: 22px; }
.rc-rows { display: grid; gap: 0; }
.rc-row { padding: 16px 0; border-top: 1px solid var(--line); display: grid; grid-template-columns: 190px 1fr; gap: 16px; align-items: start; }
.rc-row b { font-family: var(--font-display); font-weight: 700; font-size: 1.0625rem; }
.rc-row p { margin: 0; color: var(--muted); font-size: .9375rem; line-height: 1.5; }
.rc-fit { gap: 0; border-radius: var(--r-xl); overflow: hidden; box-shadow: var(--sh-md); }
.rc-fit__col { border-radius: 0; border: 0; padding: clamp(26px, 3.4vw, 44px); background: var(--paper); }
.rc-fit__col--no { background: var(--ink-2); color: #fff; }
.rc-fit__col--no .h2 { color: #fff; }
.rc-fit__col--no .rc-list li { color: rgba(255,255,255,.82); }
.rc-fit__col--no .rc-list li b { color: #fff; }
.rc-fit__col--no .rc-list--no li::before { background: rgba(255,255,255,.12); color: #ff8a8e; }
.rc-list li b { font-weight: 700; color: var(--ink); }
.rc-why--bento { grid-template-columns: repeat(3, 1fr); grid-auto-rows: minmax(150px, auto); }
.rc-why__ph { position: relative; border-radius: var(--r-lg); overflow: hidden; min-height: 200px; }
.rc-why__ph img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.rc-why__ph span { position: absolute; left: 18px; bottom: 16px; right: 18px; font-family: var(--font-display); font-weight: 700; color: #fff; text-shadow: 0 2px 12px rgba(0,0,0,.6); }
.rc-why__ph:nth-child(2) { grid-row: span 2; }
.rc-about { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 5vw, 72px); align-items: center; }
.rc-about .lead { margin: 14px 0 12px; } .rc-about p { color: var(--muted); }
.rc-about__nums { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 22px 0; }
.rc-about__nums div { display: flex; flex-direction: column; gap: 2px; padding: 12px 0 0; border-top: 2px solid var(--red); }
.rc-about__nums b { font-family: var(--font-display); font-weight: 800; font-size: 1.5rem; letter-spacing: -.02em; }
.rc-about__nums span { font-size: .8125rem; color: var(--muted); }
.rc-about__wall { display: grid; grid-template-columns: repeat(3, 1fr); grid-auto-rows: 150px; gap: 10px; }
.rc-about__wall img { width: 100%; height: 100%; object-fit: cover; border-radius: 14px; display: block; }
.rc-about__wall img.is-big { grid-column: span 2; grid-row: span 2; }
@media (max-width: 1000px) { .rc-month, .rc-about { grid-template-columns: 1fr; } .rc-month__ph { aspect-ratio: 16 / 10; } .rc-why--bento { grid-template-columns: 1fr 1fr; } .rc-why__ph:nth-child(2) { grid-row: span 1; } .rc-about__nums { grid-template-columns: repeat(2, 1fr); } .rc-fit { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .rc-ramp { grid-template-columns: 1fr; gap: 10px; } .rc-ramp__step { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.14); padding: 0 0 10px; } .rc-ramp__step:nth-child(3) { border-bottom: 0; } .rc-row { grid-template-columns: 1fr; gap: 4px; } .rc-why--bento { grid-template-columns: 1fr; } .rc-about__wall { grid-auto-rows: 110px; } }
.rc-ramp--light { margin: 0 0 20px; }
.rc-ramp--light .rc-ramp__step { border-right-color: var(--line); }
.rc-ramp--light .rc-ramp__step small { color: var(--muted); }
.rc-ramp--light .rc-ramp__step b { color: var(--ink); }
.rc-ramp--light .rc-ramp__step.is-top b { color: var(--rc-green); }
@media (max-width: 640px) { .rc-ramp--light .rc-ramp__step { border-bottom-color: var(--line); } }
/* big numbers: white editorial stats */
.rc-big { background: var(--bg); color: var(--ink); }
.rc-big .sec-head { display: none; }
.rc-big__head { max-width: 760px; margin-bottom: clamp(26px, 3vw, 40px); }
.rc-big__head .lead { margin-top: 14px; }
.rc-stats { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.rc-stat { padding: clamp(22px, 3vw, 36px) clamp(18px, 2.4vw, 32px); border-left: 1px solid var(--line); display: flex; flex-direction: column; gap: 10px; }
.rc-stat:first-child { border-left: 0; padding-left: 0; }
.rc-stat b { font-family: var(--font-display); font-weight: 800; font-size: clamp(2.4rem, 3.6vw, 3.4rem); letter-spacing: -.03em; line-height: 1; color: var(--ink); font-variant-numeric: tabular-nums; }
.rc-stat.is-key b { color: var(--red); font-size: clamp(3rem, 5vw, 4.6rem); }
.rc-stat span { color: var(--muted); font-size: .9375rem; line-height: 1.45; max-width: 30ch; }
.rc-proof { display: grid; grid-template-columns: 1fr 1.1fr; gap: clamp(22px, 4vw, 56px); align-items: center; margin-top: clamp(26px, 3vw, 40px); }
.rc-proof__ph { position: relative; aspect-ratio: 16 / 10; border-radius: var(--r-xl); overflow: hidden; box-shadow: var(--sh-md); }
.rc-proof__ph img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rc-proof__ph span { position: absolute; left: 18px; bottom: 16px; right: 18px; font-family: var(--font-display); font-weight: 700; color: #fff; text-shadow: 0 2px 12px rgba(0,0,0,.6); }
.rc-proof__list { display: grid; }
.rc-proof__row { display: grid; grid-template-columns: 120px 1fr; gap: 16px; align-items: baseline; padding: 16px 0; border-top: 1px solid var(--line); }
.rc-proof__row:first-child { border-top: 0; padding-top: 0; }
.rc-proof__row b { font-family: var(--font-display); font-weight: 800; font-size: 1.6rem; letter-spacing: -.02em; color: var(--rc-green); white-space: nowrap; }
.rc-proof__row span { color: var(--muted); font-size: .9375rem; line-height: 1.45; }
.rc-big__src { color: var(--muted); }
@media (max-width: 900px) { .rc-stats { grid-template-columns: 1fr; border: 0; } .rc-stat { border-left: 0; border-top: 1px solid var(--line); padding-left: 0; padding-right: 0; } .rc-proof { grid-template-columns: 1fr; } .rc-proof__row { grid-template-columns: 96px 1fr; } }
/* ===== Recruiting LP: regions + fixes ===== */
.rc-ms [hidden], .rc-form__card [hidden] { display: none !important; }
.rc-regions { background: var(--ink-2); color: #fff; }
.rc-regions__head { max-width: 720px; margin-bottom: clamp(24px, 3vw, 36px); }
.rc-regions__head .h2 { color: #fff; } .rc-regions__head .lead { color: rgba(255,255,255,.78); margin-top: 12px; }
.rc-regions__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.rc-region { position: relative; display: flex; flex-direction: column; gap: 6px; padding: 20px 20px 18px; min-height: 168px; border-radius: 16px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); color: #fff; text-decoration: none; transition: transform .2s, border-color .2s, background .2s; }
.rc-region:hover, .rc-region.is-on { transform: translateY(-3px); border-color: #8ae8b3; background: rgba(138,232,179,.08); }
.rc-region__n { font-family: var(--font-display); font-weight: 800; font-size: .8125rem; color: #8ae8b3; letter-spacing: .06em; }
.rc-region b { font-family: var(--font-display); font-size: 1.125rem; letter-spacing: -.01em; }
.rc-region small { font-size: .8125rem; color: rgba(255,255,255,.62); line-height: 1.4; }
.rc-region__cta { margin-top: auto; font-size: .8125rem; font-weight: 700; color: #8ae8b3; }
.rc-region__cta::after { content: " →"; }
.rc-regions__note { margin: 18px 0 0; font-size: .875rem; color: rgba(255,255,255,.6); }
@media (max-width: 1000px) { .rc-regions__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .rc-regions__grid { grid-template-columns: 1fr 1fr; gap: 8px; } .rc-region { min-height: 0; padding: 14px; } .rc-region small { display: none; } }
/* ===== Recruiting LP: sharp hero photo + Germany map ===== */
.rc-hero--photo .hero2__bg { filter: none; inset: 0; width: 100%; height: 100%; object-position: 55% 40%; }
.rc-hero--photo::before { background: linear-gradient(90deg, rgba(12,10,8,.9) 0%, rgba(12,10,8,.72) 38%, rgba(12,10,8,.25) 62%, rgba(12,10,8,.15) 100%); }
.rc-hero--photo .hero2__grid { padding-block: clamp(44px, 8vh, 96px); min-height: min(78vh, 760px); align-items: center; }
.rc-hero--photo .hero2__copy h1 { font-size: clamp(2.1rem, 3.6vw, 3.1rem); }
.rc-regions__grid2 { display: grid; grid-template-columns: 1fr 1.05fr; gap: clamp(28px, 5vw, 72px); align-items: center; }
.rc-regions__side .h2 { color: #fff; } .rc-regions__side .lead { color: rgba(255,255,255,.78); margin: 12px 0 20px; }
.demap { width: 100%; height: auto; max-height: 640px; display: block; }
.demap__reg path { fill: rgba(255,255,255,.08); stroke: #15120f; stroke-width: 2.2; stroke-linejoin: round; transition: fill .2s; cursor: pointer; }
.demap__reg:nth-of-type(odd) path { fill: rgba(255,255,255,.13); }
.demap__reg.is-hot path, .demap__reg:hover path { fill: rgba(138,232,179,.55); }
.demap__pin { cursor: pointer; }
.demap__pin circle { fill: #c8161d; stroke: #fff; stroke-width: 2.5; transition: fill .2s, transform .2s; }
.demap__pin text { fill: #fff; font-family: var(--font-display); font-weight: 800; font-size: 15px; pointer-events: none; }
.demap__pin.is-hot circle, .demap__pin:hover circle { fill: #1c7a45; }
.rc-regions__src { margin: 8px 0 0; font-size: .7rem; color: rgba(255,255,255,.4); }
.rc-regions__list { display: grid; gap: 8px; }
.rc-region { flex-direction: row; align-items: center; gap: 14px; min-height: 0; padding: 12px 14px; }
.rc-region__n { width: 30px; height: 30px; border-radius: 50%; background: #c8161d; color: #fff; display: grid; place-items: center; font-size: .875rem; flex: 0 0 auto; }
.rc-region__t { display: flex; flex-direction: column; gap: 1px; min-width: 0; } .rc-region__t b { font-size: 1rem; } .rc-region__t small { font-size: .78rem; }
.rc-region__cta { margin: 0 0 0 auto; white-space: nowrap; }
.rc-region.is-hot, .rc-region.is-on { border-color: #8ae8b3; background: rgba(138,232,179,.08); transform: none; }
.rc-region.is-hot .rc-region__n, .rc-region.is-on .rc-region__n { background: #1c7a45; }
@media (max-width: 1000px) { .rc-regions__grid2 { grid-template-columns: 1fr; } .demap { max-height: 420px; } }
@media (max-width: 640px) { .rc-region__cta { display: none; } .rc-region small { display: block; } }
.demap__reg:nth-of-type(1) path { fill: rgba(255,255,255,.10); } .demap__reg:nth-of-type(2) path { fill: rgba(255,255,255,.16); } .demap__reg:nth-of-type(3) path { fill: rgba(255,255,255,.08); } .demap__reg:nth-of-type(4) path { fill: rgba(255,255,255,.18); } .demap__reg:nth-of-type(5) path { fill: rgba(255,255,255,.12); } .demap__reg:nth-of-type(6) path { fill: rgba(255,255,255,.2); } .demap__reg:nth-of-type(7) path { fill: rgba(255,255,255,.14); }
.demap__reg path { stroke: #0f0d0b; stroke-width: 2.6; }
/* ===== Recruiting LP v4: site leadform component, footer ===== */
[data-rc] .leadband { grid-template-columns: .9fr 1.1fr; }
.rc-lf .leadform__step[hidden], .rc-lf .leadform__nav .btn[hidden], .rc-lf .lf-pre[hidden], .rc-lf .lf-fielderr[hidden] { display: none !important; }
.rc-lf .leadform__done { display: block; }
.rc-lf .optgrid .opt { text-align: left; }
.rc-lf .field textarea { width: 100%; }
.rc-lf .lf-fielderr { color: var(--red); font-weight: 600; margin: 0 0 10px; }
.rc-lf .leadform__nav .btn { margin-left: auto; }
.rc-lf .lf-bd__note { font-size: .8125rem; color: var(--muted); margin-top: 10px; }
.rc-lf .lf-bd__note a { color: inherit; }
.rc-contact--dark { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.14); color: #fff; margin-top: 22px; }
.rc-contact--dark p { color: rgba(255,255,255,.7); margin-bottom: 8px; }
.rc-contact--dark a { color: #fff; }
.rc-contact--dark img { width: 56px; height: 56px; }
[data-rc] .rc-fit__col { background: var(--bg); }
[data-rc] .rc-fit__col--no { background: var(--ink-2); }
[data-rc] .cta-band .cta-band__act { display: flex; flex-direction: column; gap: 12px; align-items: flex-start; }
[data-rc] .cta-band__alt { color: #fff; font-weight: 700; text-decoration: none; }
@media (max-width: 1000px) { [data-rc] .leadband { grid-template-columns: 1fr; } }
/* rc-lf: validation states on the shared leadform component */
.rc-lf .optgrid.is-bad .opt { border-color: var(--red); }
.rc-lf .field.is-bad input, .rc-lf .field.is-bad textarea { border-color: var(--red); }
/* ===== Recruiting LP v5: candidate-first order, fact card, chart, slider, month cards, letter ===== */
.rc-hero--v5 .hero2__bg { object-position: 58% 35%; }
.rc-hero--v5::before { background: linear-gradient(90deg, rgba(12,10,8,.94) 0%, rgba(12,10,8,.82) 40%, rgba(12,10,8,.45) 70%, rgba(12,10,8,.3) 100%); }
.rc-hero--v5 .hero2__grid { grid-template-columns: 1.15fr .85fr; align-items: center; }
.rc-kick { margin: 14px 0 -4px; font-family: var(--font-display); font-weight: 700; font-size: 1.0625rem; color: rgba(255,255,255,.82); }
.rc-hero__cta { gap: 12px 14px; }
.rc-hero__more { color: #fff; font-weight: 600; text-decoration: underline; text-underline-offset: 4px; text-decoration-color: rgba(255,255,255,.4); }
.rc-hero__more:hover { text-decoration-color: #fff; }
.rc-fact { background: var(--paper); color: var(--ink); border-radius: 22px; padding: 22px 22px 18px; box-shadow: 0 30px 60px rgba(0,0,0,.35), 0 0 0 1px rgba(255,255,255,.4); }
.rc-fact__tag { display: inline-block; font-size: .6875rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--red); margin-bottom: 6px; }
.rc-fact__head h2 { font-size: 1.25rem; letter-spacing: -.02em; margin: 0 0 8px; }
.rc-fact__rows { margin: 0; display: grid; }
.rc-fact__rows > div { display: grid; grid-template-columns: 82px 1fr; gap: 12px; padding: 9px 0; border-top: 1px solid var(--line); }
.rc-fact__rows dt { font-size: .6875rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); padding-top: 3px; }
.rc-fact__rows dd { margin: 0; font-size: .9375rem; line-height: 1.4; color: var(--ink); }
.rc-fact__rows .is-key dd { font-family: var(--font-display); font-weight: 700; }
.rc-fact__rows .is-key dd b { color: var(--rc-green); }
.rc-fact__foot { display: flex; align-items: center; gap: 10px; margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--line); font-size: .8125rem; color: var(--muted); }
.rc-fact__foot img { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; flex: 0 0 auto; }
.rc-fact__foot div { display: flex; flex-direction: column; line-height: 1.3; min-width: 0; }
.rc-fact__foot b { color: var(--ink); font-family: var(--font-display); }
.rc-fact__foot a { margin-left: auto; color: var(--ink); font-weight: 700; white-space: nowrap; text-decoration: none; }
.rc-trust { background: var(--paper); border-bottom: 1px solid var(--line); }
.rc-trust__row { display: flex; flex-wrap: wrap; gap: 8px 32px; padding-block: 14px; }
.rc-trust__row span { display: inline-flex; align-items: center; gap: 8px; font-size: .9375rem; }
.rc-trust__row svg { width: 18px; height: 18px; color: var(--rc-green); flex: 0 0 auto; }
.rc-trust__row b { font-family: var(--font-display); font-weight: 700; }
.rc-role { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(28px, 5vw, 72px); align-items: start; }
.rc-role__intro .h2 { margin: 12px 0 16px; }
.rc-role__stay { font-family: var(--font-display); font-weight: 700; font-size: 1.25rem; line-height: 1.35; letter-spacing: -.01em; margin: 18px 0 24px; padding-left: 16px; border-left: 3px solid var(--red); }
.rc-role__ph { position: relative; aspect-ratio: 4 / 3; border-radius: var(--r-xl); overflow: hidden; box-shadow: var(--sh-md); }
.rc-role__ph img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rc-role__ph span { position: absolute; left: 18px; bottom: 16px; right: 18px; font-family: var(--font-display); font-weight: 700; color: #fff; text-shadow: 0 2px 12px rgba(0,0,0,.6); }
.rc-role__cols { display: grid; gap: 16px; }
.rc-role__card { background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-xl); padding: clamp(22px, 3vw, 32px); }
.rc-role__card h3 { font-size: 1.25rem; margin: 0 0 16px; }
.rc-role__card--get { background: var(--stone); }
.rc-num { list-style: none; margin: 0; padding: 0; display: grid; }
.rc-num li { display: grid; grid-template-columns: 36px 1fr; gap: 10px; padding: 11px 0; border-top: 1px solid var(--line); align-items: baseline; }
.rc-num li:first-child { border-top: 0; padding-top: 0; }
.rc-num span { font-family: var(--font-display); font-weight: 800; font-size: .8125rem; color: var(--red); letter-spacing: .04em; }
.rc-num p { margin: 0; color: var(--muted); font-size: .9375rem; line-height: 1.5; }
.rc-num p b { color: var(--ink); font-weight: 700; }
.rc-pay--v5 .h2 { margin: 12px 0 10px; }
.rc-pay--v5 .lead { margin-bottom: 22px; max-width: 58ch; }
.rc-chart { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; align-items: end; height: 230px; margin: 0 0 22px; padding: 0 4px; }
.rc-chart__col { display: flex; flex-direction: column; justify-content: flex-end; height: 100%; gap: 8px; }
.rc-chart__col b { font-family: var(--font-display); font-weight: 800; font-size: 1.125rem; letter-spacing: -.02em; white-space: nowrap; font-variant-numeric: tabular-nums; opacity: 0; transform: translateY(6px); transition: opacity .5s var(--ease) .55s, transform .5s var(--ease) .55s; }
.rc-chart__col i { display: block; height: var(--h); border-radius: 10px 10px 4px 4px; background: var(--ink-2); transform-origin: bottom; transform: scaleY(0); transition: transform .9s var(--ease); }
.rc-chart__col:nth-child(2) i { transition-delay: .15s; } .rc-chart__col:nth-child(3) i { transition-delay: .3s; }
.rc-chart__col.is-top i { background: var(--rc-green); }
.rc-chart__col.is-top b { color: var(--rc-green); font-size: 1.35rem; }
.rc-chart__col small { font-size: .75rem; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.rc-chart.is-in i { transform: scaleY(1); } .rc-chart.is-in b { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .rc-chart i { transform: none !important; } .rc-chart b { opacity: 1 !important; transform: none !important; } }
.rc-pay__aside--v5 p { color: var(--muted); font-size: .9375rem; line-height: 1.55; margin: 0 0 12px; }
.rc-pay__aside--v5 .btn--block { margin-top: 10px; }
.rc-pay__tel { display: inline-flex; align-items: center; gap: 8px; margin-top: 14px; color: var(--ink); font-weight: 600; text-decoration: none; font-size: .9375rem; }
.rc-pay__tel svg { color: var(--red); }
.rc-whysec { background: var(--ink-2); color: #fff; overflow: hidden; }
.rc-whysec .eyebrow { color: var(--on-dark-mut); } .rc-whysec .eyebrow::before { background: var(--red); }
.rc-whysec__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: clamp(22px, 3vw, 34px); }
.rc-whysec__head .h2 { color: #fff; max-width: 22ch; margin-top: 12px; }
.rc-slider__nav { display: flex; gap: 8px; flex: 0 0 auto; }
.rc-slider__btn { width: 46px; height: 46px; border-radius: 50%; border: 1.5px solid rgba(255,255,255,.3); background: transparent; color: #fff; font-size: 1.1rem; cursor: pointer; transition: background .2s, border-color .2s; }
.rc-slider__btn:hover { background: rgba(255,255,255,.12); border-color: #fff; }
.rc-slider { overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.rc-slider::-webkit-scrollbar { display: none; }
.rc-slider__track { display: flex; gap: 16px; padding-block: 4px 8px; }
.rc-slider__track::after { content: ""; flex: 0 0 1px; }
.rc-card { position: relative; flex: 0 0 min(340px, 78vw); height: 440px; border-radius: 20px; overflow: hidden; background: #1a1613; scroll-snap-align: start; isolation: isolate; }
.rc-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: blur(5px) brightness(.62) saturate(.9); transform: scale(1.1); transition: filter .6s var(--ease), transform .6s var(--ease); }
.rc-card:hover img { filter: blur(0) brightness(.7); transform: scale(1.03); }
.rc-card::before { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(10,8,6,.92) 0%, rgba(10,8,6,.55) 45%, rgba(10,8,6,.15) 75%, rgba(10,8,6,0) 100%); z-index: 1; }
.rc-card__body { position: absolute; left: 0; right: 0; bottom: 0; padding: 24px; z-index: 2; display: flex; flex-direction: column; gap: 8px; }
.rc-card__n { align-self: flex-start; font-family: var(--font-display); font-weight: 800; font-size: .75rem; letter-spacing: .08em; padding: 5px 10px; border-radius: 999px; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.2); margin-bottom: 6px; }
.rc-card h3 { font-size: 1.375rem; line-height: 1.15; letter-spacing: -.02em; color: #fff; margin: 0; }
.rc-card p { margin: 0; color: rgba(255,255,255,.82); font-size: .9375rem; line-height: 1.5; }
.rc-card--cta img { filter: blur(8px) brightness(.45); }
.rc-card--cta::before { background: linear-gradient(to top, rgba(200,22,29,.95) 0%, rgba(200,22,29,.75) 55%, rgba(200,22,29,.35) 100%); }
.rc-card--cta:hover img { filter: blur(6px) brightness(.5); }
.rc-card--cta .rc-card__n { background: rgba(255,255,255,.2); }
.rc-card--cta .btn { align-self: flex-start; margin-top: 8px; }
.rc-slider__dots { display: flex; gap: 6px; margin-top: 18px; }
.rc-slider__dots span { width: 8px; height: 8px; border-radius: 999px; background: rgba(255,255,255,.25); transition: width .25s, background .25s; }
.rc-slider__dots span.is-on { width: 24px; background: #fff; }
.rc-big .rc-big__head .h2 { margin-top: 12px; }
.rc-regions__side .eyebrow { color: var(--on-dark-mut); margin-bottom: 12px; } .rc-regions__side .eyebrow::before { background: var(--red); }
.rc-mcards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.rc-mcard { background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-xl); overflow: hidden; display: flex; flex-direction: column; }
.rc-mcard__ph { aspect-ratio: 4 / 3; overflow: hidden; }
.rc-mcard__ph img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s var(--ease); }
.rc-mcard:hover .rc-mcard__ph img { transform: scale(1.04); }
.rc-mcard__body { padding: 20px 22px 24px; }
.rc-mcard__body h3 { font-size: 1.125rem; margin: 0 0 8px; }
.rc-mcard__body p { margin: 0; color: var(--muted); font-size: .9375rem; line-height: 1.5; }
.rc-fit__col .h3 { font-size: 1.4rem; margin: 0 0 14px; }
.rc-fit__col--no .h3 { color: #fff; }
.rc-mid { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 24px; padding: 22px 26px; background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-xl); }
.rc-mid b { display: block; font-family: var(--font-display); font-size: 1.25rem; letter-spacing: -.01em; }
.rc-mid span { color: var(--muted); font-size: .9375rem; }
.rc-mid__act { display: flex; gap: 10px; flex-wrap: wrap; flex: 0 0 auto; }
.rc-mid .btn--ghost { background: transparent; color: var(--ink); border: 1.5px solid var(--line-2); }
.rc-mid .btn--ghost:hover { border-color: var(--ink); }
.rc-letter { display: grid; grid-template-columns: 260px 1fr; gap: clamp(28px, 5vw, 72px); align-items: start; background: var(--bg); border: 1px solid var(--line); border-radius: var(--r-xl); padding: clamp(24px, 4vw, 48px); }
.rc-letter__side { display: flex; flex-direction: column; gap: 4px; font-size: .875rem; color: var(--muted); }
.rc-letter__side img { width: 128px; height: 128px; border-radius: 50%; object-fit: cover; margin-bottom: 12px; }
.rc-letter__side b { font-family: var(--font-display); font-size: 1.125rem; color: var(--ink); }
.rc-letter__side a { color: var(--ink); font-weight: 600; text-decoration: none; margin-top: 2px; }
.rc-letter__side a:first-of-type { margin-top: 10px; }
.rc-letter__side small { margin-top: 10px; font-size: .75rem; line-height: 1.4; }
.rc-letter__body .h2 { margin: 12px 0 18px; max-width: 20ch; }
.rc-letter__body p { font-size: 1.0625rem; line-height: 1.6; color: var(--ink); max-width: 62ch; margin: 0 0 14px; }
.rc-letter__sign { font-family: var(--font-display); font-weight: 700; margin-top: 20px !important; }
.rc-proc__note { margin: 28px 0 0; padding-left: 16px; border-left: 3px solid var(--red); color: var(--muted); max-width: 72ch; font-size: .9375rem; line-height: 1.55; }
@media (max-width: 1000px) {
  .rc-hero--v5 .hero2__grid { grid-template-columns: 1fr; }
  .rc-role { grid-template-columns: 1fr; } .rc-role__ph { display: none; }
  .rc-mcards { grid-template-columns: 1fr 1fr; }
  .rc-letter { grid-template-columns: 1fr; } .rc-letter__side { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 4px 14px; } .rc-letter__side img { width: 72px; height: 72px; margin: 0; } .rc-letter__side small { flex-basis: 100%; }
  .rc-whysec__head { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 640px) {
  .rc-fact { padding: 18px 16px 14px; } .rc-fact__rows > div { grid-template-columns: 70px 1fr; }
  .rc-fact__foot a { display: none; }
  .rc-trust__row { gap: 6px 18px; } .rc-trust__row span { font-size: .875rem; }
  .rc-mcards { grid-template-columns: 1fr; }
  .rc-chart { height: 190px; gap: 8px; } .rc-chart__col b { font-size: .9375rem; } .rc-chart__col.is-top b { font-size: 1.1rem; }
  .rc-mid { flex-direction: column; align-items: stretch; } .rc-mid__act .btn { flex: 1 1 auto; justify-content: center; }
  .rc-card { height: 400px; }
  .rc-role__stay { font-size: 1.125rem; }
}
.rc-trust__row span::before { content: none !important; }
/* ===== Recruiting LP v5.1: role section (deal split + job grid) ===== */
.rc-role2__head { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(24px, 4vw, 64px); align-items: start; margin-bottom: clamp(26px, 3.5vw, 44px); }
.rc-role2__head .h2 { margin: 0; font-size: clamp(2rem, 3.4vw, 3rem); }
.rc-role2__head .lead { margin: 0 0 16px; }
.rc-role2__stay { font-family: var(--font-display); font-weight: 700; font-size: 1.125rem; line-height: 1.4; margin: 0; padding-left: 16px; border-left: 3px solid var(--red); }
.rc-deal { display: grid; grid-template-columns: 1.15fr .85fr; border-radius: var(--r-xl); overflow: hidden; box-shadow: var(--sh-md); min-height: 420px; }
.rc-deal__side { position: relative; isolation: isolate; color: #fff; }
.rc-deal__side img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: blur(6px) brightness(.4) saturate(.8); transform: scale(1.08); z-index: -1; }
.rc-deal__side--we { background: var(--ink-2); }
.rc-deal__side--you { background: var(--red-600); }
.rc-deal__in { padding: clamp(24px, 3.4vw, 44px); height: 100%; display: flex; flex-direction: column; }
.rc-deal__tag { display: inline-block; align-self: flex-start; font-size: .6875rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; padding: 6px 10px; border-radius: 999px; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.22); margin-bottom: 14px; }
.rc-deal__side h3 { color: #fff; font-size: clamp(1.4rem, 2.2vw, 1.9rem); letter-spacing: -.02em; margin: 0 0 18px; }
.rc-deal__side ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; }
.rc-deal__side--we ul { grid-template-columns: 1fr 1fr; gap: 0 28px; }
.rc-deal__side li { display: flex; gap: 12px; align-items: flex-start; padding: 11px 0; border-top: 1px solid rgba(255,255,255,.14); font-size: .9375rem; line-height: 1.45; color: rgba(255,255,255,.88); }
.rc-deal__side--we li:nth-child(-n+2) { border-top: 0; }
.rc-deal__side--you li:first-child { border-top: 0; }
.rc-deal__side li svg { width: 20px; height: 20px; flex: 0 0 auto; margin-top: 2px; color: #8ae8b3; }
.rc-deal__side--you li svg { color: #fff; }
.rc-deal__side li b { color: #fff; font-weight: 700; }
.rc-deal__note { margin: auto 0 0; padding-top: 18px; font-family: var(--font-display); font-weight: 700; font-size: 1.0625rem; line-height: 1.4; color: #fff; }
.rc-jobs__head { display: flex; align-items: baseline; justify-content: space-between; gap: 24px; margin: clamp(36px, 5vw, 64px) 0 18px; }
.rc-jobs__head .h3 { font-size: clamp(1.4rem, 2vw, 1.75rem); margin: 0; }
.rc-jobs__head p { margin: 0; color: var(--muted); max-width: 46ch; text-align: right; }
.rc-jobs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.rc-job { position: relative; background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 20px 18px 18px; display: flex; flex-direction: column; gap: 12px; transition: transform .25s var(--ease), box-shadow .25s var(--ease), border-color .25s; }
.rc-job:hover { transform: translateY(-3px); box-shadow: var(--sh-md); border-color: var(--line-2); }
.rc-job__ic { width: 42px; height: 42px; border-radius: 12px; background: var(--stone); color: var(--red); display: grid; place-items: center; }
.rc-job__ic svg { width: 22px; height: 22px; }
.rc-job__n { position: absolute; top: 18px; right: 18px; font-family: var(--font-display); font-weight: 800; font-size: .75rem; color: var(--muted); letter-spacing: .06em; }
.rc-job p { margin: 0; color: var(--muted); font-size: .9375rem; line-height: 1.5; }
.rc-job p b { display: block; color: var(--ink); font-family: var(--font-display); font-weight: 700; font-size: 1.0625rem; margin-bottom: 4px; }
@media (max-width: 1000px) { .rc-role2__head { grid-template-columns: 1fr; gap: 14px; } .rc-deal { grid-template-columns: 1fr; } .rc-deal__side--we ul { grid-template-columns: 1fr; } .rc-deal__side--we li:nth-child(2) { border-top: 1px solid rgba(255,255,255,.14); } .rc-jobs { grid-template-columns: 1fr 1fr; } .rc-jobs__head { flex-direction: column; gap: 6px; } .rc-jobs__head p { text-align: left; } }
@media (max-width: 640px) { .rc-jobs { grid-template-columns: 1fr; } }
/* v5.2: sticky pay aside, why-slider header */
.rc-pay__aside--v5 { position: sticky; top: 84px; }
.rc-whysec__title { font-size: clamp(2rem, 3.6vw, 3.2rem); line-height: 1.05; max-width: 20ch; }
.rc-whysec__title .hl { color: #8ae8b3; }
.rc-whysec__head .lead { color: rgba(255,255,255,.7); margin: 16px 0 0; max-width: 52ch; }
.rc-slider__nav { align-items: center; gap: 10px; }
.rc-slider__count { font-family: var(--font-display); font-weight: 600; font-size: .9375rem; color: rgba(255,255,255,.6); margin-right: 8px; font-variant-numeric: tabular-nums; letter-spacing: .04em; }
.rc-slider__count b { color: #fff; font-weight: 800; }
.rc-slider__bar { height: 3px; border-radius: 3px; background: rgba(255,255,255,.14); margin-top: 22px; overflow: hidden; }
.rc-slider__bar i { display: block; height: 100%; width: 8%; border-radius: 3px; background: #8ae8b3; transition: width .25s var(--ease); }
@media (max-width: 1000px) { .rc-pay__aside--v5 { position: static; } }
.rc-whysec__title .hl { background: none; padding: 0; text-decoration: none; color: #8ae8b3; }
.rc-slider { --sl-pad: max(var(--gutter), calc((100% - var(--maxw)) / 2 + var(--gutter))); scroll-padding-inline-start: var(--sl-pad); }
.rc-slider__track { max-width: none; margin: 0; padding-inline: var(--sl-pad); }
.rc-job--cta { background: var(--red-600); border-color: var(--red-600); color: #fff; justify-content: flex-end; }
.rc-job--cta .rc-job__n { color: rgba(255,255,255,.6); }
.rc-job--cta p { color: rgba(255,255,255,.85); }
.rc-job--cta p b { color: #fff; font-size: 1.25rem; }
.rc-job--cta .btn { align-self: flex-start; margin-top: 6px; }
.rc-job--cta:hover { border-color: var(--red-600); }
/* v5.3: proof pillars */
.rc-pillars { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.rc-pillar { position: relative; isolation: isolate; background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-xl); overflow: hidden; min-height: 460px; display: flex; }
.rc-pillar__in { padding: clamp(22px, 2.6vw, 32px); display: flex; flex-direction: column; gap: 8px; width: 100%; }
.rc-pillar__k { display: flex; align-items: center; gap: 10px; font-family: var(--font-display); font-weight: 700; font-size: 1rem; margin-bottom: 18px; }
.rc-pillar__k i { font-style: normal; font-weight: 800; font-size: .75rem; letter-spacing: .06em; color: var(--red); padding: 4px 8px; border-radius: 999px; background: var(--red-soft); }
.rc-pillar__n { font-family: var(--font-display); font-weight: 800; font-size: clamp(3rem, 4.6vw, 4.4rem); letter-spacing: -.035em; line-height: 1; color: var(--ink); font-variant-numeric: tabular-nums; }
.rc-pillar:nth-child(2) .rc-pillar__n { color: var(--rc-green); }
.rc-pillar__l { color: var(--muted); font-size: .9375rem; line-height: 1.45; max-width: 30ch; }
.rc-pillar ul { list-style: none; margin: auto 0 0; padding: 18px 0 0; display: grid; gap: 0; }
.rc-pillar li { padding: 11px 0; border-top: 1px solid var(--line); font-size: .9375rem; line-height: 1.5; color: var(--muted); }
.rc-pillar li b { color: var(--ink); font-weight: 700; }
.rc-pillar--photo { background: var(--ink-2); color: #fff; border-color: transparent; }
.rc-pillar--photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 60% 40%; filter: brightness(.42) saturate(.9); z-index: -1; }
.rc-pillar--photo .rc-pillar__k i { background: rgba(255,255,255,.16); color: #fff; }
.rc-pillar--photo .rc-pillar__n { color: #8ae8b3; }
.rc-pillar--photo .rc-pillar__l, .rc-pillar--photo li { color: rgba(255,255,255,.8); }
.rc-pillar--photo li { border-top-color: rgba(255,255,255,.16); }
.rc-pillar--photo li b { color: #fff; }
#zazemi .rc-big__src { margin-top: 16px; font-size: .75rem; color: var(--muted); }
@media (max-width: 1000px) { .rc-pillars { grid-template-columns: 1fr; } .rc-pillar { min-height: 0; } }
/* v5.4: honest self-check */
.rc-fitq { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.rc-fitq__col { background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-xl); padding: clamp(18px, 2.4vw, 28px); }
.rc-fitq__col--no { background: var(--ink-2); color: #fff; border-color: transparent; }
.rc-fitq__h { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.rc-fitq__h h3 { font-size: 1.35rem; margin: 0; letter-spacing: -.01em; }
.rc-fitq__col--no h3 { color: #fff; }
.rc-fitq__ic { width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; flex: 0 0 auto; }
.rc-fitq__ic svg { width: 18px; height: 18px; }
.rc-fitq__ic--yes { background: rgba(28,122,69,.14); color: var(--rc-green); }
.rc-fitq__ic--no { background: rgba(255,138,142,.16); color: #ff8a8e; }
.rc-fitq__list { display: grid; gap: 8px; }
.rc-chk { display: flex; gap: 12px; align-items: flex-start; width: 100%; text-align: left; padding: 12px 14px; border-radius: 14px; border: 1.5px solid var(--line); background: var(--bg); color: var(--ink); font: inherit; font-size: .9375rem; line-height: 1.45; cursor: pointer; transition: border-color .2s, background .2s, transform .2s; }
.rc-chk:hover { border-color: var(--line-2); transform: translateY(-1px); }
.rc-chk b { font-weight: 700; color: var(--ink); }
.rc-chk__box { width: 24px; height: 24px; border-radius: 7px; border: 1.5px solid var(--line-2); display: grid; place-items: center; flex: 0 0 auto; margin-top: 1px; color: transparent; transition: background .2s, border-color .2s, color .2s; }
.rc-chk__box svg { width: 14px; height: 14px; }
.rc-chk[aria-pressed="true"] { border-color: var(--rc-green); background: rgba(28,122,69,.08); }
.rc-chk[aria-pressed="true"] .rc-chk__box { background: var(--rc-green); border-color: var(--rc-green); color: #fff; }
.rc-chk--no { background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.14); color: rgba(255,255,255,.85); }
.rc-chk--no b { color: #fff; }
.rc-chk--no:hover { border-color: rgba(255,255,255,.4); }
.rc-chk--no .rc-chk__box { border-color: rgba(255,255,255,.35); }
.rc-chk--no[aria-pressed="true"] { border-color: #ff8a8e; background: rgba(200,22,29,.22); }
.rc-chk--no[aria-pressed="true"] .rc-chk__box { background: var(--red); border-color: var(--red); color: #fff; }
.rc-fitq__res { grid-column: 1 / -1; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 20px 28px; padding: 20px 26px; border-radius: var(--r-xl); background: var(--ink-2); color: #fff; }
.rc-fitq__score { display: flex; gap: 18px; font-family: var(--font-display); font-weight: 600; font-size: .9375rem; color: rgba(255,255,255,.65); }
.rc-fitq__score b { font-size: 1.5rem; font-weight: 800; color: #fff; }
.rc-fitq__score .is-yes b { color: #8ae8b3; } .rc-fitq__score .is-no b { color: #ff8a8e; }
.rc-fitq__score i { font-style: normal; }
.rc-fitq__msg { margin: 0; font-family: var(--font-display); font-weight: 700; font-size: 1.125rem; line-height: 1.35; }
.rc-fitq.is-go .rc-fitq__res { background: var(--rc-green); }
.rc-fitq.is-go .rc-fitq__score b, .rc-fitq.is-go .rc-fitq__score { color: #fff; }
.rc-fitq__act { display: flex; gap: 10px; flex-wrap: wrap; }
@media (max-width: 1000px) { .rc-fitq { grid-template-columns: 1fr; } .rc-fitq__res { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .rc-fitq__act .btn { flex: 1 1 auto; justify-content: center; } }
/* v6: lighter, conversion-first hero with call-back card */
.rc-hero--v6 .hero2__bg { object-position: 62% 30%; filter: none; }
.rc-hero--v6::before { background: linear-gradient(90deg, rgba(14,11,9,.9) 0%, rgba(14,11,9,.7) 45%, rgba(14,11,9,.35) 75%, rgba(14,11,9,.25) 100%); }
.rc-hero--v6 .hero2__grid { grid-template-columns: 1.2fr .8fr; min-height: min(72vh, 680px); padding-block: clamp(36px, 6vh, 72px); }
.rc-hero--v6 .hero2__copy h1 { font-size: clamp(2rem, 3.4vw, 2.9rem); margin: 14px 0 12px; }
.rc-hero--v6 .hero2__copy .lead { font-size: 1.0625rem; max-width: 50ch; margin-bottom: 20px; }
.rc-hero__chips { list-style: none; margin: 22px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.rc-hero__chips li { display: flex; flex-direction: column; gap: 1px; padding: 10px 14px; border-radius: 12px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14); backdrop-filter: blur(6px); }
.rc-hero__chips b { font-family: var(--font-display); font-weight: 800; font-size: 1.0625rem; letter-spacing: -.01em; color: #fff; white-space: nowrap; }
.rc-hero__chips span { font-size: .75rem; color: rgba(255,255,255,.7); }
.rc-cb { background: var(--paper); color: var(--ink); border-radius: 22px; padding: 22px 22px 18px; box-shadow: 0 30px 60px rgba(0,0,0,.35), 0 0 0 1px rgba(255,255,255,.4); position: relative; }
.rc-cb__form { display: grid; gap: 12px; position: relative; }
.rc-cb__head { display: flex; align-items: center; gap: 12px; }
.rc-cb__head img { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; flex: 0 0 auto; }
.rc-cb__tag { display: block; font-size: .6875rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--red); margin-bottom: 3px; }
.rc-cb__head h2 { font-size: 1.25rem; letter-spacing: -.02em; margin: 0; line-height: 1.15; }
.rc-cb__lead { margin: 0; font-size: .9rem; color: var(--muted); line-height: 1.45; }
.rc-cb .field label { font-size: .8125rem; font-weight: 600; }
.rc-cb .field input { width: 100%; }
.rc-cb .btn--block { margin-top: 4px; }
.rc-cb__note { margin: 0; font-size: .75rem; color: var(--muted); line-height: 1.45; }
.rc-cb__note a { color: inherit; }
.rc-cb__done { display: grid; gap: 4px; padding: 16px; border-radius: 14px; background: var(--green-bg); color: var(--green); }
.rc-cb__done b { font-family: var(--font-display); font-size: 1.125rem; }
.rc-cb__done span { font-size: .875rem; color: var(--ink); }
.rc-cb__alt { display: inline-flex; align-items: center; gap: 6px; margin-top: 12px; font-size: .875rem; font-weight: 700; color: var(--ink); text-decoration: none; }
.rc-cb__alt:hover { color: var(--red); }
.rc-cb .lf-fielderr:not([hidden]) { display: block; margin: 0; }
@media (max-width: 1000px) { .rc-hero--v6 .hero2__grid { grid-template-columns: 1fr; min-height: 0; } }
@media (max-width: 640px) { .rc-hero__chips li { flex: 1 1 calc(50% - 10px); } .rc-cb { padding: 18px 16px 14px; } }
.rc-cb__done[hidden] { display: none !important; }
.rc-hero--v6 .hero2__copy, .rc-cb, .rc-cb__form { min-width: 0; }
.rc-hero__chips li { min-width: 0; } .rc-hero__chips b { white-space: normal; }
/* v5.5: self-check card game */
.rc-game__head { max-width: 720px; margin: 0 auto clamp(22px, 3vw, 34px); text-align: center; }
.rc-game__head .h2 { font-size: clamp(2rem, 3.4vw, 3rem); }
.rc-game__head .lead { margin-top: 12px; }
.rc-game { max-width: 680px; margin: 0 auto; background: var(--ink-2); color: #fff; border-radius: 26px; padding: clamp(18px, 2.6vw, 28px); box-shadow: var(--sh-md); position: relative; }
.rc-game__top { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; }
.rc-game__prog { font-family: var(--font-display); font-weight: 600; font-size: .875rem; color: rgba(255,255,255,.6); white-space: nowrap; font-variant-numeric: tabular-nums; }
.rc-game__prog b { color: #fff; font-weight: 800; font-size: 1.05rem; }
.rc-game__bar { flex: 1; height: 4px; border-radius: 4px; background: rgba(255,255,255,.14); overflow: hidden; }
.rc-game__bar i { display: block; height: 100%; background: #8ae8b3; border-radius: 4px; transition: width .35s var(--ease); }
.rc-game__list-btn { background: none; border: 0; color: rgba(255,255,255,.6); font: inherit; font-size: .8125rem; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; white-space: nowrap; }
.rc-game__list-btn:hover { color: #fff; }
.rc-game__stage { position: relative; height: 250px; }
.rc-game__card { position: absolute; inset: 0; background: var(--paper); color: var(--ink); border-radius: 18px; padding: 26px 28px; display: flex; flex-direction: column; justify-content: center; gap: 12px; opacity: 0; transform: translateY(18px) scale(.94); transition: transform .38s var(--ease), opacity .3s var(--ease); pointer-events: none; }
.rc-game__card.is-next2 { opacity: .35; transform: translateY(16px) scale(.92); }
.rc-game__card.is-next { opacity: .6; transform: translateY(8px) scale(.96); }
.rc-game__card.is-cur { opacity: 1; transform: none; pointer-events: auto; z-index: 2; }
.rc-game__card.is-out-r { opacity: 0; transform: translateX(120%) rotate(8deg); z-index: 3; }
.rc-game__card.is-out-l { opacity: 0; transform: translateX(-120%) rotate(-8deg); z-index: 3; }
.rc-game__kind { font-size: .6875rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--rc-green); }
.rc-game__card[data-kind="no"] { background: #fff4f4; }
.rc-game__card[data-kind="no"] .rc-game__kind { color: var(--red); }
.rc-game__card p { margin: 0; font-family: var(--font-display); font-weight: 600; font-size: clamp(1.15rem, 1.9vw, 1.5rem); line-height: 1.3; letter-spacing: -.01em; color: var(--ink); }
.rc-game__card p b { font-weight: 800; }
.rc-game__btns { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 16px; }
.rc-game__btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 58px; border-radius: 16px; font-family: var(--font-display); font-weight: 800; font-size: 1.0625rem; cursor: pointer; border: 1.5px solid transparent; transition: transform .15s, background .2s, border-color .2s; }
.rc-game__btn svg { width: 20px; height: 20px; }
.rc-game__btn:active { transform: scale(.97); }
.rc-game__btn--no { background: rgba(255,255,255,.08); color: #fff; border-color: rgba(255,255,255,.2); }
.rc-game__btn--no:hover { background: rgba(255,255,255,.14); border-color: rgba(255,255,255,.4); }
.rc-game__btn--yes { background: var(--rc-green); color: #fff; }
.rc-game__btn--yes:hover { background: #22935a; }
.rc-game__hint { margin: 12px 0 0; text-align: center; font-size: .75rem; color: rgba(255,255,255,.45); }
@media (hover: none) { .rc-game__hint { display: none; } }
.rc-game__res { text-align: center; padding: 8px 0 4px; }
.rc-game__score { display: flex; justify-content: center; gap: 14px; margin-bottom: 18px; }
.rc-game__score div { flex: 1; max-width: 220px; padding: 14px 10px; border-radius: 14px; background: rgba(255,255,255,.08); display: flex; flex-direction: column; gap: 2px; }
.rc-game__score b { font-family: var(--font-display); font-weight: 800; font-size: 2.2rem; line-height: 1; letter-spacing: -.03em; }
.rc-game__score div:first-child b { color: #8ae8b3; } .rc-game__score div:last-child b { color: #ff8a8e; }
.rc-game__score span { font-size: .75rem; color: rgba(255,255,255,.65); }
.rc-game__res h3 { color: #fff; font-size: clamp(1.2rem, 2vw, 1.5rem); line-height: 1.3; max-width: 30ch; margin: 0 auto 18px; }
.rc-game__act { display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; }
.rc-game__again { margin-top: 14px; background: none; border: 0; color: rgba(255,255,255,.55); font: inherit; font-size: .8125rem; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.rc-game.is-go { background: var(--rc-green); } .rc-game.is-go .rc-game__score b, .rc-game.is-go .rc-game__score span { color: #fff; } .rc-game.is-go .rc-game__score div { background: rgba(255,255,255,.14); }
.rc-game.is-stop .rc-game__act .btn--primary { display: none; }
.rc-fit--list { margin-top: 18px; }
.rc-fit--list[hidden] { display: none; }
@media (max-width: 640px) { .rc-game__stage { height: 300px; } .rc-game__card { padding: 22px 20px; } .rc-game__list-btn { display: none; } }
@media (prefers-reduced-motion: reduce) { .rc-game__card { transition: none; } }
/* v6.1: hero step-1 picker (3 CTA from the form) */
.rc-pick { background: var(--paper); color: var(--ink); border-radius: 24px; padding: 22px 22px 16px; box-shadow: 0 30px 60px rgba(0,0,0,.35), 0 0 0 1px rgba(255,255,255,.4); }
.rc-pick__head { margin-bottom: 14px; }
.rc-pick__step { display: inline-flex; align-items: center; gap: 8px; font-size: .75rem; font-weight: 600; color: var(--muted); margin-bottom: 10px; }
.rc-pick__step b { width: 24px; height: 24px; border-radius: 50%; background: var(--red); color: #fff; display: grid; place-items: center; font-family: var(--font-display); font-weight: 800; font-size: .8125rem; }
.rc-pick__head h2 { font-size: 1.5rem; letter-spacing: -.02em; margin: 0 0 4px; }
.rc-pick__head p { margin: 0; font-size: .875rem; color: var(--muted); }
.rc-pick__opts { display: grid; gap: 10px; }
.rc-pick__opt { display: flex; align-items: center; gap: 14px; padding: 10px 14px 10px 10px; border-radius: 16px; border: 1.5px solid var(--line); background: var(--bg); color: var(--ink); text-decoration: none; transition: border-color .2s, transform .2s, box-shadow .2s, background .2s; }
.rc-pick__opt:hover { border-color: var(--red); transform: translateX(4px); box-shadow: var(--sh-sm); background: #fff; }
.rc-pick__ph { position: relative; width: 76px; height: 58px; border-radius: 12px; overflow: hidden; flex: 0 0 auto; background: var(--stone); }
.rc-pick__ph img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rc-pick__ph i { position: absolute; left: 6px; top: 6px; font-style: normal; font-family: var(--font-display); font-weight: 800; font-size: .625rem; letter-spacing: .06em; color: #fff; background: rgba(0,0,0,.55); padding: 2px 6px; border-radius: 999px; }
.rc-pick__txt { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.rc-pick__txt b { font-family: var(--font-display); font-weight: 700; font-size: 1.0625rem; letter-spacing: -.01em; line-height: 1.2; }
.rc-pick__txt small { font-size: .8125rem; color: var(--muted); }
.rc-pick__arr { margin-left: auto; width: 34px; height: 34px; border-radius: 50%; background: var(--red-soft); color: var(--red); display: grid; place-items: center; flex: 0 0 auto; transition: background .2s, color .2s; }
.rc-pick__opt:hover .rc-pick__arr { background: var(--red); color: #fff; }
.rc-pick__foot { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--line); font-size: .75rem; color: var(--muted); }
.rc-pick__foot a { color: var(--ink); font-weight: 700; text-decoration: none; white-space: nowrap; }
.rc-pick__foot a:hover { color: var(--red); }
.rc-hero--v6 .hero2__grid { grid-template-columns: 1.15fr .85fr; }
@media (max-width: 640px) { .rc-pick { padding: 18px 14px 12px; } .rc-pick__ph { width: 62px; height: 50px; } .rc-pick__txt b { font-size: 1rem; } .rc-pick__txt small { display: none; } }
@media (max-width: 1000px) { .rc-hero--v6 .hero2__grid { grid-template-columns: 1fr; } }
/* v6.2: Remotion video band */
.rc-vid { background: var(--ink-2); color: #fff; }
.rc-vid__grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(28px, 5vw, 72px); align-items: center; }
.rc-vid__copy .h2 { color: #fff; font-size: clamp(1.8rem, 3vw, 2.6rem); }
.rc-vid__copy .lead { color: rgba(255,255,255,.72); margin: 14px 0 18px; }
.rc-vid__pts { list-style: none; margin: 0 0 24px; padding: 0; display: grid; gap: 0; }
.rc-vid__pts li { padding: 11px 0 11px 28px; border-top: 1px solid rgba(255,255,255,.14); position: relative; font-size: .9375rem; color: rgba(255,255,255,.88); line-height: 1.45; }
.rc-vid__pts li::before { content: ""; position: absolute; left: 4px; top: 18px; width: 10px; height: 10px; border-radius: 50%; background: #8ae8b3; }
.rc-vid__frame { position: relative; border-radius: 22px; overflow: hidden; background: #000; box-shadow: 0 40px 80px rgba(0,0,0,.45), 0 0 0 1px rgba(255,255,255,.12); aspect-ratio: 16 / 9; }
.rc-vid__frame video { width: 100%; height: 100%; object-fit: cover; display: block; }
.rc-vid__mute { position: absolute; right: 14px; bottom: 14px; width: 40px; height: 40px; border-radius: 50%; border: 1px solid rgba(255,255,255,.3); background: rgba(0,0,0,.45); backdrop-filter: blur(6px); cursor: pointer; color: #fff; }
.rc-vid__mute::before { content: ""; position: absolute; left: 50%; top: 50%; width: 12px; height: 12px; transform: translate(-50%,-50%); border-left: 4px solid #fff; border-right: 4px solid #fff; }
.rc-vid__mute.is-paused::before { width: 0; height: 0; border: 0; border-left: 12px solid #fff; border-top: 7px solid transparent; border-bottom: 7px solid transparent; transform: translate(-40%,-50%); }
@media (max-width: 1000px) { .rc-vid__grid { grid-template-columns: 1fr; } .rc-vid__frame { order: -1; } }
/* v6.3: bigger video, clickable CTA overlay during the end card */
.rc-vid__frame--wide { max-width: 1160px; margin: 0 auto; }
.rc-vid__row { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(24px, 4vw, 64px); align-items: start; max-width: 1160px; margin: clamp(26px, 3.5vw, 44px) auto 0; }
.rc-vid__row .h2 { color: #fff; font-size: clamp(1.7rem, 2.8vw, 2.4rem); }
.rc-vid__row .lead { color: rgba(255,255,255,.72); margin: 12px 0 0; }
.rc-vid__row .rc-vid__pts { margin-top: 4px; }
.rc-vid__cta { position: absolute; left: 50%; top: 61.5%; width: 21%; height: 10%; transform: translate(-50%,-50%); border-radius: 999px; cursor: pointer; z-index: 2; box-shadow: 0 0 0 0 rgba(255,255,255,0); transition: box-shadow .2s; }
.rc-vid__cta:hover { box-shadow: 0 0 0 5px rgba(255,255,255,.45); }
.rc-vid__cta[hidden] { display: none; }
.rc-vid__mute { z-index: 3; }
@media (max-width: 1000px) { .rc-vid__row { grid-template-columns: 1fr; } }
/* v6.4: native explainer animation (SVG + HTML), replaces the MP4 on the page */
.rc-vid__frame { container-type: inline-size; }
.rc-anim { position: absolute; inset: 0; background: var(--ink-2); color: #fff; font-family: var(--font-display); overflow: hidden; --e: cubic-bezier(.2,.8,.2,1); }
.rc-anim__s { position: absolute; inset: 0; opacity: 0; transition: opacity .5s var(--e); }
.rc-anim__s1 { opacity: 1; }
.rc-anim.s2 .rc-anim__s1 { opacity: 0; } .rc-anim.s2 .rc-anim__s2 { opacity: 1; }
.rc-anim.s3 .rc-anim__s2 { opacity: 0; } .rc-anim.s3 .rc-anim__s3 { opacity: 1; }
.rc-anim__hd { position: absolute; left: 8%; top: 8%; opacity: 0; transform: translateY(1.5cqw); transition: opacity .7s var(--e), transform .7s var(--e); }
.rc-anim.is-draw .rc-anim__hd, .rc-anim.s2 .rc-anim__s2 .rc-anim__hd { opacity: 1; transform: none; }
.rc-anim__eb { display: block; font-weight: 700; font-size: 1.35cqw; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.62); }
.rc-anim__hd h3 { margin: .6cqw 0 0; font-weight: 800; font-size: 4.1cqw; line-height: 1.02; letter-spacing: -.03em; color: #fff; }
.rc-anim__hd h3 em { font-style: normal; color: #8ae8b3; opacity: 0; transition: opacity .6s var(--e); }
.rc-anim.is-hot .rc-anim__hd h3 em { opacity: 1; }
.rc-anim__map { position: absolute; overflow: visible; }
.rc-anim__map path { fill: rgba(255,255,255,.07); fill-opacity: 0; stroke: rgba(255,255,255,.55); stroke-width: 1.6; stroke-linejoin: round; stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset 2.3s var(--e), fill-opacity .9s var(--e), fill .6s, stroke .4s; }
.rc-anim__map path:nth-child(even) { fill: rgba(255,255,255,.12); }
.rc-anim.is-draw .rc-anim__map path { stroke-dashoffset: 0; }
.rc-anim.is-fill .rc-anim__map path { fill-opacity: 1; }
.rc-anim.is-hot .rc-anim__map path[data-r="bay"] { fill: rgba(138,232,179,.62); stroke: #8ae8b3; stroke-width: 3; }
.rc-anim__pin { transform-box: fill-box; transform-origin: center; opacity: 0; transition: opacity .3s var(--d), transform .55s cubic-bezier(.3,1.6,.5,1) var(--d); transform: scale(0); }
.rc-anim.is-pins .rc-anim__pin { opacity: 1; transform: scale(1); }
.rc-anim__pin circle { fill: #c8161d; stroke: #fff; stroke-width: 3; transition: fill .4s; }
.rc-anim.is-hot .rc-anim__pin[data-r="bay"] circle { fill: #1c7a45; }
.rc-anim__pin text { fill: #fff; font-weight: 800; font-size: 17px; text-anchor: middle; }
.rc-anim__links { position: absolute; inset: 0; width: 100%; height: 100%; }
.rc-anim__links path { fill: none; stroke: #8ae8b3; stroke-width: 3; stroke-linecap: round; vector-effect: non-scaling-stroke; stroke-dasharray: 1; stroke-dashoffset: 1; opacity: .9; transition: stroke-dashoffset 1.4s var(--e) var(--d); }
.rc-anim.is-links .rc-anim__links path { stroke-dashoffset: 0; }
.rc-anim__node { position: absolute; display: flex; align-items: center; gap: 1cqw; transform: translateY(-50%) scale(0); transform-origin: left center; transition: transform .6s cubic-bezier(.3,1.5,.5,1) var(--d); }
.rc-anim.is-links .rc-anim__node { transform: translateY(-50%) scale(1); }
.rc-anim__node i { width: 1.15cqw; height: 1.15cqw; border-radius: 50%; background: #8ae8b3; box-shadow: 0 0 0 .4cqw rgba(138,232,179,.18); flex: 0 0 auto; }
.rc-anim__node div { background: var(--paper); color: var(--ink); border-radius: 1.1cqw; padding: .9cqw 1.5cqw; min-width: 20cqw; box-shadow: 0 1.2cqw 2.5cqw rgba(0,0,0,.35); }
.rc-anim__node b { display: block; font-weight: 800; font-size: 1.85cqw; letter-spacing: -.02em; line-height: 1.1; }
.rc-anim__node span { display: block; font-family: var(--font-body); font-weight: 500; font-size: 1.2cqw; color: #6b625a; margin-top: .15cqw; }
.rc-anim__yours { position: absolute; font-weight: 800; font-size: 1.6cqw; color: #8ae8b3; opacity: 0; transform: translateX(-.6cqw); transition: opacity .5s var(--e), transform .5s var(--e); }
.rc-anim.is-hot .rc-anim__yours { opacity: 1; transform: none; }
.rc-anim__sub { position: absolute; font-weight: 700; font-size: 1.5cqw; color: rgba(255,255,255,.62); opacity: 0; transition: opacity .5s var(--e) .3s; }
.rc-anim.is-links .rc-anim__sub { opacity: 1; }
.rc-anim__s2 { background: var(--paper); color: var(--ink); }
.rc-anim__hd--dark .rc-anim__eb { color: #8a8078; } .rc-anim__hd--dark h3 { color: var(--ink); } .rc-anim__hd--dark h3 em { color: var(--rc-green); opacity: 1; }
.rc-anim__note { position: absolute; right: 8%; top: 12%; text-align: right; font-weight: 700; font-size: 1.5cqw; color: #8a8078; line-height: 1.4; opacity: 0; transition: opacity .6s var(--e) 5s; }
.rc-anim.is-bars .rc-anim__note { opacity: 1; }
.rc-anim__bars { position: absolute; left: 50%; bottom: 22%; transform: translateX(-50%); display: flex; gap: 2.5cqw; align-items: flex-end; height: 42%; }
.rc-anim__bar { width: 22cqw; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; position: relative; }
.rc-anim__bar i { display: block; width: 100%; height: var(--h); background: var(--ink); border-radius: 1.1cqw 1.1cqw .4cqw .4cqw; transform: scaleY(0); transform-origin: bottom; transition: transform 1.8s var(--e) var(--d); }
.rc-anim__bar.is-top i { background: var(--rc-green); }
.rc-anim.is-bars .rc-anim__bar i { transform: scaleY(1); }
.rc-anim__bar b { position: absolute; bottom: calc(var(--h) + 1.2cqw); left: 0; right: 0; text-align: center; font-weight: 800; font-size: 2.4cqw; letter-spacing: -.03em; font-variant-numeric: tabular-nums; opacity: 0; transition: opacity .5s var(--e) calc(var(--d) + .3s); white-space: nowrap; }
.rc-anim__bar.is-top b { color: var(--rc-green); font-size: 2.9cqw; }
.rc-anim.is-bars .rc-anim__bar b { opacity: 1; }
.rc-anim__bar small { position: absolute; top: calc(100% + 1cqw); left: 0; right: 0; text-align: center; font-weight: 700; font-size: 1.35cqw; letter-spacing: .08em; text-transform: uppercase; color: #8a8078; }
.rc-anim__base { position: absolute; left: 0; right: 0; bottom: 22%; height: 2px; background: rgba(20,17,12,.12); }
.rc-anim__s3 { background: var(--red-600); display: flex; flex-direction: column; align-items: center; justify-content: center; }
.rc-anim__logo { position: absolute; left: 8%; top: 9%; height: 5.3cqw; width: auto; }
.rc-anim__s3 h3 { margin: 0; font-weight: 800; font-size: 5.2cqw; line-height: 1.02; letter-spacing: -.03em; color: #fff; text-align: center; opacity: 0; transform: translateY(2cqw); transition: opacity .7s var(--e), transform .7s var(--e); }
.rc-anim.s3 .rc-anim__s3 h3 { opacity: 1; transform: none; }
.rc-anim__btn { position: relative; margin-top: 2.5cqw; background: #fff; color: var(--red-600); font-weight: 800; font-size: 2cqw; padding: 1.4cqw 2.75cqw; border-radius: 999px; text-decoration: none; box-shadow: 0 1.1cqw 2.5cqw rgba(0,0,0,.25); transition: transform .18s var(--e), box-shadow .3s, background .3s; }
.rc-anim__btn:hover { transform: scale(1.04); }
.rc-anim.is-click .rc-anim__btn { background: var(--paper); box-shadow: 0 0 0 .4cqw rgba(255,255,255,.35); animation: rcPress .35s var(--e); }
@keyframes rcPress { 0% { transform: scale(1); } 40% { transform: scale(.94); } 100% { transform: scale(1); } }
.rc-anim__ripple { position: absolute; left: 50%; top: 50%; width: 3cqw; height: 3cqw; border-radius: 50%; border: 2px solid rgba(255,255,255,.85); transform: translate(-50%,-50%); opacity: 0; pointer-events: none; }
.rc-anim.is-click .rc-anim__ripple { animation: rcRipple 1.3s var(--e) forwards; }
@keyframes rcRipple { 0% { width: 3cqw; height: 3cqw; opacity: .9; } 100% { width: 24cqw; height: 24cqw; opacity: 0; } }
.rc-anim__tagline { margin-top: 1.6cqw; font-weight: 700; font-size: 1.4cqw; color: #fff; opacity: 0; transition: opacity .5s var(--e); }
.rc-anim.is-tag .rc-anim__tagline { opacity: 1; }
.rc-anim__cursor { position: absolute; left: 82%; top: 95%; width: 2.1cqw; height: auto; opacity: 0; filter: drop-shadow(0 .3cqw .6cqw rgba(0,0,0,.4)); transition: left 1.3s var(--e), top 1.3s var(--e), opacity .3s, transform .15s; pointer-events: none; }
.rc-anim.is-cursor .rc-anim__cursor { opacity: 1; left: 51%; top: 55.5%; }
.rc-anim.is-click .rc-anim__cursor { transform: scale(.9); }
.rc-anim__foot { position: absolute; bottom: 8%; font-weight: 700; font-size: 1.4cqw; letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,.8); }
.rc-anim__prog { position: absolute; left: 0; right: 0; bottom: 0; height: .35cqw; background: rgba(255,255,255,.14); z-index: 3; }
.rc-anim__prog i { display: block; height: 100%; width: 0; background: #8ae8b3; }
.rc-anim.s2 .rc-anim__prog { background: rgba(20,17,12,.12); }
.rc-anim.is-static .rc-anim__s3 h3, .rc-anim.is-static .rc-anim__tagline { opacity: 1; transform: none; } .rc-anim.is-static .rc-anim__prog, .rc-anim.is-static .rc-anim__cursor { display: none; }
@media (max-width: 640px) { .rc-anim__node div { min-width: 24cqw; } .rc-anim__hd h3 { font-size: 4.6cqw; } }
.rc-anim__yours { background: var(--ink-2); color: #8ae8b3; padding: .45cqw .9cqw; border-radius: 999px; font-size: 1.3cqw; box-shadow: 0 .5cqw 1.2cqw rgba(0,0,0,.35); }
.rc-anim__map { overflow: visible; }
/* v6.5: mobile portrait variant of the explainer */
.rc-anim__pin circle { r: 17; } .rc-anim__pin text { font-size: 18px; }
@media (max-width: 640px) {
  .rc-vid__frame--wide { aspect-ratio: 4 / 5; border-radius: 18px; }
  .rc-anim__hd { left: 7%; top: 5.5%; right: 7%; }
  .rc-anim__eb { font-size: 2.6cqw; }
  .rc-anim__hd h3 { font-size: 7.4cqw; margin-top: 1cqw; }
  .rc-anim__map { left: 8% !important; top: 22% !important; width: 40% !important; height: 43% !important; }
  .rc-anim__links, .rc-anim__sub { display: none; }
  .rc-anim__yours { left: 24% !important; top: 66.5% !important; font-size: 2.8cqw; padding: 1cqw 2cqw; }
  .rc-anim__node { left: 52% !important; right: 6%; top: auto !important; transform: translateY(0) scale(0); transform-origin: left center; }
  .rc-anim.is-links .rc-anim__node { transform: none; }
  .rc-anim__node:nth-of-type(2) { top: 24% !important; } .rc-anim__node:nth-of-type(3) { top: 35% !important; } .rc-anim__node:nth-of-type(4) { top: 46% !important; } .rc-anim__node:nth-of-type(5) { top: 57% !important; }
  .rc-anim__node i { width: 2cqw; height: 2cqw; box-shadow: 0 0 0 .8cqw rgba(138,232,179,.18); }
  .rc-anim__node div { min-width: 0; flex: 1; padding: 1.8cqw 3cqw; border-radius: 2.4cqw; }
  .rc-anim__node b { font-size: 3.8cqw; } .rc-anim__node span { font-size: 2.6cqw; }
  .rc-anim__note { right: 7%; top: auto; bottom: 6%; left: 7%; text-align: center; font-size: 2.8cqw; }
  .rc-anim__bars { bottom: 28%; height: 34%; gap: 3cqw; }
  .rc-anim__bar { width: 26cqw; }
  .rc-anim__bar b { font-size: 4.2cqw; bottom: calc(var(--h) + 2cqw); } .rc-anim__bar.is-top b { font-size: 5cqw; }
  .rc-anim__bar small { font-size: 2.4cqw; top: calc(100% + 2cqw); }
  .rc-anim__base { bottom: 28%; }
  .rc-anim__logo { height: 9cqw; top: 6%; left: 7%; }
  .rc-anim__s3 h3 { font-size: 9.6cqw; padding: 0 6%; }
  .rc-anim__btn { font-size: 4.6cqw; padding: 3.2cqw 6.5cqw; margin-top: 5cqw; box-shadow: 0 2.5cqw 5cqw rgba(0,0,0,.25); }
  .rc-anim__tagline { font-size: 3cqw; margin-top: 3.5cqw; }
  .rc-anim__cursor { width: 5cqw; }
  .rc-anim.is-cursor .rc-anim__cursor { left: 52%; top: 57.5%; }
  .rc-anim__foot { font-size: 2.6cqw; bottom: 6%; }
  .rc-anim__prog { height: .8cqw; }
  @keyframes rcRipple { 0% { width: 6cqw; height: 6cqw; opacity: .9; } 100% { width: 60cqw; height: 60cqw; opacity: 0; } }
}
@media (max-width: 640px) { .rc-anim__node:nth-of-type(2) { top: 22% !important; } .rc-anim__node:nth-of-type(3) { top: 34.5% !important; } .rc-anim__node:nth-of-type(4) { top: 47% !important; } .rc-anim__node:nth-of-type(5) { top: 59.5% !important; } .rc-anim__node span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } }
/* v6.6: camera moves (push-in, zoom to region, pull-back) */
.rc-vid__frame { container-type: size; }
.rc-anim__world, .rc-anim__world2, .rc-anim__world3 { position: absolute; inset: 0; transform-origin: 0 0; will-change: transform; }
.rc-anim__world { transform: translate(-3cqw, -2cqh) scale(1.08); transition: transform 5s var(--e); }
.rc-anim.is-draw .rc-anim__world { transform: none; }
.rc-anim.is-hot .rc-anim__world { transform: translate(0.3cqw, -73.3cqh) scale(1.8); transition-duration: 1.8s; }
.rc-anim.is-links .rc-anim__world { transform: none; transition-duration: 1.7s; }
.rc-anim.is-hot .rc-anim__map path:not([data-r="bay"]) { transition: fill-opacity .8s; }
.rc-anim__world2 { transform-origin: 62% 72%; transform: scale(1); transition: transform 7.5s linear; }
.rc-anim.is-bars .rc-anim__world2 { transform: scale(1.07); }
.rc-anim__world3 { position: relative; inset: auto; display: flex; flex-direction: column; align-items: center; transform-origin: 50% 55%; transition: transform 5s var(--e); }
.rc-anim.s3 .rc-anim__world3 { transform: scale(1.06); }
.rc-anim.is-click .rc-anim__world3 { transform: scale(1.12); transition-duration: 1.4s; }
@media (max-width: 640px) {
  .rc-anim.is-hot .rc-anim__world { transform: translate(-5.7cqw, -48.8cqh) scale(1.7); }
  .rc-anim.is-links .rc-anim__world { transform: none; }
}
@media (prefers-reduced-motion: reduce) { .rc-anim__world, .rc-anim__world2, .rc-anim__world3 { transform: none !important; transition: none !important; } }
/* v6.6b: zoom target right of the title, dim the rest while zoomed */
.rc-anim.is-hot .rc-anim__world { transform: translate(16.0cqw, -80.2cqh) scale(1.9); }
.rc-anim.is-hot .rc-anim__map path:not([data-r="bay"]) { fill-opacity: .35; stroke-opacity: .35; }
.rc-anim.is-hot .rc-anim__pin:not([data-r="bay"]) { opacity: .35; }
.rc-anim.is-links .rc-anim__world { transform: none; }
.rc-anim.is-links .rc-anim__map path:not([data-r="bay"]) { fill-opacity: 1; stroke-opacity: 1; }
.rc-anim.is-links .rc-anim__pin:not([data-r="bay"]) { opacity: 1; }
.rc-anim__map path { transition: stroke-dashoffset 2.3s var(--e), fill-opacity .9s var(--e), stroke-opacity .9s var(--e), fill .6s, stroke .4s; }
.rc-anim__pin { transition: opacity .6s var(--d), transform .55s cubic-bezier(.3,1.6,.5,1) var(--d); }
@media (max-width: 640px) { .rc-anim.is-hot .rc-anim__world { transform: translate(-4.0cqw, -47.3cqh) scale(1.8); } .rc-anim.is-links .rc-anim__world { transform: none; } }
/* v6.7: mobile scene-1 layout rebalanced (nodes are the world's 1st–4th div) */
@media (max-width: 640px) {
  .rc-anim__map { left: 5% !important; top: 21% !important; width: 46% !important; height: 52% !important; }
  .rc-anim__node { left: 55% !important; right: 5%; }
  .rc-anim__node:nth-of-type(1) { top: 27% !important; } .rc-anim__node:nth-of-type(2) { top: 41% !important; } .rc-anim__node:nth-of-type(3) { top: 55% !important; } .rc-anim__node:nth-of-type(4) { top: 69% !important; }
  .rc-anim__node:nth-of-type(5) { top: auto !important; }
  .rc-anim__node div { padding: 2.2cqw 3.2cqw; }
  .rc-anim__node b { font-size: 4.2cqw; } .rc-anim__node span { font-size: 2.8cqw; }
  .rc-anim__yours { left: 12% !important; top: 76% !important; font-size: 3.2cqw; }
  .rc-anim__sub { display: block; left: 7% !important; top: auto !important; bottom: 7%; right: 7%; text-align: center; font-size: 2.8cqw; }
  .rc-anim__pin circle { r: 22; } .rc-anim__pin text { font-size: 22px; }
}
@media (max-width: 640px) {
  .rc-anim__bars { bottom: 31%; height: 36%; gap: 2.5cqw; }
  .rc-anim__bar { width: 23cqw; }
  .rc-anim__bar b { font-size: 4cqw; } .rc-anim__bar.is-top b { font-size: 4.6cqw; }
  .rc-anim__base { bottom: 31%; }
  .rc-anim__note { bottom: 9%; }
}
@media (max-width: 640px) { .rc-anim__bars { bottom: 29%; height: 33%; } .rc-anim__base { bottom: 29%; } }
/* v6.8: cursor lands on the arrow, then leaves after the click */
.rc-anim.is-cursor .rc-anim__cursor { left: 56.5%; top: 55.5%; }
.rc-anim.is-done .rc-anim__cursor { opacity: 0; left: 64%; top: 74%; transition: left 1.1s var(--e), top 1.1s var(--e), opacity .6s var(--e) .3s; }
@media (max-width: 640px) { .rc-anim.is-cursor .rc-anim__cursor { left: 60%; top: 57.5%; } .rc-anim.is-done .rc-anim__cursor { left: 72%; top: 78%; } }
/* pay chart: bars scale from the space left after labels, never shrink */
.rc-chart__col i { flex: 0 0 auto; height: calc((100% - 66px) * var(--hf, 1)); }
.rc-chart__col b, .rc-chart__col small { flex: 0 0 auto; }
/* v6.9: leaner multistep form */
.rc-lf .lf-sub { font-size: .9375rem; font-weight: 700; margin: 18px 0 8px; color: var(--ink); }
.rc-lf .optgrid + .lf-sub { margin-top: 14px; }
.rc-lf .optgrid { margin-bottom: 4px; }
.rc-lf .field { margin-top: 12px; }
.rc-lf .optgrid .opt { padding-block: 11px; }
.rc-lf .optgrid .opt__ic { width: 38px; height: 38px; }
.rc-lf .leadform__q:focus { outline: none; } .rc-lf .leadform__q:focus-visible { outline: 3px solid var(--red-soft); outline-offset: 4px; border-radius: 6px; }
/* v6.10: price cards – equal rows so prices line up across the three cards */
.price-card--lp .price-card__name { min-height: 2.5em; line-height: 1.2; display: flex; align-items: flex-end; }
.price-card--lp .price-card__desc { min-height: 4.2em; line-height: 1.4; }
.price-card--lp .price-card__txt > .badge { margin-bottom: 4px; }
.price-card--lp .price-card__value { align-self: end; }
.price-card--lp .price-card__list { min-height: 10.5em; }
@media (max-width: 640px) { .price-card--lp .price-card__name, .price-card--lp .price-card__desc, .price-card--lp .price-card__list { min-height: 0; display: block; } }
/* form: steady height between steps */
@media (min-width: 761px) { .rc-lf .leadform__body { min-height: 430px; display: flex; flex-direction: column; } .rc-lf .leadform__step.active { display: flex; flex-direction: column; flex: 1; } .rc-lf .leadform__step.active .leadform__nav { margin-top: auto; } }
@media (min-width: 761px) { .rc-lf .leadform__nav { margin-top: auto; padding-top: 22px; } }
/* step "your numbers": years in one row so the step stays as tall as the others */
.rc-lf .leadform__step[data-step="4"] .optgrid { grid-template-columns: repeat(2, 1fr); }
.rc-lf .leadform__step[data-step="4"] .opt { padding: 12px 40px 12px 12px; }
.rc-lf .leadform__step[data-step="4"] textarea { min-height: 72px; }
.rc-lf .leadform__step[data-step="4"] .field { margin-top: 10px; }
/* v7: explainer polish – scene enter motion, live links, pin pulse, button pulse, vignette */
.rc-anim::after { content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 4; background: radial-gradient(120% 90% at 50% 40%, transparent 55%, rgba(0,0,0,.28) 100%); }
.rc-anim.s2::after, .rc-anim.s3::after { opacity: .5; }
.rc-anim__s2, .rc-anim__s3 { transform: scale(1.03); transition: opacity .6s var(--e), transform .9s var(--e); }
.rc-anim.s2 .rc-anim__s2, .rc-anim.s3 .rc-anim__s3 { transform: none; }
.rc-anim.s3 .rc-anim__s2 { transform: scale(.98); }
/* links: back to the solid drawn lines (flowing dashes removed on request) */
.rc-anim__links path.rc-anim__link-base { display: none; }
.rc-anim__pin[data-r="bay"] circle:first-child { transform-box: fill-box; transform-origin: center; }
.rc-anim.is-hot .rc-anim__pin[data-r="bay"]::before { content: ""; }
.rc-anim.is-hot .rc-anim__pin[data-r="bay"] .rc-anim__ring { opacity: 1; animation: rcRing 1.6s ease-out infinite; }
.rc-anim__ring { opacity: 0; fill: none; stroke: #8ae8b3; stroke-width: 2; transform-box: fill-box; transform-origin: center; }
@keyframes rcRing { 0% { transform: scale(1); opacity: .9; } 100% { transform: scale(2.6); opacity: 0; } }
.rc-anim__node { transition: transform .6s cubic-bezier(.3,1.5,.5,1) var(--d), opacity .4s var(--d); }
.rc-anim.is-links .rc-anim__node { animation: rcFloat 4s ease-in-out infinite; animation-delay: calc(var(--d) + 1s); }
@keyframes rcFloat { 0%,100% { translate: 0 0; } 50% { translate: 0 -.5cqw; } }
.rc-anim__bar i { box-shadow: inset 0 -1cqw 2cqw rgba(0,0,0,.18); }
.rc-anim__bar.is-top i { box-shadow: inset 0 -1cqw 2cqw rgba(0,0,0,.25), 0 1cqw 3cqw rgba(28,122,69,.25); }
.rc-anim.is-bars .rc-anim__bar.is-top b { animation: rcPop .5s cubic-bezier(.3,1.6,.5,1) 3.2s both; }
@keyframes rcPop { 0% { transform: scale(.85); } 100% { transform: scale(1); } }
.rc-anim.s3:not(.is-click) .rc-anim__btn { animation: rcBreathe 1.6s ease-in-out infinite; }
@keyframes rcBreathe { 0%,100% { box-shadow: 0 1.1cqw 2.5cqw rgba(0,0,0,.25), 0 0 0 0 rgba(255,255,255,.5); } 50% { box-shadow: 0 1.1cqw 2.5cqw rgba(0,0,0,.25), 0 0 0 .9cqw rgba(255,255,255,0); } }
.rc-anim__hd h3, .rc-anim__s3 h3 { text-wrap: balance; }
.rc-anim__s1 .rc-anim__hd::before { content: ""; position: absolute; left: -2cqw; top: -1cqw; width: 22cqw; height: 22cqw; border-radius: 50%; background: radial-gradient(circle, rgba(138,232,179,.14), transparent 65%); z-index: -1; }
@media (prefers-reduced-motion: reduce) { .rc-anim *, .rc-anim *::before { animation: none !important; } }
/* v7.1: phone UX pass */
@media (max-width: 640px) {
  .rc-hero__chips { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
  .rc-hero__chips li { flex: none; padding: 9px 10px; }
  .rc-hero__chips b { font-size: .875rem; line-height: 1.2; }
  .rc-hero__chips span { font-size: .6875rem; line-height: 1.25; }
  .rc-trust__row { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 12px; padding-block: 12px; }
  .rc-trust__row span { font-size: .8125rem; align-items: flex-start; }
  .rc-trust__row svg { margin-top: 2px; }
  .rc-jobs { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin-inline: calc(-1 * var(--gutter)); padding-inline: var(--gutter); padding-bottom: 6px; }
  .rc-jobs::-webkit-scrollbar { display: none; }
  .rc-jobs .rc-job { flex: 0 0 78%; scroll-snap-align: center; }
  .rc-jobs .rc-job--cta { flex-basis: 84%; }
  .rc-jobs__dots { display: flex; justify-content: center; gap: 6px; margin-top: 14px; }
  .rc-jobs__dots span { width: 7px; height: 7px; border-radius: 999px; background: var(--line-2); transition: width .25s, background .25s; }
  .rc-jobs__dots span.is-on { width: 22px; background: var(--red); }
  .rc-jobs__head { margin-bottom: 14px; }
  .rc-mcard__ph { aspect-ratio: 16 / 9; }
  .rc-letter { padding: 22px 18px; }
  .rc-letter__side { display: grid; grid-template-columns: 64px 1fr; gap: 4px 14px; align-items: center; }
  .rc-letter__side img { width: 64px; height: 64px; grid-row: 1 / 3; margin: 0; }
  .rc-letter__side b { grid-column: 2; align-self: end; }
  .rc-letter__side > span { grid-column: 2; align-self: start; }
  .rc-letter__side a, .rc-letter__side small { grid-column: 1 / -1; margin: 0; }
  .rc-letter__side a:first-of-type { margin-top: 6px; }
  .rc-letter__body .h2 { margin-top: 18px; }
  .rc-pillar__in { padding: 20px 18px; }
  .rc-regions__list { gap: 6px; }
  .rc-region { padding: 10px 12px; }
}
@media (min-width: 641px) { .rc-jobs__dots { display: none; } }
/* v7.2: contact card v2 */
.rc-contact--v2 { display: grid; gap: 14px; padding: 18px; }
.rc-contact__who { display: flex; align-items: center; gap: 14px; }
.rc-contact--v2 img { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; object-position: 50% 25%; flex: 0 0 auto; box-shadow: 0 0 0 3px rgba(255,255,255,.14); }
.rc-contact--v2 .rc-contact__who b { font-size: 1.125rem; margin: 0 0 2px; }
.rc-contact--v2 .rc-contact__who p { margin: 0; font-size: .875rem; }
.rc-contact__acts { display: grid; gap: 8px; }
.rc-contact--v2 .rc-contact__acts a { display: flex; align-items: center; gap: 10px; min-height: 46px; padding: 0 14px; border-radius: 12px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14); font-size: .9375rem; transition: background .2s, border-color .2s; }
.rc-contact--v2 .rc-contact__acts a:hover { background: rgba(255,255,255,.14); border-color: rgba(255,255,255,.3); color: #fff; }
.rc-contact--v2 .rc-contact__acts svg { width: 18px; height: 18px; color: #8ae8b3; flex: 0 0 auto; }
.rc-contact--v2 .rc-contact__acts span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rc-contact--v2 small { margin: 0; color: rgba(255,255,255,.6); font-size: .8125rem; line-height: 1.45; }
@media (max-width: 640px) {
  .rc-jobs .rc-job { min-height: 200px; }
  .rc-jobs .rc-job p { display: flex; flex-direction: column; }
  .rc-hero--v6 .hero2__copy h1 { text-wrap: balance; }
  .rc-contact--v2 { padding: 16px; }
}
/* v7.3: phone hero – photo stays visible, no button over the face */
@media (max-width: 640px) {
  .rc-hero--v6 .hero2__grid { display: flex; flex-direction: column; gap: 0; padding-block: 0 20px; min-height: 0; }
  .rc-hero--v6 .hero2__bg { position: absolute; inset: auto 0 auto 0; top: 0; height: 62vw; width: 100%; object-fit: cover; object-position: 50% 22%; filter: none; }
  .rc-hero--v6::before { background: linear-gradient(180deg, rgba(14,11,9,.15) 0%, rgba(14,11,9,.15) 34vw, rgba(14,11,9,.92) 60vw, rgba(14,11,9,1) 66vw); }
  .rc-hero--v6 .hero2__copy { padding-top: 46vw; }
  .rc-hero--v6 .hero2__copy .hero2__eyebrow { margin-top: 0; }
  .rc-hero--v6 .hero2__copy h1 { font-size: 1.9rem; }
  .rc-hero--v6 .hero2__copy .lead { font-size: 1rem; margin-bottom: 14px; }
  .rc-hero--v6 .rc-hero__cta .btn--primary { display: none; }
  .rc-hero--v6 .rc-hero__more { display: inline-flex; font-size: .9375rem; }
  .rc-hero__chips { margin-top: 16px; }
  .rc-hero--v6 .rc-pick { margin-top: 18px; }
}
@media (max-width: 640px) { .rc-hero--v6 .hero2__grid > * { min-width: 0; width: 100%; } .rc-hero--v6 .hero2__grid { align-items: stretch; } .rc-hero--v6 .hero2__copy .lead { max-width: none; } }
/* v7.4: compact multistep */
.rc-lf .leadform__head { padding: 18px 26px 0; }
.rc-lf .leadform__body { padding: 4px 26px 18px; }
.rc-lf .leadform__q { font-size: 1.375rem; margin: 12px 0 4px; }
.rc-lf .leadform__hint { font-size: .875rem; margin-bottom: 12px; }
.rc-lf .optgrid { gap: 8px; }
.rc-lf .optgrid .opt { padding: 9px 40px 9px 10px; }
.rc-lf .optgrid .opt__ic { width: 34px; height: 34px; }
.rc-lf .field { margin-top: 8px; } .rc-lf .field input, .rc-lf .field textarea { padding-block: 10px; }
.rc-lf .leadform__foot { padding: 10px 26px 12px; }
.rc-lf .lf-pre { margin-bottom: 4px; }
@media (min-width: 761px) { .rc-lf .leadform__nav { padding-top: 14px; } }
@media (max-width: 640px) { .rc-lf .leadform__head { padding: 14px 16px 0; } .rc-lf .leadform__body { padding: 2px 16px 14px; } .rc-lf .leadform__foot { padding: 8px 16px 10px; } .rc-lf .leadform__nav { margin-top: 14px; } .rc-lf .optgrid .opt__ic { display: none; } .rc-lf .optgrid .opt { padding-left: 12px; } }
[data-rc] .leadband { padding-block: clamp(26px, 4vw, 44px); }
@media (min-width: 761px) { [data-rc] .leadband { align-items: start; } }
/* v7.5: form UX */
.rc-lf.is-optonly .leadform__nav { justify-content: flex-start; }
.rc-lf.is-optonly .leadform__nav::after { content: attr(data-hint); margin-left: auto; font-size: .8125rem; color: var(--muted); }
.rc-lf .leadform__step[data-step="1"] .optgrid { grid-template-columns: repeat(3, 1fr); }
.rc-lf .leadform__step[data-step="1"] .opt { flex-direction: column; align-items: flex-start; gap: 10px; padding: 14px 14px 14px; }
.rc-lf .leadform__step[data-step="1"] .opt__ic { width: 40px; height: 40px; }
.rc-lf .leadform__step[data-step="1"] .opt__chk { top: 12px; right: 12px; }
.rc-lf .opt.selected .opt__ic { background: var(--red); color: #fff; }
.rc-lf .field label { font-size: .8125rem; font-weight: 600; color: var(--ink); margin-bottom: 4px; }
.rc-lf .lf-fielderr { margin: 10px 0 0; font-size: .875rem; }
.rc-lf .field.is-bad input, .rc-lf .field.is-bad textarea { border-color: var(--red); box-shadow: 0 0 0 3px rgba(200,22,29,.12); }
.rc-lf .leadform__nav .btn { min-width: 170px; justify-content: center; }
@media (max-width: 640px) {
  .rc-lf .leadform__step[data-step="1"] .optgrid { grid-template-columns: 1fr; }
  .rc-lf .leadform__step[data-step="1"] .opt { flex-direction: row; align-items: center; padding: 11px 40px 11px 12px; }
  .rc-lf .leadform__step[data-step="1"] .opt__ic { display: grid; width: 36px; height: 36px; }
  .rc-lf .leadform__step[data-step="4"] .optgrid { grid-template-columns: repeat(2, 1fr); }
  .rc-lf .leadform__nav .btn { flex: 1; min-width: 0; }
  .rc-lf .leadform__nav { gap: 10px; }
  .rc-lf .leadform__back { flex: 0 0 auto; }
  .rc-lf .field-row { grid-template-columns: 1fr; }
  .rc-lf .leadform__foot { font-size: .75rem; }
}
/* v7.6: phone hero – three CTA tiles right under the headline */
@media (max-width: 640px) {
  .rc-hero--v6 .hero2__bg { height: 52vw; object-position: 50% 20%; }
  .rc-hero--v6::before { background: linear-gradient(180deg, rgba(14,11,9,.1) 0%, rgba(14,11,9,.1) 28vw, rgba(14,11,9,.92) 50vw, rgba(14,11,9,1) 56vw); }
  .rc-hero--v6 .hero2__copy { padding-top: 38vw; }
  .rc-hero--v6 .hero2__copy .lead { display: none; }
  .rc-hero--v6 .rc-hero__cta { display: none; }
  .rc-hero--v6 .rc-hero__chips { display: none; }
  .rc-hero--v6 .rc-pick { margin-top: 14px; padding: 14px 14px 12px; }
  .rc-hero--v6 .rc-pick__head h2 { font-size: 1.25rem; }
  .rc-hero--v6 .rc-pick__head p { display: none; }
  .rc-hero--v6 .rc-pick__opts { gap: 8px; }
  .rc-hero--v6 .rc-pick__opt { padding: 8px 12px 8px 8px; }
  .rc-hero--v6 .rc-pick__ph { width: 54px; height: 44px; }
  .rc-hero--v6 .rc-pick__txt small { display: block; font-size: .75rem; }
  .rc-hero--v6 .rc-pick__foot { margin-top: 10px; padding-top: 10px; }
  .rc-hero--v6 .hero2__copy h1 { font-size: 1.75rem; margin-bottom: 4px; }
  .rc-hero--v6 .hero2__eyebrow { font-size: .6875rem; }
}
.rc-lf .leadform__step[data-step="1"] .optgrid > .opt:last-child { grid-column: auto; }
@media (min-width: 761px) { .rc-lf .leadform__step[data-step="1"] .opt { min-height: 168px; justify-content: flex-end; } .rc-lf .leadform__step[data-step="1"] .opt__ic { width: 48px; height: 48px; margin-bottom: auto; } }
/* v7.7: hero picker – icon tiles instead of photos */
.rc-pick__ic { position: relative; width: 56px; height: 56px; border-radius: 14px; display: grid; place-items: center; flex: 0 0 auto; color: #fff; background: linear-gradient(135deg, var(--red) 0%, #a5121a 100%); box-shadow: inset 0 1px 0 rgba(255,255,255,.25); }
.rc-pick__ic svg { width: 26px; height: 26px; }
.rc-pick__ic i { position: absolute; right: -6px; top: -6px; font-style: normal; font-family: var(--font-display); font-weight: 800; font-size: .625rem; letter-spacing: .04em; color: var(--ink); background: var(--paper); border: 1px solid var(--line); padding: 2px 5px; border-radius: 999px; }
.rc-pick__ic--builder { background: linear-gradient(135deg, #1c1814 0%, #3a322b 100%); }
.rc-pick__ic--closer { background: linear-gradient(135deg, #1c7a45 0%, #135a32 100%); }
.rc-pick__opt:hover .rc-pick__ic { transform: scale(1.04); }
.rc-pick__ic { transition: transform .2s var(--ease); }
@media (max-width: 640px) { .rc-hero--v6 .rc-pick__ic { width: 46px; height: 46px; border-radius: 12px; } .rc-hero--v6 .rc-pick__ic svg { width: 22px; height: 22px; } }
/* v7.8: form step 1 as stacked rows (check on the right, like the other steps) */
.rc-lf .leadform__step[data-step="1"] .optgrid { grid-template-columns: 1fr; }
.rc-lf .leadform__step[data-step="1"] .opt { flex-direction: row; align-items: center; gap: 12px; padding: 11px 44px 11px 12px; min-height: 0; justify-content: flex-start; }
.rc-lf .leadform__step[data-step="1"] .opt__ic { width: 40px; height: 40px; margin: 0; }
.rc-lf .leadform__step[data-step="1"] .opt__chk { top: 50%; right: 14px; transform: translateY(-50%); }
@media (min-width: 761px) { .rc-lf .leadform__step[data-step="1"] .opt { min-height: 0; justify-content: flex-start; } .rc-lf .leadform__step[data-step="1"] .opt__ic { width: 40px; height: 40px; margin-bottom: 0; } }
/* hero eyebrow with German flag */
.rc-eyebrow--flag { gap: 10px; padding-left: 8px; }
.rc-flag { width: 22px; height: 13px; border-radius: 3px; flex: 0 0 auto; box-shadow: 0 0 0 1px rgba(255,255,255,.25); }
/* jobs scroller on phones: no reveal transform inside the scroll container (it clipped the card tops) */
@media (max-width: 640px) {
  .rc-jobs { padding-top: 6px; overflow-y: hidden; }
  .rc-jobs .rc-job.fade-up { opacity: 1; transform: none; transition: none; }
  .rc-jobs .rc-job:hover { transform: none; }
}
/* v7.9: contact card v3 – one compact row */
.rc-contact--v3 { display: grid; grid-template-columns: 52px 1fr; grid-template-areas: "img txt" "note note"; gap: 10px 14px; align-items: center; padding: 14px 16px; margin-top: 20px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); border-radius: 16px; color: #fff; }
.rc-contact--v3 img { grid-area: img; width: 52px; height: 52px; border-radius: 50%; object-fit: cover; object-position: 50% 25%; }
.rc-contact__txt { grid-area: txt; display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.rc-contact--v3 b { font-family: var(--font-display); font-size: 1rem; margin: 0; line-height: 1.2; }
.rc-contact--v3 .rc-contact__txt > span { font-size: .8125rem; color: rgba(255,255,255,.62); line-height: 1.3; }
.rc-contact--v3 a { display: inline-flex; align-items: center; gap: 6px; margin-top: 4px; font-size: .875rem; font-weight: 600; color: #8ae8b3; text-decoration: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rc-contact--v3 a svg { width: 15px; height: 15px; flex: 0 0 auto; }
.rc-contact--v3 a:hover { color: #fff; }
.rc-contact--v3 small { grid-area: note; margin: 0; padding-top: 10px; border-top: 1px solid rgba(255,255,255,.1); font-size: .75rem; color: rgba(255,255,255,.55); line-height: 1.4; }
/* v8: flat pay + bonuses, Hans section, coins scene */
.rc-pick__ic--grad { background: linear-gradient(135deg, #1c7a45 0%, #135a32 100%); }
.rc-pick__ic--closer { background: linear-gradient(135deg, #7a5a1c 0%, #5a4213 100%); }
.rc-payhero { display: grid; grid-template-columns: auto auto 1fr; gap: 18px; align-items: center; margin: 0 0 22px; padding: 22px 26px; border-radius: var(--r-xl); background: var(--ink-2); color: #fff; }
.rc-payhero__num { display: flex; flex-direction: column; gap: 2px; }
.rc-payhero__num b { font-family: var(--font-display); font-weight: 800; font-size: clamp(2.2rem, 3.6vw, 3.2rem); letter-spacing: -.03em; line-height: 1; color: #8ae8b3; font-variant-numeric: tabular-nums; white-space: nowrap; }
.rc-payhero__num span { font-size: .8125rem; color: rgba(255,255,255,.62); }
.rc-payhero__plus { font-family: var(--font-display); font-weight: 800; font-size: 2.2rem; color: rgba(255,255,255,.5); }
.rc-payhero__bon b { display: block; font-family: var(--font-display); font-weight: 800; font-size: 1.25rem; letter-spacing: -.01em; margin-bottom: 8px; }
.rc-payhero__chips { display: flex; flex-wrap: wrap; gap: 6px; }
.rc-payhero__chips i { font-style: normal; font-size: .8125rem; font-weight: 600; padding: 5px 10px; border-radius: 999px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.16); }
.rc-payhero.is-in .rc-payhero__chips i { animation: rcDrop .6s cubic-bezier(.3,1.5,.5,1) both; }
.rc-payhero.is-in .rc-payhero__chips i:nth-child(2) { animation-delay: .15s; } .rc-payhero.is-in .rc-payhero__chips i:nth-child(3) { animation-delay: .3s; }
@keyframes rcDrop { 0% { transform: translateY(-14px); opacity: 0; } 100% { transform: none; opacity: 1; } }
@media (max-width: 640px) { .rc-payhero { grid-template-columns: 1fr; gap: 10px; padding: 18px; } .rc-payhero__plus { display: none; } }
.rc-hans { background: var(--ink-2); color: #fff; }
.rc-hans__grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(28px, 5vw, 72px); align-items: center; }
.rc-hans__ph { aspect-ratio: 4 / 5; border-radius: var(--r-xl); overflow: hidden; box-shadow: 0 30px 60px rgba(0,0,0,.4); }
.rc-hans__ph img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 20%; display: block; }
.rc-hans .eyebrow { color: var(--on-dark-mut); margin-bottom: 14px; } .rc-hans .eyebrow::before { background: var(--red); }
.rc-hans__body .h2 { color: #fff; font-size: clamp(1.7rem, 3vw, 2.6rem); max-width: 22ch; }
.rc-hans__q { font-size: 1.125rem; line-height: 1.6; color: rgba(255,255,255,.82); max-width: 60ch; margin: 18px 0 20px; }
.rc-hans__who { display: flex; align-items: center; gap: 12px; margin-bottom: 8px; }
.rc-hans__who img { width: 46px; height: 46px; border-radius: 50%; object-fit: cover; object-position: 50% 20%; }
.rc-hans__who b { display: block; font-family: var(--font-display); } .rc-hans__who span { font-size: .8125rem; color: rgba(255,255,255,.62); }
.rc-hans__note { font-size: .875rem; color: #8ae8b3; margin: 0 0 22px; }
@media (max-width: 1000px) { .rc-hans__grid { grid-template-columns: 1fr; } .rc-hans__ph { aspect-ratio: 16 / 11; } }
/* explainer scene 2: big number + falling bonus coins */
.rc-anim__money { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -38%); width: 60%; text-align: center; }
.rc-anim__big b { display: block; font-family: var(--font-display); font-weight: 800; font-size: 8cqw; line-height: 1; letter-spacing: -.04em; color: var(--rc-green); font-variant-numeric: tabular-nums; transform: scale(.6); opacity: 0; transition: transform 1.2s var(--e), opacity .6s var(--e); }
.rc-anim__big span { display: block; margin-top: .6cqw; font-weight: 700; font-size: 1.5cqw; letter-spacing: .08em; text-transform: uppercase; color: #8a8078; opacity: 0; transition: opacity .6s var(--e) .8s; }
.rc-anim.is-bars .rc-anim__big b { transform: none; opacity: 1; } .rc-anim.is-bars .rc-anim__big span { opacity: 1; }
.rc-anim__coins { position: absolute; left: 0; right: 0; top: -14cqw; height: 26cqw; pointer-events: none; }
.rc-anim__coins i { position: absolute; left: calc(50% + var(--x)); top: 0; width: 4.2cqw; height: 4.2cqw; margin-left: -2.1cqw; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #ffe28a, #e0a52b 60%, #a8730e); box-shadow: inset 0 0 0 .35cqw rgba(255,255,255,.35), 0 .6cqw 1.2cqw rgba(0,0,0,.25); opacity: 0; }
.rc-anim__coins i::after { content: "€"; position: absolute; inset: 0; display: grid; place-items: center; font-family: var(--font-display); font-weight: 800; font-size: 2.2cqw; color: #7a5208; }
.rc-anim.is-coins .rc-anim__coins i { animation: rcCoin 1.4s cubic-bezier(.35,.9,.4,1.15) var(--d) forwards; }
@keyframes rcCoin { 0% { opacity: 0; transform: translateY(-8cqw) rotate(-20deg); } 15% { opacity: 1; } 70% { transform: translateY(24.5cqw) rotate(10deg); } 85% { transform: translateY(23cqw) rotate(5deg); } 100% { opacity: 1; transform: translateY(24.5cqw) rotate(0); } }
.rc-anim__bonus { margin-top: 7.5cqw; opacity: 0; transform: translateY(1cqw); transition: opacity .6s var(--e) .9s, transform .6s var(--e) .9s; }
.rc-anim.is-coins .rc-anim__bonus { opacity: 1; transform: none; }
.rc-anim__bonus b { display: block; font-family: var(--font-display); font-weight: 800; font-size: 3cqw; letter-spacing: -.02em; color: var(--ink); }
.rc-anim__bonus span { display: flex; justify-content: center; gap: .8cqw; margin-top: 1cqw; flex-wrap: wrap; }
.rc-anim__bonus i { font-style: normal; font-weight: 600; font-size: 1.35cqw; padding: .5cqw 1.1cqw; border-radius: 999px; background: rgba(20,17,12,.06); border: 1px solid rgba(20,17,12,.12); color: var(--ink); opacity: 0; transform: translateY(-1.5cqw); }
.rc-anim.is-coins .rc-anim__bonus i { animation: rcDrop .6s cubic-bezier(.3,1.5,.5,1) forwards; }
.rc-anim.is-coins .rc-anim__bonus i:nth-child(1) { animation-delay: 1.2s; } .rc-anim.is-coins .rc-anim__bonus i:nth-child(2) { animation-delay: 1.45s; } .rc-anim.is-coins .rc-anim__bonus i:nth-child(3) { animation-delay: 1.7s; }
.rc-anim__world2 { transform-origin: 50% 55%; transition: transform 7.5s linear; }
.rc-anim.is-bars .rc-anim__world2 { transform: scale(1.06); }
.rc-anim.is-coins .rc-anim__world2 { transform: scale(1.14); transition-duration: 4s; }
.rc-anim__bars, .rc-anim__base { display: none; }
@media (max-width: 640px) { .rc-anim__money { width: 86%; transform: translate(-50%, -30%); } .rc-anim__big b { font-size: 13cqw; } .rc-anim__big span { font-size: 2.6cqw; } .rc-anim__coins { top: -20cqw; } .rc-anim__coins i { width: 7cqw; height: 7cqw; margin-left: -3.5cqw; } .rc-anim__coins i::after { font-size: 3.6cqw; } @keyframes rcCoin { 0% { opacity: 0; transform: translateY(-10cqw) rotate(-20deg); } 15% { opacity: 1; } 70% { transform: translateY(37cqw) rotate(10deg); } 85% { transform: translateY(35cqw) rotate(5deg); } 100% { opacity: 1; transform: translateY(37cqw) rotate(0); } } .rc-anim__bonus { margin-top: 11cqw; } .rc-anim__bonus b { font-size: 5cqw; } .rc-anim__bonus i { font-size: 2.6cqw; padding: 1cqw 2cqw; } }
/* v8.1: money scene rebuilt on a two-column grid with a bonus stack and camera zoom */
.rc-anim__s2 .rc-anim__hd, .rc-anim__note, .rc-anim__money { display: none; }
.rc-anim__world2 { position: absolute; inset: 0; transform-origin: 74% 52%; transform: scale(1); transition: transform 3.2s var(--e); }
.rc-anim.is-bars .rc-anim__world2 { transform: scale(1.03); }
.rc-anim.is-coins .rc-anim__world2 { transform: scale(1.45) translate(-14cqw, -1cqw); }
.rc-anim.is-total .rc-anim__world2 { transform: scale(1); transition-duration: 1.4s; }
.m2 { position: absolute; inset: 0; display: grid; grid-template-columns: 1.05fr .95fr; gap: 5cqw; padding: 7cqw 8cqw 6cqw; align-items: center; }
.m2__left { display: flex; flex-direction: column; gap: .8cqw; }
.m2__left .rc-anim__eb { color: #8a8078; margin-bottom: 1.2cqw; }
.m2__num { font-family: var(--font-display); font-weight: 800; font-size: 7.6cqw; line-height: 1; letter-spacing: -.045em; color: var(--rc-green); font-variant-numeric: tabular-nums; white-space: nowrap; transform: translateY(1.5cqw); opacity: 0; transition: transform .9s var(--e), opacity .6s var(--e); }
.m2__base { font-weight: 700; font-size: 1.35cqw; letter-spacing: .1em; text-transform: uppercase; color: #8a8078; opacity: 0; transition: opacity .6s var(--e) .7s; }
.rc-anim.is-bars .m2__num { transform: none; opacity: 1; } .rc-anim.is-bars .m2__base { opacity: 1; }
.m2__total { margin-top: 2.4cqw; padding-top: 1.6cqw; border-top: 2px solid rgba(20,17,12,.12); display: flex; align-items: baseline; gap: 1.2cqw; opacity: 0; transform: translateY(1cqw); transition: opacity .6s var(--e), transform .6s var(--e); }
.m2__total span { font-weight: 700; font-size: 1.35cqw; letter-spacing: .1em; text-transform: uppercase; color: #8a8078; }
.m2__total b { font-family: var(--font-display); font-weight: 800; font-size: 2.6cqw; letter-spacing: -.03em; color: var(--ink); white-space: nowrap; }
.rc-anim.is-total .m2__total { opacity: 1; transform: none; transition-delay: .6s; }
.m2__right { position: relative; display: flex; flex-direction: column; align-items: center; gap: 1.2cqw; }
.m2__plus { font-family: var(--font-display); font-weight: 800; font-size: 2.6cqw; letter-spacing: -.02em; color: var(--ink); opacity: 0; transform: translateY(-.8cqw); transition: opacity .5s var(--e), transform .5s var(--e); }
.rc-anim.is-coins .m2__plus { opacity: 1; transform: none; }
.m2__stack { position: relative; width: 30cqw; height: 15cqw; }
.m2__card { position: absolute; left: 0; right: 0; bottom: calc(var(--i) * 3.6cqw); height: 6.4cqw; display: flex; align-items: center; gap: 1cqw; padding: 0 1.6cqw 0 0; background: #fff; border-radius: 1cqw; box-shadow: 0 1.4cqw 2.6cqw rgba(20,17,12,.16), 0 0 0 1px rgba(20,17,12,.06); font-family: var(--font-display); z-index: calc(var(--i) + 1); opacity: 0; transform: translateY(-12cqw) rotate(-6deg); }
.m2__card i { width: .9cqw; align-self: stretch; margin: .8cqw 0 .8cqw .8cqw; border-radius: 1cqw; background: var(--rc-green); }
.m2__card span { flex: 1; font-weight: 700; font-size: 1.7cqw; color: var(--ink); }
.m2__card b { font-weight: 800; font-size: 1.5cqw; color: var(--rc-green); padding: .35cqw .9cqw; border-radius: 999px; background: rgba(28,122,69,.1); }
.rc-anim.is-coins .m2__card { animation: m2Card .8s cubic-bezier(.25,1.2,.4,1) forwards; animation-delay: calc(.35s + var(--i) * .45s); }
@keyframes m2Card { 0% { opacity: 0; transform: translateY(-12cqw) rotate(-6deg); } 100% { opacity: 1; transform: translateY(0) rotate(calc((var(--i) - 1) * -1.2deg)); } }
.m2__coins { position: absolute; left: 0; right: 0; top: -12cqw; height: 24cqw; z-index: 5; pointer-events: none; }
.m2__coins i { position: absolute; left: calc(50% + var(--x)); top: 0; width: 3.2cqw; height: 3.2cqw; margin-left: -1.6cqw; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #ffe28a, #e0a52b 60%, #a8730e); box-shadow: inset 0 0 0 .28cqw rgba(255,255,255,.35), 0 .5cqw 1cqw rgba(0,0,0,.25); opacity: 0; }
.m2__coins i::after { content: "€"; position: absolute; inset: 0; display: grid; place-items: center; font-family: var(--font-display); font-weight: 800; font-size: 1.7cqw; color: #7a5208; }
.rc-anim.is-coins .m2__coins i { animation: m2Coin 1.5s cubic-bezier(.35,.9,.45,1.12) forwards; animation-delay: calc(1.2s + var(--d)); }
@keyframes m2Coin { 0% { opacity: 0; transform: translateY(-6cqw) rotate(var(--r)); } 12% { opacity: 1; } 72% { transform: translateY(19.5cqw) rotate(0); } 86% { transform: translateY(18.2cqw) rotate(0); } 100% { opacity: 1; transform: translateY(19.5cqw) rotate(0); } }
.rc-anim.is-total .m2__coins i { transition: opacity .5s; opacity: .95; }
.m2__note { font-weight: 600; font-size: 1.25cqw; color: #8a8078; text-align: center; line-height: 1.45; opacity: 0; transition: opacity .6s var(--e); }
.rc-anim.is-total .m2__note { opacity: 1; transition-delay: .5s; }
@media (max-width: 640px) {
  .m2 { grid-template-columns: 1fr; gap: 6cqw; padding: 8cqw 7cqw 7cqw; align-content: start; }
  .m2__left .rc-anim__eb { font-size: 2.6cqw; }
  .m2__num { font-size: 13cqw; } .m2__base { font-size: 2.6cqw; }
  .m2__total { margin-top: 3cqw; padding-top: 2.5cqw; } .m2__total span { font-size: 2.4cqw; } .m2__total b { font-size: 5cqw; }
  .m2__plus { font-size: 5cqw; }
  .m2__stack { width: 70cqw; height: 34cqw; }
  .m2__card { height: 13cqw; bottom: calc(var(--i) * 8cqw); border-radius: 2.4cqw; gap: 2cqw; padding-right: 3cqw; }
  .m2__card i { width: 2cqw; margin: 2cqw 0 2cqw 2cqw; border-radius: 2cqw; }
  .m2__card span { font-size: 3.6cqw; } .m2__card b { font-size: 3cqw; padding: .8cqw 2cqw; }
  .m2__coins { top: -24cqw; height: 50cqw; }
  .m2__coins i { width: 7cqw; height: 7cqw; margin-left: -3.5cqw; } .m2__coins i::after { font-size: 3.6cqw; }
  @keyframes m2Coin { 0% { opacity: 0; transform: translateY(-10cqw) rotate(var(--r)); } 12% { opacity: 1; } 72% { transform: translateY(40cqw) rotate(0); } 86% { transform: translateY(37.5cqw) rotate(0); } 100% { opacity: 1; transform: translateY(40cqw) rotate(0); } }
  .m2__note { font-size: 2.6cqw; }
  .rc-anim__world2 { transform-origin: 50% 72%; }
  .rc-anim.is-coins .rc-anim__world2 { transform: scale(1.3) translate(0, -6cqw); }
}
/* v8.2: bonus stack as a readable column, coins land on top, zoom fixed */
.m2__stack { height: 22.6cqw; }
.m2__card { bottom: calc(var(--i) * 7.6cqw); height: 6.4cqw; }
@keyframes m2Card { 0% { opacity: 0; transform: translateY(-10cqw) rotate(-5deg); } 100% { opacity: 1; transform: translateY(0) rotate(calc((var(--i) - 1) * -.8deg)); } }
.m2__coins { top: -12cqw; height: 16cqw; }
@keyframes m2Coin { 0% { opacity: 0; transform: translateY(-6cqw) rotate(var(--r)); } 12% { opacity: 1; } 72% { transform: translateY(10.6cqw) rotate(0); } 86% { transform: translateY(9.4cqw) rotate(0); } 100% { opacity: 1; transform: translateY(10.6cqw) rotate(0); } }
.rc-anim__world2 { transform-origin: 74% 50%; }
.rc-anim.is-coins .rc-anim__world2 { transform: scale(1.32); }
.rc-anim.is-total .rc-anim__world2 { transform: scale(1); }
@media (max-width: 640px) {
  .m2 { padding: 7cqw 7cqw 6cqw; gap: 4cqw; }
  .m2__num { font-size: 11.5cqw; }
  .m2__total { margin-top: 2cqw; padding-top: 2cqw; }
  .m2__stack { width: 74cqw; height: 40cqw; }
  .m2__card { height: 11cqw; bottom: calc(var(--i) * 13.5cqw); }
  .m2__coins { top: -22cqw; height: 30cqw; }
  @keyframes m2Coin { 0% { opacity: 0; transform: translateY(-10cqw) rotate(var(--r)); } 12% { opacity: 1; } 72% { transform: translateY(19.5cqw) rotate(0); } 86% { transform: translateY(17.5cqw) rotate(0); } 100% { opacity: 1; transform: translateY(19.5cqw) rotate(0); } }
  .rc-anim__world2 { transform-origin: 50% 68%; }
  .rc-anim.is-coins .rc-anim__world2 { transform: scale(1.22); }
  .rc-anim.is-total .rc-anim__world2 { transform: scale(1); }
}
/* v8.3: pay section v2 – number, bonuses, total in one clean card; facts aside */
.rc-payhero { display: none; }
.rc-pay2 { display: grid; grid-template-columns: 1.1fr 1fr; grid-template-areas: "main bon" "total total"; border-radius: var(--r-xl); overflow: hidden; background: var(--ink-2); color: #fff; margin: 0 0 8px; }
.rc-pay2__main { grid-area: main; padding: clamp(24px, 3vw, 36px); display: flex; flex-direction: column; gap: 6px; border-right: 1px solid rgba(255,255,255,.1); }
.rc-pay2__lbl { font-size: .75rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.6); }
.rc-pay2__num { font-family: var(--font-display); font-weight: 800; font-size: clamp(2.6rem, 4vw, 3.6rem); letter-spacing: -.035em; line-height: 1; color: #8ae8b3; font-variant-numeric: tabular-nums; margin-top: 6px; transform: translateY(8px); opacity: 0; transition: transform .7s var(--ease), opacity .5s var(--ease); }
.rc-pay2.is-in .rc-pay2__num { transform: none; opacity: 1; }
.rc-pay2__sub { font-size: .875rem; color: rgba(255,255,255,.62); }
.rc-pay2__bon { grid-area: bon; padding: clamp(24px, 3vw, 36px); display: flex; flex-direction: column; gap: 10px; }
.rc-pay2__bon ul { list-style: none; margin: 4px 0 0; padding: 0; display: grid; gap: 8px; }
.rc-pay2__bon li { display: flex; align-items: center; gap: 10px; font-family: var(--font-display); font-weight: 700; font-size: 1.0625rem; opacity: 0; transform: translateY(-8px); }
.rc-pay2.is-in .rc-pay2__bon li { animation: rcDrop .5s cubic-bezier(.3,1.5,.5,1) forwards; }
.rc-pay2.is-in .rc-pay2__bon li:nth-child(1) { animation-delay: .3s; } .rc-pay2.is-in .rc-pay2__bon li:nth-child(2) { animation-delay: .5s; } .rc-pay2.is-in .rc-pay2__bon li:nth-child(3) { animation-delay: .7s; }
.rc-pay2__bon li i { width: 22px; height: 22px; border-radius: 50%; flex: 0 0 auto; background: url("euro-coin.svg") center/contain no-repeat; }
.rc-pay2__foot { margin-top: auto; font-size: .8125rem; color: #8ae8b3; font-weight: 600; }
.rc-pay2__total { grid-area: total; display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; padding: 16px clamp(24px, 3vw, 36px); background: rgba(255,255,255,.06); border-top: 1px solid rgba(255,255,255,.1); }
.rc-pay2__total > span { font-size: .75rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.6); }
.rc-pay2__total b { font-family: var(--font-display); font-weight: 800; font-size: 1.35rem; letter-spacing: -.02em; }
.rc-pay2__total small { margin-left: auto; font-size: .8125rem; color: rgba(255,255,255,.62); }
.rc-pay__aside--v6 h3 { font-size: 1.125rem; margin: 0 0 14px; }
.rc-facts { list-style: none; margin: 0 0 18px; padding: 0; counter-reset: f; display: grid; gap: 0; }
.rc-facts li { counter-increment: f; position: relative; padding: 12px 0 12px 38px; border-top: 1px solid var(--line); }
.rc-facts li:first-child { border-top: 0; padding-top: 0; }
.rc-facts li::before { content: counter(f); position: absolute; left: 0; top: 12px; width: 26px; height: 26px; border-radius: 50%; background: var(--red); color: #fff; font-family: var(--font-display); font-weight: 800; font-size: .8125rem; display: grid; place-items: center; }
.rc-facts li:first-child::before { top: 0; }
.rc-facts b { display: block; font-family: var(--font-display); font-weight: 700; font-size: 1rem; margin-bottom: 2px; }
.rc-facts span { font-size: .9rem; color: var(--muted); line-height: 1.5; }
/* explainer coins use the euro image */
.m2__coins i { background: url("euro-coin.svg") center/contain no-repeat; box-shadow: 0 .5cqw 1cqw rgba(0,0,0,.25); border-radius: 50%; }
.m2__coins i::after { content: none; }
@media (max-width: 640px) { .rc-pay2 { grid-template-columns: 1fr; grid-template-areas: "main" "bon" "total"; } .rc-pay2__main { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.1); } .rc-pay2__total small { margin-left: 0; flex-basis: 100%; } }
/* v8.4: pay card – number fits, bonuses as coin tiles; explainer cards with coin + line; end logo centred */
.rc-pay2 { grid-template-columns: .95fr 1.15fr; }
.rc-pay2__num { font-size: clamp(2.2rem, 3.1vw, 2.9rem); white-space: nowrap; }
.rc-pay2__bon ul { gap: 10px; }
.rc-pay2__bon li { align-items: center; gap: 12px; padding: 10px 12px; border-radius: 12px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); }
.rc-pay2__bon li i { width: 34px; height: 34px; filter: drop-shadow(0 2px 4px rgba(0,0,0,.35)); }
.rc-pay2__bon li div { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.rc-pay2__bon li b { font-family: var(--font-display); font-weight: 700; font-size: 1rem; line-height: 1.2; }
.rc-pay2__bon li span { font-family: var(--font-body); font-weight: 500; font-size: .8125rem; color: rgba(255,255,255,.62); line-height: 1.35; }
.rc-pay2__foot { margin-top: 6px; }
.m2__card { height: 7.2cqw; padding: 0 1.4cqw 0 1.2cqw; gap: 1.1cqw; }
.m2__stack { height: 25cqw; }
.m2__card { bottom: calc(var(--i) * 8.6cqw); }
.m2__card i { width: 4cqw; height: 4cqw; margin: 0; border-radius: 50%; background: url("euro-coin.svg") center/contain no-repeat; align-self: center; filter: drop-shadow(0 .3cqw .6cqw rgba(0,0,0,.25)); }
.m2__card div { flex: 1; display: flex; flex-direction: column; gap: .15cqw; min-width: 0; }
.m2__card div b { font-family: var(--font-display); font-weight: 700; font-size: 1.6cqw; color: var(--ink); }
.m2__card div span { font-family: var(--font-body); font-weight: 500; font-size: 1.05cqw; color: #8a8078; }
.m2__card em { font-style: normal; font-family: var(--font-display); font-weight: 800; font-size: 1.3cqw; color: var(--rc-green); padding: .35cqw .9cqw; border-radius: 999px; background: rgba(28,122,69,.1); white-space: nowrap; }
.m2__card > span, .m2__card > b { display: none; }
@keyframes m2Coin { 0% { opacity: 0; transform: translateY(-6cqw) rotate(var(--r)); } 12% { opacity: 1; } 72% { transform: translateY(9.6cqw) rotate(0); } 86% { transform: translateY(8.4cqw) rotate(0); } 100% { opacity: 1; transform: translateY(9.6cqw) rotate(0); } }
.rc-anim__logo { left: 50%; transform: translateX(-50%); top: 9%; }
@media (max-width: 640px) {
  .m2__card { height: 13cqw; bottom: calc(var(--i) * 15.5cqw); padding: 0 3cqw 0 2.5cqw; gap: 2.2cqw; }
  .m2__stack { height: 45cqw; }
  .m2__card i { width: 8cqw; height: 8cqw; }
  .m2__card div b { font-size: 3.4cqw; } .m2__card div span { font-size: 2.3cqw; } .m2__card em { font-size: 2.6cqw; padding: .8cqw 1.8cqw; }
  @keyframes m2Coin { 0% { opacity: 0; transform: translateY(-10cqw) rotate(var(--r)); } 12% { opacity: 1; } 72% { transform: translateY(17.5cqw) rotate(0); } 86% { transform: translateY(15.5cqw) rotate(0); } 100% { opacity: 1; transform: translateY(17.5cqw) rotate(0); } }
  .rc-pay2__bon li i { width: 30px; height: 30px; }
}
/* v8.5: no duplicated total, coin pile, card title clean, plus label clear of coins */
.rc-pay2__total > span { font-size: .875rem; font-weight: 600; letter-spacing: 0; text-transform: none; color: #8ae8b3; }
.rc-pay2__total small { margin-left: auto; }
.m2__total { border-top: 2px solid rgba(20,17,12,.12); }
.m2__total span { font-size: 1.3cqw; letter-spacing: .02em; text-transform: none; color: #8a8078; font-weight: 600; }
.m2__card div b { background: none; padding: 0; border-radius: 0; }
.m2__plus { margin-bottom: 1.6cqw; }
.m2__coins { top: -16cqw; height: 20cqw; z-index: 6; }
.m2__coins i { width: 3.6cqw; height: 3.6cqw; margin-left: -1.8cqw; }
@keyframes m2Coin { 0% { opacity: 0; transform: translateY(-4cqw) rotate(var(--r)) scale(.9); } 10% { opacity: 1; } 70% { transform: translateY(calc(13.2cqw - var(--k) * .55cqw)) rotate(0) scale(1); } 84% { transform: translateY(calc(11.8cqw - var(--k) * .55cqw)) rotate(0) scale(1); } 100% { opacity: 1; transform: translateY(calc(13.2cqw - var(--k) * .55cqw)) rotate(0) scale(1); } }
.footer__rc { display: block; flex-basis: 100%; font-size: .7rem; color: var(--on-dark-mut); margin-top: 6px; }
.footer__rc a { color: inherit; text-decoration: underline; }
@media (max-width: 640px) {
  .m2__coins { top: -30cqw; height: 40cqw; }
  .m2__coins i { width: 8cqw; height: 8cqw; margin-left: -4cqw; }
  @keyframes m2Coin { 0% { opacity: 0; transform: translateY(-8cqw) rotate(var(--r)) scale(.9); } 10% { opacity: 1; } 70% { transform: translateY(calc(23cqw - var(--k) * 1.1cqw)) rotate(0) scale(1); } 84% { transform: translateY(calc(20.5cqw - var(--k) * 1.1cqw)) rotate(0) scale(1); } 100% { opacity: 1; transform: translateY(calc(23cqw - var(--k) * 1.1cqw)) rotate(0) scale(1); } }
}
/* v8.6: coin pile beside the cards, bottom right */
.m2__coins { overflow: visible; }
@keyframes m2Coin { 0% { opacity: 0; transform: translateY(-4cqw) rotate(var(--r)) scale(.9); } 10% { opacity: 1; } 70% { transform: translateY(calc(37.4cqw - var(--k) * .55cqw)) rotate(0) scale(1); } 84% { transform: translateY(calc(36cqw - var(--k) * .55cqw)) rotate(0) scale(1); } 100% { opacity: 1; transform: translateY(calc(37.4cqw - var(--k) * .55cqw)) rotate(0) scale(1); } }
@media (max-width: 640px) {
  @keyframes m2Coin { 0% { opacity: 0; transform: translateY(-8cqw) rotate(var(--r)) scale(.9); } 10% { opacity: 1; } 70% { transform: translateY(calc(67cqw - var(--k) * 1.1cqw)) rotate(0) scale(1); } 84% { transform: translateY(calc(64.5cqw - var(--k) * 1.1cqw)) rotate(0) scale(1); } 100% { opacity: 1; transform: translateY(calc(67cqw - var(--k) * 1.1cqw)) rotate(0) scale(1); } }
}
@media (max-width: 640px) { .m2__total span { font-size: 2.4cqw; } }
/* v8.7: pay card – left column filled and centred, footer one row */
.rc-pay2__main { justify-content: center; }
.rc-pay2__checks { list-style: none; margin: 16px 0 0; padding: 0; display: grid; gap: 8px; }
.rc-pay2__checks li { position: relative; padding-left: 26px; font-size: .9375rem; color: rgba(255,255,255,.82); }
.rc-pay2__checks li::before { content: "✓"; position: absolute; left: 0; top: 0; width: 18px; height: 18px; border-radius: 50%; background: rgba(138,232,179,.16); color: #8ae8b3; font-size: .7rem; font-weight: 800; display: grid; place-items: center; }
.rc-pay2__total { align-items: center; gap: 8px 18px; }
.rc-pay2__total small { margin-left: auto; text-align: right; }
@media (max-width: 1000px) { .rc-pay2 { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .rc-pay2 { grid-template-columns: 1fr; } .rc-pay2__total { flex-direction: column; align-items: flex-start; } .rc-pay2__total small { margin-left: 0; text-align: left; } }
/* v8.8: measurable layout for link geometry; bonus stack as a real column (auto height, DE-safe); DE number without wide dot */
.rc-anim.is-measure .rc-anim__world, .rc-anim.is-measure .rc-anim__node, .rc-anim.is-measure .rc-anim__pin { transform: none !important; transition: none !important; }
.rc-anim__links path { transition: stroke-dashoffset 1.4s var(--e) var(--d); }
.m2__stack { display: flex; flex-direction: column-reverse; gap: 1cqw; width: 34cqw; height: auto; }
.m2__card { position: relative; bottom: auto !important; height: auto; min-height: 6.4cqw; padding: 1cqw 1.3cqw 1cqw 1.1cqw; }
.m2__card div b { line-height: 1.15; }
.m2__card div span { line-height: 1.3; }
.m2__num, .rc-pay2__num { font-variant-numeric: normal; }
.m2__coins { top: -14cqw; }
@keyframes m2Coin { 0% { opacity: 0; transform: translateY(-4cqw) rotate(var(--r)) scale(.9); } 10% { opacity: 1; } 70% { transform: translateY(calc(31cqw - var(--k) * .55cqw)) rotate(0) scale(1); } 84% { transform: translateY(calc(29.6cqw - var(--k) * .55cqw)) rotate(0) scale(1); } 100% { opacity: 1; transform: translateY(calc(31cqw - var(--k) * .55cqw)) rotate(0) scale(1); } }
@media (max-width: 640px) {
  .m2__stack { width: 78cqw; gap: 2cqw; }
  .m2__card { min-height: 12cqw; padding: 2cqw 2.6cqw 2cqw 2.2cqw; }
  .m2__coins { top: -26cqw; }
  @keyframes m2Coin { 0% { opacity: 0; transform: translateY(-8cqw) rotate(var(--r)) scale(.9); } 10% { opacity: 1; } 70% { transform: translateY(calc(58cqw - var(--k) * 1.1cqw)) rotate(0) scale(1); } 84% { transform: translateY(calc(55.5cqw - var(--k) * 1.1cqw)) rotate(0) scale(1); } 100% { opacity: 1; transform: translateY(calc(58cqw - var(--k) * 1.1cqw)) rotate(0) scale(1); } }
}
.rc-anim.is-measure .rc-anim__node { transform: translateY(-50%) !important; }
@media (max-width: 640px) { .rc-anim.is-measure .rc-anim__node { transform: none !important; } }
/* hero picker: one colour for all tiles */
.rc-pick__ic, .rc-pick__ic--builder, .rc-pick__ic--grad, .rc-pick__ic--closer { background: linear-gradient(135deg, var(--red) 0%, #a5121a 100%); }
.rc-pick__ic, .rc-pick__ic--builder, .rc-pick__ic--grad, .rc-pick__ic--closer { background: linear-gradient(135deg, #1c1814 0%, #3a322b 100%); }
