/* ── Cleanvengers Homepage V2 ─────────────────────────────────────────────
   Brand: forest green, leaf green, glove yellow (yellow = action accent).
   Self-contained (does not rely on the purged tailwind.css build).
   Logical properties throughout so the page mirrors in Arabic (RTL). */

:root {
  --v2-forest: #024B3E;
  --v2-forest-900: #013A30;
  --v2-forest-950: #012E26;
  --v2-green: #3CA200;
  --v2-green-700: #2F8000;
  --v2-leaf: #9BE3A9;
  --v2-mint: #EEF6EA;
  --v2-yellow: #FFC81E;
  --v2-yellow-600: #F0B400;
  --v2-ink: #0E1F1A;
  --v2-text: #33443E;
  --v2-muted: #5F6F69;
  --v2-line: #E3EAE6;
  --v2-line-dark: rgba(255, 255, 255, .14);
  --v2-paper: #F6F8F5;
  --v2-radius: 16px;
  --v2-max: 1200px;
}

.v2 { color: var(--v2-text); font-family: 'Inter', 'IBM Plex Sans Arabic', system-ui, -apple-system, 'Segoe UI', sans-serif; -webkit-font-smoothing: antialiased; }
html[lang="ar"] .v2 { font-family: 'IBM Plex Sans Arabic', 'Inter', system-ui, sans-serif; }
.v2 *, .v2 *::before, .v2 *::after { box-sizing: border-box; }
.v2 img { max-width: 100%; display: block; }
:where(.v2) :where(h1, h2, h3, p, ul, ol, figure) { margin: 0; }

.v2-wrap { max-width: var(--v2-max); margin-inline: auto; padding-inline: 32px; }
@media (max-width: 640px) { .v2-wrap { padding-inline: 20px; } }

.v2-section { padding-block: 120px; }
@media (max-width: 900px) { .v2-section { padding-block: 80px; } }
@media (max-width: 640px) { .v2-section { padding-block: 64px; } }
.v2-paper { background: var(--v2-paper); }

.v2-eyebrow { display: flex; align-items: center; gap: 12px; font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--v2-green-700); margin-bottom: 20px; }
html[lang="ar"] .v2-eyebrow { letter-spacing: 0; font-size: 14px; }
.v2-eyebrow::before { content: ""; width: 28px; height: 2px; background: var(--v2-yellow); }
.v2-h2 { font-size: clamp(30px, 3.4vw, 44px); line-height: 1.15; font-weight: 800; letter-spacing: -.025em; color: var(--v2-ink); margin-bottom: 20px; max-width: 18ch; }
html[lang="ar"] .v2-h2 { letter-spacing: 0; line-height: 1.35; }
.v2-lead { font-size: 18px; line-height: 1.7; color: var(--v2-muted); max-width: 560px; }
.v2-head { margin-bottom: 64px; }
@media (max-width: 640px) { .v2-head { margin-bottom: 40px; } .v2-lead { font-size: 17px; } }

/* Buttons and links */
.v2 .v2-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 14px 28px; border-radius: 12px; font-weight: 700; font-size: 16px; line-height: 1.2; text-decoration: none; border: 0; cursor: pointer; transition: background-color .15s ease, transform .15s ease; }
.v2 .v2-btn svg, .v2 .v2-btn i { width: 18px; height: 18px; flex-shrink: 0; }
.v2 .v2-btn:focus-visible, .v2 a:focus-visible, .v2 button:focus-visible { outline: 3px solid var(--v2-yellow); outline-offset: 3px; }
.v2 .v2-btn--lg { min-height: 58px; padding: 16px 32px; font-size: 17px; }
.v2 .v2-btn--yellow { background: var(--v2-yellow); color: var(--v2-forest-950); }
.v2 .v2-btn--yellow:hover { background: var(--v2-yellow-600); }
.v2 .v2-btn--forest { background: var(--v2-forest); color: #fff; }
.v2 .v2-btn--forest:hover { background: var(--v2-forest-900); }
.v2-link { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; color: var(--v2-forest); text-decoration: none; }
.v2-link:hover { color: var(--v2-green-700); }
.v2-link svg, .v2-link i { width: 16px; height: 16px; transition: transform .15s ease; }
.v2-link:hover svg { transform: translateX(3px); }
html[dir="rtl"] .v2-link:hover svg { transform: scaleX(-1) translateX(3px); }
.v2-link--light { color: #fff; }
.v2-link--light:hover { color: var(--v2-yellow); }
html[dir="rtl"] .v2-flip { transform: scaleX(-1); }

/* ── HERO ─────────────────────────────────────────────────────────────── */
.v2-hero { position: relative; overflow: hidden; color: #fff; background: radial-gradient(900px 600px at 0% 100%, rgba(60, 162, 0, .16), transparent 70%), var(--v2-forest); min-height: min(760px, calc(100vh - 88px)); display: flex; align-items: center; }
.v2-hero__inner { position: relative; z-index: 2; width: 100%; padding-block: 120px; }
.v2-hero__copy { max-width: 620px; }
@media (min-width: 1025px) { .v2-hero__l2 { white-space: nowrap; } }
.v2-hero__kicker { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; font-size: 14px; font-weight: 600; color: rgba(255, 255, 255, .72); margin-bottom: 28px; }
.v2-hero__kicker span:first-child { color: var(--v2-yellow); font-weight: 700; }
.v2-hero__kicker span:first-child::after { content: ""; display: inline-block; width: 4px; height: 4px; border-radius: 50%; background: rgba(255, 255, 255, .4); margin-inline-start: 14px; vertical-align: middle; }
.v2-hero h1 { font-size: clamp(38px, 4.2vw, 54px); line-height: 1.08; letter-spacing: -.03em; font-weight: 800; margin-bottom: 28px; }
html[lang="ar"] .v2-hero h1 { letter-spacing: 0; line-height: 1.3; }
.v2-hero__l1 { display: block; color: #fff; }
.v2-hero__l2 { display: block; color: var(--v2-leaf); }
.v2-hero__lead { font-size: 19px; line-height: 1.7; color: rgba(255, 255, 255, .78); max-width: 500px; margin-bottom: 44px; }
.v2-hero__ctas { display: flex; flex-wrap: wrap; align-items: center; gap: 20px 32px; }
.v2-hero__link { display: inline-flex; align-items: center; gap: 8px; color: #fff; font-weight: 700; font-size: 16px; text-decoration: none; padding-block: 8px; border-bottom: 2px solid rgba(255, 255, 255, .25); transition: border-color .15s ease; }
.v2-hero__link:hover { border-color: var(--v2-yellow); }
.v2-hero__link svg, .v2-hero__link i { width: 17px; height: 17px; }

.v2-hero__media { position: absolute; inset-block: 0; inset-inline-end: 0; width: 44%; z-index: 1; }
.v2-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: 45% 50%; }
.v2-hero__media::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, var(--v2-forest) 0%, rgba(2, 75, 62, .85) 12%, rgba(2, 75, 62, .4) 30%, rgba(2, 75, 62, 0) 55%), linear-gradient(0deg, rgba(1, 46, 38, .7) 0%, rgba(1, 46, 38, 0) 35%); }
html[dir="rtl"] .v2-hero__media::before { background: linear-gradient(270deg, var(--v2-forest) 0%, rgba(2, 75, 62, .85) 12%, rgba(2, 75, 62, .4) 30%, rgba(2, 75, 62, 0) 55%), linear-gradient(0deg, rgba(1, 46, 38, .7) 0%, rgba(1, 46, 38, 0) 35%); }
.v2-hero__proof { position: absolute; z-index: 2; inset-inline-end: 40px; bottom: 40px; display: flex; align-items: center; gap: 14px; color: #fff; }
.v2-hero__proof > svg, .v2-hero__proof > i { width: 40px; height: 40px; padding: 9px; border-radius: 50%; background: var(--v2-yellow); color: var(--v2-forest-950); flex-shrink: 0; }
.v2-hero__proof strong { display: block; font-size: 17px; font-weight: 800; line-height: 1.25; }
.v2-hero__proof span span { display: block; font-size: 14px; color: rgba(255, 255, 255, .8); }

@media (max-width: 1024px) {
  .v2-hero { display: block; min-height: 0; }
  .v2-hero__inner { padding-block: 72px 48px; }
  .v2-hero__copy { max-width: 640px; }
  .v2-hero__media { position: relative; inset: auto; width: 100%; height: 360px; }
  .v2-hero__media::before, html[dir="rtl"] .v2-hero__media::before { background: linear-gradient(180deg, var(--v2-forest) 0%, rgba(2, 75, 62, 0) 30%), linear-gradient(0deg, rgba(1, 46, 38, .75) 0%, rgba(1, 46, 38, 0) 45%); }
  .v2-hero__proof { inset-inline: 20px auto; bottom: 22px; }
}
@media (max-width: 640px) {
  .v2-hero__inner { padding-block: 48px 40px; }
  .v2-hero__kicker { font-size: 13px; margin-bottom: 20px; }
  .v2-hero__kicker span:first-child::after { display: none; }
  .v2-hero__kicker span + span { display: none; }
  .v2-hero h1 { font-size: 33px; line-height: 1.14; margin-bottom: 20px; }
  html[lang="ar"] .v2-hero h1 { font-size: 34px; line-height: 1.35; }
  .v2-hero__lead { font-size: 16.5px; line-height: 1.6; margin-bottom: 32px; }
  .v2-hero__ctas { flex-direction: column; align-items: stretch; gap: 16px; }
  .v2-hero__ctas .v2-btn { width: 100%; }
  .v2-hero__link { align-self: center; }
  .v2-hero__media { height: 260px; }
  .v2-hero__proof strong { font-size: 16px; }
}

/* ── TRUST ────────────────────────────────────────────────────────────── */
.v2-trust { background: #fff; border-bottom: 1px solid var(--v2-line); }
.v2-trust__grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.v2-trust__item { display: flex; flex-direction: column; gap: 16px; padding: 56px 32px; }
.v2-trust__item:first-child { padding-inline-start: 0; }
.v2-trust__item:last-child { padding-inline-end: 0; }
.v2-trust__item + .v2-trust__item { border-inline-start: 1px solid var(--v2-line); }
.v2-trust__item > svg, .v2-trust__item > i { width: 28px; height: 28px; color: var(--v2-green-700); stroke-width: 1.75; }
.v2-trust__item h2 { font-size: 17px; font-weight: 800; color: var(--v2-ink); line-height: 1.35; margin-bottom: 8px; }
.v2-trust__item p { font-size: 15px; line-height: 1.6; color: var(--v2-muted); }
@media (max-width: 1024px) {
  .v2-trust__grid { grid-template-columns: 1fr 1fr; }
  .v2-trust__item { padding: 40px 28px; }
  .v2-trust__item:nth-child(odd) { padding-inline-start: 0; border-inline-start: 0; }
  .v2-trust__item:nth-child(even) { padding-inline-end: 0; }
  .v2-trust__item:nth-child(n+3) { border-top: 1px solid var(--v2-line); }
}
@media (max-width: 640px) {
  .v2-trust__grid { grid-template-columns: 1fr; }
  .v2-trust__item, .v2-trust__item:nth-child(odd), .v2-trust__item:nth-child(even) { flex-direction: row; gap: 16px; padding: 28px 0; border-inline-start: 0; }
  .v2-trust__item + .v2-trust__item { border-top: 1px solid var(--v2-line); }
  .v2-trust__item > svg { margin-top: 2px; flex-shrink: 0; }
  .v2-trust__item h2 { font-size: 17px; margin-bottom: 4px; }
}

/* ── SERVICES ─────────────────────────────────────────────────────────── */
.v2-services__grid { display: grid; grid-template-columns: 5fr 7fr; gap: 80px; align-items: start; }
.v2-services__intro { position: sticky; top: 120px; }
.v2-services__photo { margin-top: 40px; border-radius: var(--v2-radius); overflow: hidden; aspect-ratio: 4 / 3.4; }
.v2-services__photo img { width: 100%; height: 100%; object-fit: cover; }
.v2-svc { list-style: none; padding: 0; border-top: 1px solid var(--v2-line); }
.v2-svc__row { position: relative; display: grid; grid-template-columns: 56px 1fr 48px; gap: 20px; align-items: start; padding-block: 36px; border-bottom: 1px solid var(--v2-line); }
.v2-svc__no { font-size: 14px; font-weight: 700; color: var(--v2-green-700); padding-top: 4px; font-variant-numeric: tabular-nums; }
.v2-svc__tag { font-size: 13px; font-weight: 600; color: var(--v2-muted); margin-bottom: 6px; }
.v2-svc__body h3 { font-size: 23px; font-weight: 800; color: var(--v2-ink); letter-spacing: -.01em; line-height: 1.3; margin-bottom: 10px; }
.v2-svc__body > p:last-child { font-size: 16px; line-height: 1.65; color: var(--v2-muted); max-width: 540px; }
.v2-svc__price { display: inline-block; font-weight: 700; color: var(--v2-forest); white-space: nowrap; direction: ltr; unicode-bidi: isolate; }
.v2-svc__go { width: 48px; height: 48px; border-radius: 50%; border: 1px solid var(--v2-line); display: grid; place-items: center; color: var(--v2-forest); transition: background-color .15s ease, border-color .15s ease, color .15s ease; }
.v2-svc__go svg { width: 20px; height: 20px; }
.v2-svc__row:hover .v2-svc__go { background: var(--v2-yellow); border-color: var(--v2-yellow); color: var(--v2-forest-950); }
.v2-svc__go::after { content: ""; position: absolute; inset: 0; }
.v2-svc__more { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px 24px; padding-top: 28px; font-size: 15px; color: var(--v2-muted); }
@media (max-width: 960px) {
  .v2-services__grid { grid-template-columns: 1fr; gap: 48px; }
  .v2-services__intro { position: static; }
  .v2-services__photo { display: none; }
}
@media (max-width: 640px) {
  .v2-svc__row { grid-template-columns: 1fr 40px; gap: 4px 16px; padding-block: 28px; }
  .v2-svc__no { grid-column: 1 / -1; padding-top: 0; }
  .v2-svc__go { width: 40px; height: 40px; align-self: center; }
  .v2-svc__body h3 { font-size: 21px; }
}

/* ── B2B ──────────────────────────────────────────────────────────────── */
.v2-b2b { background: var(--v2-forest-900); color: #fff; }
.v2-b2b .v2-eyebrow { color: var(--v2-leaf); }
.v2-b2b .v2-h2 { color: #fff; }
.v2-b2b .v2-lead { color: rgba(255, 255, 255, .75); }
.v2-b2b__grid { display: grid; grid-template-columns: 5fr 7fr; gap: 80px; align-items: start; }
.v2-b2b__ctas { margin-top: 40px; }
.v2-b2b__cols { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--v2-line-dark); }
.v2-b2b__col { padding: 40px 36px 8px 0; display: flex; flex-direction: column; }
.v2-b2b__col + .v2-b2b__col { padding-inline: 36px 0; border-inline-start: 1px solid var(--v2-line-dark); }
html[dir="rtl"] .v2-b2b__col { padding: 40px 0 8px 36px; }
html[dir="rtl"] .v2-b2b__col + .v2-b2b__col { padding: 40px 36px 8px 0; }
.v2-b2b__col h3 { font-size: 21px; font-weight: 800; line-height: 1.3; }
.v2-b2b__sub { font-size: 14px; color: rgba(255, 255, 255, .6); margin: 6px 0 28px; }
.v2-b2b__col .v2-link { margin-top: auto; padding-top: 12px; }
.v2-ticks { list-style: none; padding: 0; display: grid; gap: 18px; margin-bottom: 28px; }
.v2-ticks li { display: flex; gap: 12px; align-items: flex-start; font-size: 16px; line-height: 1.6; color: rgba(255, 255, 255, .86); }
.v2-ticks li::before { content: ""; flex-shrink: 0; width: 18px; height: 18px; margin-top: 4px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFC81E' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center / contain no-repeat; }
@media (max-width: 960px) {
  .v2-b2b__grid { grid-template-columns: 1fr; gap: 48px; }
}
@media (max-width: 640px) {
  .v2-b2b__cols { grid-template-columns: 1fr; }
  .v2-b2b__col, .v2-b2b__col + .v2-b2b__col, html[dir="rtl"] .v2-b2b__col, html[dir="rtl"] .v2-b2b__col + .v2-b2b__col { padding: 32px 0; border-inline-start: 0; }
  .v2-b2b__col + .v2-b2b__col { border-top: 1px solid var(--v2-line-dark); }
  .v2-b2b__ctas .v2-btn { width: 100%; }
}

/* ── PROCESS ──────────────────────────────────────────────────────────── */
.v2-steps { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 40px; position: relative; }
.v2-steps::before { content: ""; position: absolute; top: 24px; inset-inline: 24px; height: 1px; background: var(--v2-line); }
.v2-step { position: relative; }
.v2-step__num { position: relative; z-index: 1; display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: var(--v2-forest); color: var(--v2-yellow); font-weight: 800; font-size: 18px; margin-bottom: 28px; box-shadow: 0 0 0 8px #fff; }
.v2-step h3 { font-size: 19px; font-weight: 800; color: var(--v2-ink); margin-bottom: 10px; }
.v2-step p { font-size: 15.5px; line-height: 1.65; color: var(--v2-muted); }
@media (max-width: 900px) {
  .v2-steps { grid-template-columns: 1fr; gap: 0; }
  .v2-steps::before { top: 24px; bottom: 24px; inset-inline: 23px auto; width: 1px; height: auto; }
  .v2-step { display: grid; grid-template-columns: 48px 1fr; column-gap: 20px; padding-bottom: 32px; }
  .v2-step__num { grid-row: span 2; margin-bottom: 0; }
  .v2-step h3 { margin-top: 10px; }
}

/* ── REVIEWS (only rendered when real reviews exist) ─────────────────── */
.v2-reviews__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.v2-review { background: #fff; border-radius: var(--v2-radius); padding: 28px; }
.v2-review__stars { color: var(--v2-yellow-600); letter-spacing: 2px; font-size: 16px; margin-bottom: 12px; }
.v2-review p { margin: 0 0 16px; font-size: 15px; line-height: 1.65; color: var(--v2-text); }
.v2-review footer { font-size: 13px; color: var(--v2-muted); font-weight: 600; }
@media (max-width: 900px) { .v2-reviews__grid { grid-template-columns: 1fr; } }

/* ── AREAS ────────────────────────────────────────────────────────────── */
.v2-areas__grid { display: grid; grid-template-columns: 5fr 7fr; gap: 80px; align-items: center; }
.v2-areas__list { list-style: none; padding: 0; margin-top: 12px; border-top: 1px solid var(--v2-line); }
.v2-area { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-block: 20px; border-bottom: 1px solid var(--v2-line); text-decoration: none; color: var(--v2-ink); }
.v2-area strong { display: block; font-size: 17px; font-weight: 700; }
.v2-area small { display: block; font-size: 14px; color: var(--v2-muted); margin-top: 2px; }
.v2-area > svg { width: 18px; height: 18px; color: var(--v2-muted); flex-shrink: 0; transition: color .15s ease; }
.v2-area:hover > svg { color: var(--v2-green-700); }
.v2-areas__hint { margin-top: 20px; font-size: 15px; color: var(--v2-muted); }
.v2-areas__map { border-radius: 20px; overflow: hidden; background: #fff; }
.v2-areas__map svg { width: 100%; height: auto; display: block; }
@media (max-width: 960px) { .v2-areas__grid { grid-template-columns: 1fr; gap: 40px; } }

/* ── OFFER / FORMS ────────────────────────────────────────────────────── */
.v2-offer__box { display: grid; grid-template-columns: 5fr 7fr; border-radius: 24px; overflow: hidden; background: #fff; box-shadow: 0 40px 80px -40px rgba(1, 46, 38, .35); border: 1px solid var(--v2-line); }
.v2-offer__side { background: var(--v2-forest); color: #fff; padding: 56px 48px; display: flex; flex-direction: column; }
.v2-offer__side .v2-eyebrow { color: var(--v2-leaf); }
.v2-offer__side .v2-h2 { color: #fff; font-size: clamp(28px, 2.8vw, 36px); }
.v2-offer__side > p { color: rgba(255, 255, 255, .78); font-size: 16.5px; line-height: 1.7; margin-bottom: 32px; }
.v2-offer__points { list-style: none; padding: 0; margin-bottom: 40px; display: grid; gap: 14px; }
.v2-offer__points li { display: flex; gap: 12px; align-items: center; font-size: 15.5px; color: rgba(255, 255, 255, .9); }
.v2-offer__points svg, .v2-offer__points i { width: 18px; height: 18px; color: var(--v2-yellow); flex-shrink: 0; }
.v2-contact { margin-top: auto; border-top: 1px solid var(--v2-line-dark); }
.v2-contact a { display: flex; align-items: center; gap: 14px; padding-block: 16px; border-bottom: 1px solid var(--v2-line-dark); color: #fff; text-decoration: none; font-weight: 700; font-size: 16px; }
.v2-contact a:hover { color: var(--v2-yellow); }
.v2-contact a > span:first-child { width: 20px; display: grid; place-items: center; color: var(--v2-yellow); flex-shrink: 0; }
.v2-contact svg, .v2-contact i { width: 20px; height: 20px; }
.v2-contact small { display: block; font-size: 12.5px; font-weight: 500; color: rgba(255, 255, 255, .6); }
.v2-offer__main { padding: 48px 48px 40px; }
.v2-tabs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; padding: 4px; border-radius: 12px; background: var(--v2-paper); margin-bottom: 28px; }
.v2-tab { appearance: none; border: 0; background: transparent; padding: 10px 8px; border-radius: 9px; font: inherit; font-size: 14.5px; font-weight: 700; color: var(--v2-muted); cursor: pointer; display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; transition: background-color .15s ease, color .15s ease; }
.v2-tab svg, .v2-tab i { width: 17px; height: 17px; flex-shrink: 0; }
.v2-tab:hover { color: var(--v2-forest); }
.v2-tab[aria-selected="true"] { background: #fff; color: var(--v2-forest); box-shadow: 0 1px 3px rgba(1, 46, 38, .12); }
.v2-panel[hidden] { display: none; }
.v2-panel__intro { margin-bottom: 24px; font-size: 15.5px; line-height: 1.6; color: var(--v2-muted); }
.v2-form { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; max-width: 100%; }
.v2-field { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
.v2-field--full, .v2-form .v2-full { grid-column: 1 / -1; }
.v2-field label { font-size: 13.5px; font-weight: 600; color: var(--v2-ink); }
.v2-form input:not([type="checkbox"]), .v2-form select { width: 100%; min-width: 0; min-height: 50px; padding: 12px 14px; border-radius: 10px; border: 1px solid #CFDAD4; background: #fff; font: inherit; font-size: 16px; color: var(--v2-ink); transition: border-color .15s ease, box-shadow .15s ease; }
.v2-form input:focus, .v2-form select:focus { outline: none; border-color: var(--v2-forest); box-shadow: 0 0 0 3px rgba(2, 75, 62, .15); }
.v2-check { grid-column: 1 / -1; display: flex; align-items: center; gap: 12px; padding: 4px 0; font-size: 15px; font-weight: 600; color: var(--v2-ink); cursor: pointer; }
.v2-check input { width: 20px; height: 20px; accent-color: var(--v2-forest); flex-shrink: 0; }
.v2-hp { position: absolute !important; width: 1px !important; height: 1px !important; min-height: 0 !important; padding: 0 !important; border: 0 !important; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; opacity: 0; }
.v2-form .v2-btn { grid-column: 1 / -1; width: 100%; margin-top: 8px; }
.v2-form .v2-btn[disabled] { opacity: .7; cursor: wait; }
.v2-msg { grid-column: 1 / -1; margin: 0; min-height: 20px; font-size: 14.5px; line-height: 1.55; color: var(--v2-forest); }
.v2-msg.is-error { color: #B42318; }
.v2-msg.is-ok { padding: 20px; border-radius: 12px; background: var(--v2-mint); color: var(--v2-forest); font-size: 15.5px; }
.v2-offer__alt { margin-top: 20px; font-size: 14.5px; color: var(--v2-muted); }
.v2-offer__alt a { font-weight: 700; color: var(--v2-forest); }
.v2-privacy { margin-top: 16px; font-size: 13px; line-height: 1.5; color: var(--v2-muted); }
.v2-privacy a { color: var(--v2-forest); font-weight: 600; }
@media (max-width: 960px) {
  .v2-offer__box { grid-template-columns: 1fr; }
  .v2-offer__side { padding: 40px 28px; }
  .v2-offer__main { padding: 32px 24px; }
  .v2-offer__points { margin-bottom: 28px; }
}
@media (max-width: 640px) {
  #angebot .v2-wrap { padding-inline: 0; }
  .v2-offer__box { border-radius: 0; border-inline: 0; }
  .v2-offer__side { padding: 56px 20px 40px; }
  .v2-offer__main { padding: 32px 20px 40px; }
}
@media (max-width: 520px) {
  .v2-form { grid-template-columns: 1fr; }
  .v2-tab { font-size: 13px; flex-direction: column; gap: 4px; padding: 8px 4px; min-height: 56px; }
}

/* ── FAQ ──────────────────────────────────────────────────────────────── */
.v2-faq__grid { display: grid; grid-template-columns: 5fr 7fr; gap: 80px; align-items: start; }
.v2-faq__list { border-top: 1px solid var(--v2-line); }
.v2-faq__item { border-bottom: 1px solid var(--v2-line); }
.v2-faq__item summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 20px; padding-block: 24px; font-weight: 700; font-size: 17.5px; color: var(--v2-ink); }
.v2-faq__item summary::-webkit-details-marker { display: none; }
.v2-faq__item summary::after { content: "+"; flex-shrink: 0; width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; border: 1px solid var(--v2-line); color: var(--v2-forest); font-size: 20px; font-weight: 500; }
.v2-faq__item[open] summary::after { content: "–"; background: var(--v2-yellow); border-color: var(--v2-yellow); }
.v2-faq__item p { padding-bottom: 24px; font-size: 16px; line-height: 1.7; color: var(--v2-muted); max-width: 640px; }
.v2-faq__side { position: sticky; top: 120px; }
.v2-faq__side .v2-lead { margin-bottom: 32px; }
@media (max-width: 960px) { .v2-faq__grid { grid-template-columns: 1fr; gap: 40px; } .v2-faq__side { position: static; } }

/* Reveal on scroll (progressive enhancement) */
@media (prefers-reduced-motion: no-preference) {
  .v2-js .v2-reveal { opacity: 0; transform: translateY(12px); transition: opacity .6s ease, transform .6s ease; }
  .v2-js .v2-reveal.is-in { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .v2 *, .v2 *::before, .v2 *::after { transition: none !important; animation: none !important; }
}

/* ── Shared nav/footer on the homepage ────────────────────────────────── */
.v2-page #cv-nav { box-shadow: none; border-bottom: 1px solid #EDF1EE; }
.v2-page #cv-footer.footer-gradient { background: var(--v2-forest-950); }
.v2-page #cv-footer .flex.gap-6 { flex-wrap: wrap; justify-content: center; row-gap: 8px; }
