/* =========================================================================
   FEIRAN CTA — scoped Elementor widget styles
   Namespaced under .feiran-cta-widget so it never collides with the host
   theme. Mirrors the dark "Final CTA / Contact" block on the homepage.
   ========================================================================= */

.feiran-cta-widget{
  /* Brand tokens — overridable from the Style tab */
  --fc-red-600:#d92231;
  --fc-red-500:#e63946;
  --fc-navy-950:#0a1024;
  --fc-navy-900:#101a36;
  --fc-navy-800:#172447;
  --fc-ink-900:#101a36;
  --fc-line-strong:#cdd0d6;
  --fc-white:#ffffff;

  --fc-content-max:1320px;
  --fc-glow:rgba(217,34,49,.32);
  --fc-glow-soft:rgba(217,34,49,.18);

  --fc-font: "Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --fc-mono: "Geist Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
  --fc-easing:cubic-bezier(.2,.7,.2,1);

  font-family:var(--fc-font);
  color:#fff;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.feiran-cta-widget *,
.feiran-cta-widget *::before,
.feiran-cta-widget *::after{ box-sizing:border-box; }

/* ---- Section shell --------------------------------------------------- */
.feiran-cta{
  position:relative;
  overflow:hidden;
  background:var(--fc-navy-900);
  color:#fff;
  width:100%;
}
.feiran-cta::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(60% 60% at 80% 20%, var(--fc-glow), transparent 60%),
    radial-gradient(50% 50% at 10% 90%, var(--fc-glow-soft), transparent 60%);
  pointer-events:none;
}
.feiran-cta::after{
  content:"";position:absolute;inset:0;
  background-image:
    linear-gradient(to right, rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size:64px 64px;
  -webkit-mask-image:radial-gradient(70% 70% at 50% 50%, #000, transparent);
          mask-image:radial-gradient(70% 70% at 50% 50%, #000, transparent);
  pointer-events:none;
}
.feiran-cta__container{
  position:relative;
  z-index:1;
  width:100%;
  max-width:var(--fc-content-max);
  margin:0 auto;
}

/* ---- Content --------------------------------------------------------- */
.feiran-cta__eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-family:var(--fc-mono);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:rgba(255,255,255,.65);
  margin:0;
}
.feiran-cta__eyebrow::before{
  content:"";
  width:24px;height:1px;
  background:var(--fc-red-500);
}
.feiran-cta__title{
  margin:20px 0 0;
  max-width:18ch;
  font-size:clamp(36px, 4.2vw, 60px);
  font-weight:600;
  line-height:1.04;
  letter-spacing:-.03em;
  color:#fff;
  text-wrap:balance;
}
.feiran-cta__desc{
  margin:24px 0 0;
  max-width:54ch;
  font-size:18px;
  line-height:1.55;
  color:rgba(255,255,255,.7);
  text-wrap:pretty;
}

/* ---- Buttons --------------------------------------------------------- */
.feiran-cta__actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:36px;
}
.feiran-cta__btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:14px 22px;
  border-radius:999px;
  font-size:15px;
  font-weight:500;
  text-decoration:none;
  white-space:nowrap;
  transition:background .2s, box-shadow .25s, transform .25s var(--fc-easing);
}
.feiran-cta__btn .fc-arrow{
  display:inline-block;width:14px;height:14px;
  transition:transform .25s var(--fc-easing);
}
.feiran-cta__btn .fc-arrow svg{ display:block;width:100%;height:100%; }
.feiran-cta__btn:hover .fc-arrow{ transform:translateX(4px); }

.feiran-cta__btn--filled{
  background:var(--fc-red-600);
  color:#fff;
  box-shadow:0 1px 0 rgba(255,255,255,.12) inset, 0 14px 30px -14px var(--fc-red-600);
}
.feiran-cta__btn--filled:hover{ background:var(--fc-red-500); }

.feiran-cta__btn--ghost{
  background:transparent;
  color:#fff;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.22);
}
.feiran-cta__btn--ghost:hover{
  background:rgba(255,255,255,.08);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.5);
}

/* ---- Entrance reveal ------------------------------------------------- */
.feiran-cta [data-fc-reveal]{
  opacity:0;
  transform:translateY(20px);
  transition:opacity .7s var(--fc-easing), transform .7s var(--fc-easing);
}
.feiran-cta [data-fc-reveal].is-in{
  opacity:1;
  transform:translateY(0);
}

/* =========================================================================
   RESPONSIVE
   ========================================================================= */
@media (max-width:680px){
  .feiran-cta__desc{ font-size:16px; }
  .feiran-cta__btn{ width:100%; justify-content:center; }
}

@media (prefers-reduced-motion: reduce){
  .feiran-cta *{
    animation:none !important;
    transition:none !important;
  }
  .feiran-cta [data-fc-reveal]{ opacity:1 !important; transform:none !important; }
}
