/* section 10-cta — Quest "CTA" banner (framer-14kt0l8 / Banner framer-xxml28), values from the template CSS + live measurements.
   Breakpoints (Framer): desktop >= 1200, tablet 810–1199.98, phone < 810. */

/* the section shell (.section) already gives max-width 1080, padding 72 / (0 | 24 | 16), gap 24, scroll-margin 60 */

/* ---------------------------------------------------------------- banner */
[data-section="10-cta"] .cta__banner {
  position: relative;
  flex: none;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 40px;
  width: 100%;
  height: 400px;
  padding: 0;
  border-radius: 24px;
  overflow: hidden;
}
/* Framer [data-border]: 1px #ffffff0d drawn inside the box, above the image */
[data-section="10-cta"] .cta__banner::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid var(--w-05);
  border-radius: inherit;
  pointer-events: none;
}

/* Background = Image + Overlay + Blur, all 100 % of the banner */
[data-section="10-cta"] .cta__bg { position: absolute; inset: 0; z-index: 0; overflow: hidden; }
[data-section="10-cta"] .cta__img { position: absolute; inset: 0; overflow: hidden; }
[data-section="10-cta"] .cta__img img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
  border-radius: inherit;
}
[data-section="10-cta"] .cta__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(rgba(16, 20, 28, 0) 0%, rgb(1, 1, 5) 100%);
}
[data-section="10-cta"] .cta__blur {
  position: absolute;
  inset: 0;
  overflow: hidden;
  -webkit-backdrop-filter: blur(1px);
  backdrop-filter: blur(1px);
  background: linear-gradient(rgba(16, 20, 28, 0) 0%, rgba(16, 20, 28, 0.5) 100%);
}

/* ------------------------------------------------------------------ text */
[data-section="10-cta"] .cta__text {
  position: relative;
  flex: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  width: 100%;
  max-width: 380px;
  text-align: center;
}
/* Framer preset V4a6qjpM2: Google Sans 400, 40/42, -0.04em, white (both lines white here) */
[data-section="10-cta"] .cta__title {
  width: 100%;
  font-family: var(--f-display);
  font-weight: 400;
  font-size: 40px;
  line-height: 1.05;
  letter-spacing: -0.04em;
  color: #fff;
  overflow-wrap: break-word;
}
/* Framer preset nBG6kvhVn: Inter 400, 16/22.4, -0.02em, #fffc */
[data-section="10-cta"] .cta__sub {
  width: 100%;
  font-family: var(--f-body);
  font-weight: 400;
  font-size: 16px;
  line-height: 1.4;
  letter-spacing: -0.02em;
  color: var(--t-80);
  overflow-wrap: break-word;
}

/* ------------------------------------------------------ field + button */
/* .cta__action takes the form's place in the flow (380 × 48); the links hang below it without moving anything */
[data-section="10-cta"] .cta__action {
  position: relative;
  flex: none;
  width: 100%;
  max-width: 380px;
}
[data-section="10-cta"] .cta__form {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 20px;
  width: 100%;
  overflow: hidden;
}
[data-section="10-cta"] .cta__label { position: relative; flex: 1 0 0; width: 1px; display: flex; flex-direction: column; }
/* Framer text input: wrapper #ffffff1a, radius 10, padding 12, 48 tall */
[data-section="10-cta"] .cta__field {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  height: 48px;
  padding: 12px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.1);
  overflow: hidden;
  cursor: text;
}
/* input text: Inter 400 16 / 1.2em, letter-spacing 0, #fff; tabular + slashed zero for a mono-ish address */
[data-section="10-cta"] .cta__input,
[data-section="10-cta"] .cta__short {
  font-family: var(--f-body);
  font-weight: 400;
  font-size: 16px;
  line-height: 1.2em;
  letter-spacing: 0;
  color: #fff;
  font-variant-numeric: tabular-nums slashed-zero;
  font-feature-settings: "tnum" 1, "zero" 1;
}
[data-section="10-cta"] .cta__input {
  flex: 1;
  min-width: 0;
  width: auto;
  height: 100%;
  margin: 0 136px 0 0;              /* the field's text box (and its ellipsis / scroll when focused) ends 12px before the button */
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  text-overflow: ellipsis;
  white-space: nowrap;
  cursor: text;
}
[data-section="10-cta"] .cta__input:focus-visible { outline: none; }
/* focused, the browser drops the ellipsis and scrolls the address: soften the cut edge instead */
[data-section="10-cta"] .cta__input:focus {
  -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 20px), transparent);
  mask-image: linear-gradient(90deg, #000 calc(100% - 20px), transparent);
}
[data-section="10-cta"] .cta__input::selection,
[data-section="10-cta"] .cta__short::selection { background: rgba(255, 255, 255, 0.25); color: #fff; }
[data-section="10-cta"] .cta__short { display: none; white-space: nowrap; user-select: all; -webkit-user-select: all; }

/* "Input button": 132 × 40 at top/right/bottom 4px, white, radius 8, padding 12/14; hover ring 0 0 0 2px #ffffff80 in 0.2 s */
[data-section="10-cta"] .cta__btn-wrap { position: absolute; top: 4px; right: 4px; bottom: 4px; z-index: 1; width: 132px; }
[data-section="10-cta"] .cta__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 12px 14px;
  border-radius: 8px;
  background-color: #fff;
  box-shadow: 0 0 0 0 rgba(255, 255, 255, 0);
  cursor: pointer;
  transition: box-shadow 0.2s var(--ease-hover);
}
[data-section="10-cta"] .cta__btn:hover,
[data-section="10-cta"] .cta__btn.is-copied { box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5); }
/* Framer preset fqtZzlFtC: Google Sans 500, 16/16, -0.02em, #0a0d11 */
[data-section="10-cta"] .cta__btn-label {
  display: block;
  white-space: pre;
  user-select: none;
  -webkit-user-select: none;
  font-family: var(--f-display);
  font-weight: 500;
  font-size: 16px;
  line-height: 16px;
  letter-spacing: -0.02em;
  color: var(--ink);
  text-align: center;
}

/* ------------------------------------------------------------- links */
/* template link style (footer): Inter 14 / 1.5, -0.02em, #fffc → #fff instantly on hover */
[data-section="10-cta"] .cta__links {
  position: absolute;
  top: calc(100% + 16px);
  left: 0;
  right: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 24px;
}
[data-section="10-cta"] .cta__link {
  display: block;
  font-family: var(--f-body);
  font-weight: 400;
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: -0.02em;
  color: var(--t-80);
  white-space: nowrap;
}
[data-section="10-cta"] .cta__link:hover { color: #fff; }

/* ------------------------------------------------------------ tablet */
@media (max-width: 1199.98px) {
  [data-section="10-cta"] .cta__title { font-size: 32px; }
}
@media (min-width: 810px) and (max-width: 1199.98px) {
  [data-section="10-cta"] .cta__banner { height: 360px; }
}

/* ------------------------------------------------------------- phone */
@media (max-width: 809.98px) {
  [data-section="10-cta"] .cta__text,
  [data-section="10-cta"] .cta__action { max-width: 320px; }
  [data-section="10-cta"] .cta__sub { text-wrap: pretty; }   /* our subtitle needs 3 lines at 320px: no one-word last line */
  /* the full address can't be read in 160px: show 0x1234...abcd (the button still copies the full contract) */
  [data-section="10-cta"] .cta__input { position: absolute; width: 1px; height: 1px; padding: 0; opacity: 0; pointer-events: none; }
  [data-section="10-cta"] .cta__short { display: block; }
}
