/* Homepage-only tweaks (no shared files changed) */

/* Reviews: handwritten note sits a bit further away from its arrow */
.home-page .reviews-link-group .reviews-note p {
  transform: translate(14px, -14px);
}

/* Vergleich: lead text above the Agri-PV card centred */
.home-page .pv-compare__lead {
  justify-self: center;
  text-align: center;
}

/* Vergleich: lead sits in the same column as the Agri-PV card and is centred on it */
@media (min-width: 1025px) {
  .home-page .pv-compare__intro-grid {
    grid-template-columns: var(--compare-col-a) var(--compare-col-b) var(--compare-col-c);
    column-gap: 0;
  }
  .home-page .pv-compare__title { grid-column: 1 / 3; }
  .home-page .pv-compare__lead {
    grid-column: 3;
    max-width: none;
    justify-self: stretch;
    text-align: center;
  }
}

/* Video: magnetic, reactive play button */
.home-page .why-ossler-video__play-magnet {
  position: absolute;
  z-index: 4;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  will-change: transform;
}
.home-page .why-ossler-video__play-inner { will-change: transform; }
.home-page .why-ossler-video__play-magnet .why-ossler-video__play {
  position: relative;
  left: auto;
  top: auto;
  transform: none;
  transition: background-color .25s ease, box-shadow .35s var(--ease-out);
}
.home-page .why-ossler-video__play-magnet .why-ossler-video__play:hover {
  transform: none;
  background: #fff;
  box-shadow: 0 22px 48px rgba(20, 28, 23, .24);
}
.home-page .why-ossler-video__play-magnet .why-ossler-video__play::after {
  transition: inset .45s var(--ease-out), border-color .35s ease;
}
.home-page .why-ossler-video__media.is-near .why-ossler-video__play::after {
  inset: -22px;
  border-color: rgba(255, 255, 255, .5);
}
.home-page .why-ossler-video__play span { transition: transform .35s var(--ease-out); }
.home-page .why-ossler-video__media.is-playing .why-ossler-video__play-magnet { pointer-events: none; }

/* Flächen-Check highlight (hero form + floating bar) */
@keyframes form-highlight-pulse {
  0%   { box-shadow: 0 0 0 0 rgba(242, 110, 63, .0), 0 0 0 0 rgba(242, 110, 63, .0); transform: scale(1); }
  18%  { box-shadow: 0 0 0 4px rgba(242, 110, 63, 1), 0 0 0 14px rgba(242, 110, 63, .22); transform: scale(1.015); }
  40%  { box-shadow: 0 0 0 3px rgba(242, 110, 63, 1), 0 0 0 26px rgba(242, 110, 63, 0); transform: scale(1); }
  60%  { box-shadow: 0 0 0 4px rgba(242, 110, 63, 1), 0 0 0 14px rgba(242, 110, 63, .22); }
  82%  { box-shadow: 0 0 0 3px rgba(242, 110, 63, 1), 0 0 0 26px rgba(242, 110, 63, 0); }
  100% { box-shadow: 0 0 0 3px rgba(242, 110, 63, .9), 0 0 0 0 rgba(242, 110, 63, 0); }
}
#land-check-form.is-form-highlight,
.land-check-sticky__shell.is-form-highlight {
  animation: form-highlight-pulse 1.6s var(--ease-out) both;
}
.land-check-sticky__shell.is-form-highlight { overflow: visible; }
@media (prefers-reduced-motion: reduce) {
  #land-check-form.is-form-highlight,
  .land-check-sticky__shell.is-form-highlight {
    animation: none;
    box-shadow: 0 0 0 3px var(--orange);
  }
}

/* Video playing: play button (and duration badge) fade away, come back on pause */
.home-page .why-ossler-video__play-magnet,
.home-page .why-ossler-video__duration {
  transition: opacity .35s var(--ease-out), visibility .35s;
}
.home-page .why-ossler-video__media.is-playing .why-ossler-video__play-magnet,
.home-page .why-ossler-video__media.is-playing .why-ossler-video__duration {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Video frame: no dark hairline around the edges, a bit taller */
.home-page .why-ossler-video__media {
  aspect-ratio: 16 / 9;
  background: transparent;
}
.home-page .why-ossler-video__video {
  background: transparent;
  transform: scale(1.02) !important;   /* slight overfill so no edge shows through the rounded clip */
}
.home-page .why-ossler-video__media::after {
  background: linear-gradient(180deg, rgba(8, 12, 10, 0) 55%, rgba(8, 12, 10, .28) 100%);
}
@media (max-width: 1100px) {
  .home-page .why-ossler-video__media { aspect-ratio: 16 / 9.6; }
}
@media (max-width: 700px) {
  .home-page .why-ossler-video__media { aspect-ratio: 5 / 4; }
}

/* =========================================================
   Agri-PV video section (#agri-pv-video) – roomier layout
   ========================================================= */
.home-page .apv__head {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
  align-items: end;
  gap: clamp(32px, 5vw, 96px);
}
.home-page .apv .why-ossler-video__copy h2,
.home-page .apv__title h2 {
  max-width: 15ch;
  margin: 1.05rem 0 0;
  color: var(--ink);
  font-size: var(--type-section-xl);
  font-weight: 300;
  line-height: .98;
  letter-spacing: -.055em;
  text-wrap: balance;
}
.home-page .apv__intro .why-ossler-video__lead {
  max-width: 38ch;
  margin: 0;
}
.home-page .apv__intro .people-link { margin-top: 22px; }

.home-page .apv__body {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(280px, .72fr);
  gap: clamp(20px, 2.4vw, 36px);
  align-items: stretch;
  margin-top: clamp(40px, 4.5vw, 72px);
}
.home-page .apv .why-ossler-video__visual { min-width: 0; }

/* the "equation" card */
.home-page .apv__equation {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(24px, 2.4vw, 36px);
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--surface);
}
.home-page .apv__eq-kicker {
  margin: 0 0 18px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.home-page .apv__eq-row {
  display: grid;
  grid-template-columns: 136px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
}
.home-page .apv__eq-row strong {
  color: var(--ink);
  font-size: clamp(38px, 3vw, 50px);
  font-weight: 300;
  line-height: 1;
  letter-spacing: -.05em;
  white-space: nowrap;
}
.home-page .apv__eq-row strong span {
  margin-left: .06em;
  font-size: .5em;
  letter-spacing: 0;
  vertical-align: .55em;
}
.home-page .apv__eq-row p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
}
.home-page .apv__eq-row p b {
  display: block;
  color: var(--ink);
  font-size: 15px;
  font-weight: 500;
}
.home-page .apv__eq-op {
  display: block;
  margin: 8px 0;
  padding-left: .15em;
  color: var(--orange);
  font-size: 22px;
  font-weight: 300;
  line-height: 1;
}
.home-page .apv__eq-row--total {
  margin-top: 4px;
  padding-top: 16px;
  border-top: 1px solid var(--line-strong);
}
.home-page .apv__eq-row--total strong { color: var(--orange); }

.home-page .apv .why-ossler-video__benefits { margin-top: clamp(32px, 3.5vw, 52px); }

@media (max-width: 1100px) {
  .home-page .apv__body { grid-template-columns: 1fr; }
  .home-page .apv__equation { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; align-items: start; gap: 12px 16px; }
  .home-page .apv__eq-kicker { grid-column: 1 / -1; margin-bottom: 4px; }
  .home-page .apv__eq-row { grid-template-columns: 1fr; gap: 6px; }
  .home-page .apv__eq-op { margin: 12px 0 0; }
  .home-page .apv__eq-row--total { margin: 0; padding: 0; border: 0; }
}
@media (max-width: 900px) {
  .home-page .apv__head { grid-template-columns: 1fr; gap: 20px; }
}
@media (max-width: 640px) {
  .home-page .apv__equation { display: flex; }
  .home-page .apv__eq-row { grid-template-columns: 108px minmax(0, 1fr); gap: 12px; }
  .home-page .apv__eq-row strong { font-size: 40px; }
  .home-page .apv__eq-op { margin: 6px 0; }
  .home-page .apv__eq-row--total { margin-top: 4px; padding-top: 14px; border-top: 1px solid var(--line-strong); }
}

/* Investor variant of the side card: three steps */
.home-page .apv__steps {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}
.home-page .apv__step {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  align-items: start;
  gap: 14px;
  padding: 13px 0;
  border-top: 1px solid var(--line);
}
.home-page .apv__step:first-child { border-top: 0; padding-top: 4px; }
.home-page .apv__step-no {
  color: var(--orange);
  font-size: clamp(34px, 2.6vw, 44px);
  font-weight: 300;
  line-height: 1;
  letter-spacing: -.05em;
}
.home-page .apv__step p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
}
.home-page .apv__step small {
  display: block;
  margin-bottom: 2px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.home-page .apv__step b {
  display: block;
  color: var(--ink);
  font-size: 15px;
  font-weight: 500;
}
.home-page .apv__steps-link { margin-top: 18px; }
@media (max-width: 1100px) {
  .home-page .apv__equation--steps { display: flex; }
  .home-page .apv__steps { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
  .home-page .apv__step,
  .home-page .apv__step:first-child { grid-template-columns: 1fr; gap: 8px; padding: 0; border: 0; }
}
@media (max-width: 640px) {
  .home-page .apv__steps { grid-template-columns: 1fr; gap: 0; }
  .home-page .apv__step,
  .home-page .apv__step:first-child { grid-template-columns: 52px minmax(0, 1fr); gap: 12px; padding: 14px 0; border-top: 1px solid var(--line); }
  .home-page .apv__step:first-child { border-top: 0; padding-top: 4px; }
}

@media (min-width: 1101px) {
  .home-page .apv__equation--steps { padding-block: clamp(20px, 2vw, 28px); }
  .home-page .apv__equation--steps .apv__step-no { font-size: clamp(30px, 2.3vw, 38px); }
}
@media (max-width: 800px) and (min-width: 641px) {
  .home-page .apv__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Video grows with the side card when the card is taller (never shorter than 16:9) */
@media (min-width: 1101px) {
  .home-page .apv .why-ossler-video__visual { display: grid; }
  .home-page .apv .why-ossler-video__visual::before {
    content: "";
    grid-area: 1 / 1;
    padding-top: 56.25%;
  }
  .home-page .apv .why-ossler-video__media {
    grid-area: 1 / 1;
    aspect-ratio: auto;
    height: auto;
    min-height: 0;
  }
}
