/* ==========================================================================
   /contact and /newsletter: white heading section + embedded form card + "Codefi Home" button
   ========================================================================== */
.fpc { background: var(--white); padding: 160px 40px 0; display: flex; justify-content: center; align-items: center; overflow: hidden; }
.fpc--newsletter { background: transparent; min-height: 100vh; padding: 160px 40px 100px; }
.fpc__inner { flex: 1 0 0; min-width: 0; max-width: 1000px; display: flex; flex-direction: column; align-items: center; gap: 40px; }
.fpc__head { width: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; }
.fpc-chip { border-radius: 10px; padding: 5px 10px; display: flex; align-items: center; justify-content: center; gap: 8px; }
.fpc-chip p { white-space: pre; font: 400 16px/22.4px var(--f-body); letter-spacing: -0.02em; color: var(--green); }
.fpc__title { width: 100%; max-width: 600px; white-space: pre-wrap; font: 600 44px/52.8px var(--f-head); letter-spacing: -0.04em; color: var(--ink-2); text-align: center; }
.fpc__title--ink { color: var(--ink); }
.fpc__text { width: 100%; max-width: 480px; white-space: pre-wrap; font: 400 18px/27px var(--f-body); color: var(--gray); text-align: center; }
.fpc__text--ink { color: var(--ink); }
.fpc__wrap { width: 100%; overflow: clip; display: flex; flex-direction: column; align-items: center; gap: 30px; }
.fpc__card { width: 100%; max-width: 1000px; border-radius: 20px; background: var(--white); overflow: clip; padding: 60px;
             display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 24px; }
.fpc--contact .fpc__card { padding: 20px 60px; }
.fpc__frame { width: 100%; max-width: 1000px; height: 857px; position: relative; }
.fpc--contact .fpc__frame { height: 1305px; }
.fpc__frame iframe { display: block; width: 100%; height: 100%; border: none; border-radius: 20px; }
.fpc__address { width: 100%; overflow: clip; padding: 40px 40px 100px; display: flex; justify-content: center; align-items: center; gap: 10px; }
.fpc__address p { flex: none; max-width: 700px; white-space: pre-wrap; font: 400 23px/34.5px var(--f-body); color: var(--gray); text-align: center; }
/* Framer preset: Lato paragraph, italic runs set in Inter Italic (mixed fonts make each line ~1px taller, as on live) */
.fpc__address em { font-family: var(--f-inter); font-style: italic; font-feature-settings: var(--inter-features); }

/* Buttons: "Default - Desktop" teal-ink pill (contact) and dark → outline-green (newsletter) */
.fpc-btn--teal, .fpc-btn--teal:hover { background: var(--teal-ink); }
/* Live hover turns this pill pale blue (#ebf6ff) under white text, which hides the label: not copied. */
.fpc-btn--home:hover { background: var(--ink-3); } /* live "Second - Mobile" has no hover change */

@media (max-width: 1199.98px) {
  .fpc { padding: 140px 30px 80px; }
  .fpc--newsletter { padding: 140px 30px 80px; }
  .fpc__title { font-size: 38px; line-height: 45.6px; }
  .fpc__text { font-size: 17px; line-height: 25.5px; }
  .fpc__card { padding: 60px 24px; }
  .fpc--contact .fpc__card { padding: 20px 24px; }
  .fpc--contact .fpc__frame { height: 947px; }
  .fpc__address { padding: 20px 40px 40px; }
  .fpc__address p { font-size: 17px; line-height: 25.5px; }
  .fpc-btn--home, .fpc-btn--home:hover { background: transparent; color: var(--green-dark); box-shadow: inset 0 0 0 1px var(--green-dark); }
}

@media (max-width: 809.98px) {
  .fpc { flex-direction: column; padding: 120px 20px 0; }
  .fpc--newsletter { padding: 120px 20px 100px; }
  .fpc__inner { flex: none; width: 100%; }
  .fpc__title { font-size: 30px; line-height: 36px; letter-spacing: -0.09em; }
  .fpc__text { max-width: 320px; font-size: 16px; line-height: 24px; }
  .fpc__wrap { gap: 12px; }
  .fpc__card, .fpc--contact .fpc__card { padding: 24px 20px; }
  .fpc__frame { height: 1455px; }
  .fpc--contact .fpc__frame { height: 1483px; }
  .fpc__address { padding: 30px 40px 60px; }
  .fpc__address p { max-width: 320px; font-size: 14px; line-height: 21px; }
}
