/* ==========================================================================
   /gift — Vollbild-Hero (Ruby Gradient), Logo-Band, JOIN NOW
   Maße: scan/spec.gift.*.txt
   ========================================================================== */
.gift { position: relative; width: 100%; height: 100vh; min-height: 700px; overflow: visible; }
.gift__bg { position: absolute; inset: 0; }
.gift__bg img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.gift__blob { position: absolute; left: -247px; right: -247px; bottom: -113px; height: 467px; background: #000; filter: blur(100px); transform: rotate(-1deg); overflow: clip; }
.gift__band { position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); width: 141.08%; height: 129px; background: radial-gradient(50% 89% at 50% 8.9%, rgba(132, 0, 255, .03) 0%, rgba(28, 0, 0, .56) 100%); overflow: clip; }
.gift__band::after { content: ""; position: absolute; inset: 0; border: 1px solid rgba(33, 33, 33, .44); pointer-events: none; }
.gift__logos { position: absolute; top: -83px; left: 0; width: 100%; display: flex; justify-content: center; align-items: center; gap: 353px; overflow: clip; }
.gift__logo { position: relative; flex: none; opacity: .66; aspect-ratio: 1 / 1; }
.gift__logo img { width: 100%; height: 100%; object-fit: cover; }
.gift__logo--bmw { width: 79px; }
.gift__logo--lovable { width: 289px; mix-blend-mode: screen; }
.gift__logo--adobe { width: 95px; }
.gift__content { position: absolute; bottom: 29px; left: 50%; transform: translateX(-50%); width: 1146px; max-width: 100%; height: 733px; }
.gift__text { position: absolute; right: 0; bottom: 224px; width: 40%; z-index: 1; font-size: 16px; font-weight: 600; line-height: 1.2em; word-break: break-word; color: #fff; }
.gift__text p, .gift__title p, .gift__presented p { white-space: pre-wrap; }
.gift__title { position: absolute; left: 0; bottom: 135px; width: 49%; z-index: 1; font-size: 62px; font-weight: 500; line-height: 1em; word-break: break-word; color: #fff; }
.gift__title--phone { display: none; }
.gift__presented { position: absolute; left: 0; top: 51%; transform: translateY(-50%); width: 35%; z-index: 1; font-size: 15px; line-height: 1.2em; color: #fff; }
.gift__btn { position: absolute; right: -1px; bottom: 136px; width: 459px; }

/* JOIN NOW (Framer-Komponente KHmQ1, Variante "Large") */
.join {
  position: relative; display: flex; flex-direction: row; justify-content: center; align-items: center; gap: 8px; width: 100%;
  padding: 17px 31px; border-radius: 12px; overflow: hidden; cursor: pointer;
  background: linear-gradient(180deg, rgb(1, 0, 5) 0%, rgb(163, 0, 0) 100%);
  box-shadow: inset 0 2px 1px 0 rgba(255, 255, 255, .5), inset 0 .6021873px .6021873px -1.25px rgba(255, 255, 255, .72), inset 0 2.2885333px 2.2885333px -2.5px rgba(255, 255, 255, .64), inset 0 10px 10px -3.75px rgba(255, 255, 255, .25), 0 14px 6px -8px rgba(255, 47, 0, .2);
  transition: background .3s var(--ease-tween);
}
.join::after { content: ""; position: absolute; inset: 0; border: 1px solid rgb(247, 0, 0); border-radius: 12px; pointer-events: none; }
.join:hover { background: linear-gradient(180deg, rgb(0, 0, 0) 0%, rgb(138, 0, 53) 100%); }
.join__icon { position: relative; z-index: 1; width: 26px; height: 26px; flex: none; }
.join__icon svg { display: block; width: 100%; height: 100%; fill: #fff; color: #fff; }
html.js .join__icon[data-appear="pop"] { opacity: .001; transform: perspective(1200px) scale(.5); }
.join h4 { font-size: 24px; font-weight: 600; letter-spacing: -.96px; line-height: 33.6px; white-space: pre; color: #fff; }

@media (min-width: 810px) and (max-width: 1199.98px) {
  .gift__logos { gap: 193px; }
  .gift__logo--bmw { width: 66px; }
  .gift__logo--lovable { width: 243px; }
  .gift__logo--adobe { width: 79px; }
  /* Tablet: alles als linksbündige Spalte (gemessen: presented 135 / Titel 188 / Text 392 / Button 527) */
  .gift__content { width: 768px; }
  .gift__presented { top: 135px; transform: none; width: 269px; }
  .gift__title { top: 188px; bottom: auto; width: 530px; font-size: 56px; }
  .gift__text { left: 7px; right: auto; top: 392px; bottom: auto; width: 461px; }
  .gift__btn { right: auto; left: 7px; top: 527px; bottom: auto; }
}
@media (max-width: 809.98px) {
  .gift { min-height: 0; }
  .gift__blob { left: -121px; right: -123px; bottom: -114px; height: 527px; }
  .gift__band { height: 67px; }
  .gift__logos { top: -10px; gap: 35px; }
  .gift__logo--bmw { width: 43px; }
  .gift__logo--lovable { width: 201px; }
  .gift__logo--adobe { width: 52px; }
  .gift__content { top: 149.5px; bottom: auto; left: 22.5px; right: 22.5px; width: auto; transform: none; height: 574px; }
  .gift__text { left: 0; right: 0; width: 100%; bottom: 89px; font-size: 14px; line-height: 16.8px; text-align: justify; }
  .gift__title { display: none; }
  .gift__title--phone { display: block; top: 44px; bottom: auto; left: 1px; right: 1px; width: auto; font-size: 30px; line-height: 30px; }
  .gift__presented { top: 0; transform: none; width: 58%; font-size: 11px; line-height: 13.2px; }
  .gift__btn { top: 506.3px; bottom: auto; left: 1px; right: auto; width: calc(100% - 1px); }
}
