/* Finance Cinema — image-led industry page */
:root{
  --fc-bg:#06080d;
  --fc-bg-2:#0b1018;
  --fc-line:rgba(255,255,255,0.08);
  --fc-line-2:rgba(255,255,255,0.14);
  --fc-text:#e9eef7;
  --fc-text-2:rgba(233,238,247,0.74);
  --fc-text-3:rgba(233,238,247,0.5);
  --fc-mint:#5EFFA4;
  --fc-cyan:#4FC8FF;
  --fc-violet:#A78BFA;
  --fc-amber:#FFB020;
}
body.has-ticker { background: var(--fc-bg); color: var(--fc-text); }

/* ---------- BREADCRUMB ---------- */
.fc-crumb{ max-width:1320px; margin:24px auto 0; padding:0 32px; font:500 12px/1 ui-monospace,Menlo,monospace; letter-spacing:.08em; color:var(--fc-text-3); display:flex; gap:10px; align-items:center; }
.fc-crumb a{ color:var(--fc-text-3); text-decoration:none; }
.fc-crumb a:hover{ color:var(--fc-mint); }
.fc-crumb .sep{ opacity:.5; }
.fc-crumb .cur{ color:var(--fc-text); }

/* ---------- SECTION HEAD ---------- */
.fc-section-head{ max-width:1320px; margin:0 auto; padding:96px 32px 36px; }
.fc-eyebrow{ font:600 11px/1 ui-monospace,Menlo,monospace; letter-spacing:.18em; color:var(--fc-mint); margin-bottom:18px; }
.fc-h2{ font:600 56px/1.04 'Helvetica Neue',Helvetica,Arial,sans-serif; letter-spacing:-0.02em; margin:0 0 18px; text-wrap:balance; max-width:980px; }
.fc-h2 em{ font-style:normal; background:linear-gradient(100deg,var(--fc-mint),var(--fc-cyan)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.fc-sub{ font:400 18px/1.55 'Helvetica Neue',Helvetica,Arial,sans-serif; color:var(--fc-text-2); max-width:760px; text-wrap:pretty; margin:0; }

/* ---------- BUTTONS ---------- */
.fc-btn{ display:inline-flex; align-items:center; gap:10px; padding:14px 22px; border-radius:999px; font:500 14px/1 'Helvetica Neue',Helvetica,Arial,sans-serif; text-decoration:none; transition:transform .2s, box-shadow .2s, background .2s; cursor:pointer; border:0; }
.fc-btn-primary{ background:linear-gradient(100deg,var(--fc-mint),#3DE695); color:#06120a; box-shadow:0 8px 28px rgba(94,255,164,.22); }
.fc-btn-primary:hover{ transform:translateY(-1px); box-shadow:0 10px 36px rgba(94,255,164,.32); }
.fc-btn-ghost{ background:transparent; color:var(--fc-text); border:1px solid var(--fc-line-2); }
.fc-btn-ghost:hover{ background:rgba(255,255,255,.04); border-color:var(--fc-line-2); }
.fc-btn span{ font-size:18px; }

/* ============================================================
   HERO
   ============================================================ */
.fc-hero{ position:relative; overflow:hidden; padding-top:72px; padding-bottom:48px; background:linear-gradient(180deg,#06080d 0%, #08111a 100%); }
.fc-hero-grid{ position:absolute; inset:0; background-image:linear-gradient(rgba(94,255,164,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(94,255,164,.05) 1px,transparent 1px); background-size:48px 48px; mask-image:radial-gradient(ellipse 80% 60% at 50% 30%, #000 50%, transparent 90%); pointer-events:none; }
.fc-hero-inner{ position:relative; max-width:1320px; margin:0 auto; padding:0 32px; display:grid; grid-template-columns:1.05fr 1.1fr; gap:64px; align-items:center; min-height:78vh; }
.fc-hero-text{ position:relative; z-index:2; }
.fc-hero-pill{ display:inline-flex; align-items:center; gap:10px; padding:8px 14px; border-radius:999px; background:rgba(255,255,255,.04); border:1px solid var(--fc-line); font:600 10.5px/1 ui-monospace,Menlo,monospace; letter-spacing:.14em; color:var(--fc-text-2); margin-bottom:28px; }
.fc-hero-pill .fc-dot{ width:7px; height:7px; border-radius:50%; background:var(--fc-mint); box-shadow:0 0 12px var(--fc-mint); animation:fc-pulse 1.6s infinite; }
@keyframes fc-pulse{ 0%,100%{opacity:1;} 50%{opacity:.4;} }
.fc-hero-h{ font:600 76px/1 'Helvetica Neue',Helvetica,Arial,sans-serif; letter-spacing:-0.025em; margin:0 0 28px; text-wrap:balance; }
.fc-grad{ background:linear-gradient(100deg,var(--fc-mint),var(--fc-cyan) 70%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.fc-fade{ display:inline-block; animation:fc-fadeup .9s cubic-bezier(.2,.7,.2,1) both; }
.fc-fade:nth-child(2){ animation-delay:.07s; }
.fc-fade:nth-child(3){ animation-delay:.14s; }
@keyframes fc-fadeup{ from{opacity:0; transform:translateY(14px);} to{opacity:1; transform:translateY(0);} }
.fc-hero-sub{ font:400 19px/1.5 'Helvetica Neue',Helvetica,Arial,sans-serif; color:var(--fc-text-2); max-width:520px; margin:0 0 32px; text-wrap:pretty; }
.fc-hero-ctas{ display:flex; gap:12px; flex-wrap:wrap; margin-bottom:36px; }
.fc-hero-dots{ display:flex; gap:8px; align-items:center; }
.fc-hero-d{ width:24px; height:3px; border-radius:2px; background:rgba(255,255,255,.18); border:0; cursor:pointer; transition:background .2s, width .2s; }
.fc-hero-d.on{ width:40px; background:var(--fc-mint); }
.fc-hero-counter{ margin-left:14px; font:600 11px/1 ui-monospace,Menlo,monospace; letter-spacing:.14em; color:var(--fc-text-3); }

.fc-hero-stage{ position:relative; aspect-ratio:1/.96; animation:fc-fadeup .8s both; }
.fc-stage-kicker{ display:inline-flex; align-items:center; gap:8px; padding:7px 12px; border-radius:999px; background:rgba(0,0,0,.4); backdrop-filter:blur(10px); border:1px solid var(--fc-line); font:600 10px/1 ui-monospace,Menlo,monospace; letter-spacing:.16em; color:var(--fc-text-2); position:absolute; top:14px; left:14px; z-index:3; }
.fc-stage-kicker .fc-dot{ width:6px; height:6px; border-radius:50%; background:var(--fc-mint); box-shadow:0 0 10px var(--fc-mint); animation:fc-pulse 1.5s infinite; }
.fc-stage-grid{ position:absolute; inset:0; display:grid; grid-template-columns:1.5fr 1fr; grid-template-rows:1fr 1fr; gap:14px; }
.fc-stage-big{ grid-row:1/3; position:relative; border-radius:18px; overflow:hidden; border:1px solid var(--fc-line-2); }
.fc-stage-big img{ width:100%; height:100%; object-fit:cover; display:block; }
.fc-stage-big::after{ content:''; position:absolute; inset:0; background:linear-gradient(170deg, transparent 40%, rgba(6,8,13,.85) 100%); }
.fc-stage-tag{ position:absolute; left:18px; bottom:18px; z-index:2; font:600 13px/1.2 'Helvetica Neue',Helvetica,Arial,sans-serif; color:var(--fc-text); max-width:80%; }
.fc-stage-scan{ position:absolute; left:0; right:0; height:2px; background:linear-gradient(90deg,transparent,var(--fc-mint),transparent); top:0; animation:fc-scan 3.2s linear infinite; z-index:2; }
@keyframes fc-scan{ 0%{ top:0; opacity:0;} 10%{opacity:.7;} 90%{opacity:.7;} 100%{ top:100%; opacity:0;} }
.fc-stage-sm{ position:relative; border-radius:14px; overflow:hidden; border:1px solid var(--fc-line); }
.fc-stage-sm img{ width:100%; height:100%; object-fit:cover; display:block; filter:saturate(.9); }
.fc-stage-sm::after{ content:''; position:absolute; inset:0; background:linear-gradient(180deg, transparent 50%, rgba(6,8,13,.5)); }

.fc-stage-chip{ position:absolute; right:-12px; bottom:-12px; z-index:4; padding:14px 20px 18px; border-radius:14px; background:rgba(8,16,26,.92); backdrop-filter:blur(14px); border:1px solid var(--fc-line-2); min-width:200px; box-shadow:0 12px 36px rgba(0,0,0,.4); }
.fc-chip-l{ font:600 10px/1 ui-monospace,Menlo,monospace; letter-spacing:.16em; color:var(--fc-text-3); margin-bottom:8px; }
.fc-chip-v{ font:600 32px/1 'Helvetica Neue',Helvetica,Arial,sans-serif; letter-spacing:-0.02em; color:var(--fc-text); }
.fc-stage-chip.fc-chip-mint .fc-chip-v{ color:var(--fc-mint); }
.fc-stage-chip.fc-chip-cyan .fc-chip-v{ color:var(--fc-cyan); }
.fc-stage-chip.fc-chip-violet .fc-chip-v{ color:var(--fc-violet); }
.fc-chip-pulse{ position:absolute; right:14px; top:14px; width:8px; height:8px; border-radius:50%; background:var(--fc-mint); box-shadow:0 0 14px var(--fc-mint); animation:fc-pulse 1.4s infinite; }

@media (max-width:980px){
  .fc-hero-inner{ grid-template-columns:1fr; gap:36px; padding:24px; min-height:0; }
  .fc-hero-h{ font-size:48px; }
  .fc-hero-stage{ aspect-ratio:1/.8; }
  .fc-h2{ font-size:38px; }
}

/* ============================================================
   USE CASES
   ============================================================ */
.fc-uc{ padding-bottom:96px; }
.fc-uc-filters{ max-width:1320px; margin:0 auto 28px; padding:0 32px; display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.fc-uc-f{ padding:9px 16px; border-radius:999px; background:rgba(255,255,255,.04); border:1px solid var(--fc-line); color:var(--fc-text-2); font:500 12px/1 'Helvetica Neue',Helvetica,Arial,sans-serif; letter-spacing:.04em; cursor:pointer; transition:all .2s; }
.fc-uc-f:hover{ background:rgba(255,255,255,.08); color:var(--fc-text); }
.fc-uc-f.on{ background:var(--fc-mint); border-color:var(--fc-mint); color:#06120a; }
.fc-uc-count{ margin-left:auto; font:600 11px/1 ui-monospace,Menlo,monospace; letter-spacing:.14em; color:var(--fc-text-3); }
.fc-uc-grid{ max-width:1320px; margin:0 auto; padding:0 32px; display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.fc-uc-card{ display:flex; flex-direction:column; border-radius:18px; overflow:hidden; background:#0b1018; border:1px solid var(--fc-line); text-decoration:none; color:inherit; transition:transform .3s cubic-bezier(.2,.7,.2,1), border-color .3s, box-shadow .3s; }
.fc-uc-card:hover{ transform:translateY(-4px); border-color:var(--fc-line-2); box-shadow:0 18px 48px rgba(0,0,0,.4); }
.fc-uc-img{ position:relative; aspect-ratio:16/9; overflow:hidden; }
.fc-uc-img img{ width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.fc-uc-card:hover .fc-uc-img img{ transform:scale(1.06); }
.fc-uc-img::after{ content:''; position:absolute; inset:0; background:linear-gradient(180deg,transparent 50%, rgba(11,16,24,.9)); }
.fc-uc-cat{ position:absolute; top:12px; left:12px; z-index:2; padding:5px 10px; border-radius:999px; background:rgba(0,0,0,.55); backdrop-filter:blur(8px); border:1px solid var(--fc-line); font:600 9.5px/1 ui-monospace,Menlo,monospace; letter-spacing:.16em; color:var(--fc-mint); }
.fc-uc-body{ padding:20px 22px 22px; display:flex; flex-direction:column; gap:14px; flex:1; }
.fc-uc-t{ font:600 21px/1.18 'Helvetica Neue',Helvetica,Arial,sans-serif; letter-spacing:-0.01em; margin:0; }
.fc-uc-d{ font:400 14.5px/1.5 'Helvetica Neue',Helvetica,Arial,sans-serif; color:var(--fc-text-2); margin:0; }
.fc-uc-metrics{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; padding:12px 0; border-top:1px solid var(--fc-line); border-bottom:1px solid var(--fc-line); }
.fc-uc-m{ display:flex; flex-direction:column; gap:4px; }
.fc-uc-mv{ font:600 16px/1 'Helvetica Neue',Helvetica,Arial,sans-serif; color:var(--fc-mint); letter-spacing:-0.01em; }
.fc-uc-ml{ font:500 10px/1.2 ui-monospace,Menlo,monospace; letter-spacing:.08em; color:var(--fc-text-3); text-transform:uppercase; }
.fc-uc-foot{ display:flex; align-items:flex-end; justify-content:space-between; gap:12px; margin-top:auto; }
.fc-uc-prods{ display:flex; flex-wrap:wrap; gap:6px; }
.fc-uc-prods span{ padding:4px 9px; border-radius:6px; background:rgba(94,255,164,.08); border:1px solid rgba(94,255,164,.18); color:var(--fc-mint); font:500 10.5px/1 ui-monospace,Menlo,monospace; letter-spacing:.04em; }
.fc-uc-arrow{ font:500 12px/1 'Helvetica Neue',Helvetica,Arial,sans-serif; color:var(--fc-text); white-space:nowrap; }
.fc-uc-card:hover .fc-uc-arrow{ color:var(--fc-mint); }
@media (max-width:980px){ .fc-uc-grid{ grid-template-columns:1fr; } }

/* ============================================================
   PRODUCT MATRIX
   ============================================================ */
.fc-prods{ padding-bottom:96px; background:linear-gradient(180deg, transparent, rgba(94,255,164,.025) 50%, transparent); }
.fc-prods-frame{ max-width:1320px; margin:0 auto; padding:0 32px; display:grid; grid-template-columns:260px 1fr; gap:24px; }
.fc-prods-rail{ display:flex; flex-direction:column; gap:6px; }
.fc-prods-tab{ display:flex; align-items:center; gap:14px; padding:16px 18px; border-radius:14px; background:transparent; border:1px solid var(--fc-line); color:var(--fc-text-2); cursor:pointer; text-align:left; transition:all .2s; }
.fc-prods-tab:hover{ background:rgba(255,255,255,.03); color:var(--fc-text); }
.fc-prods-tab.on{ background:linear-gradient(100deg, rgba(94,255,164,.12), rgba(79,200,255,.06)); border-color:rgba(94,255,164,.34); color:var(--fc-text); }
.fc-prods-tab-n{ font:600 10px/1 ui-monospace,Menlo,monospace; letter-spacing:.12em; color:var(--fc-mint); }
.fc-prods-tab-l{ font:500 14px/1.2 'Helvetica Neue',Helvetica,Arial,sans-serif; }
.fc-prods-stage{ position:relative; border-radius:18px; overflow:hidden; background:#0b1018; border:1px solid var(--fc-line); display:grid; grid-template-columns:1fr 1fr; min-height:420px; animation:fc-fadeup .4s both; }
.fc-prods-img{ position:relative; overflow:hidden; }
.fc-prods-img img{ width:100%; height:100%; object-fit:cover; }
.fc-prods-img-scan{ position:absolute; inset:0; background:linear-gradient(90deg,rgba(6,8,13,.4), transparent 40%, rgba(6,8,13,.6)); }
.fc-prods-body{ padding:36px 36px 32px; display:flex; flex-direction:column; gap:24px; }
.fc-prods-line{ font:500 22px/1.35 'Helvetica Neue',Helvetica,Arial,sans-serif; color:var(--fc-text); text-wrap:pretty; }
.fc-prods-list{ display:flex; flex-wrap:wrap; gap:8px; }
.fc-prods-chip{ display:inline-flex; align-items:center; gap:8px; padding:9px 14px; border-radius:999px; background:rgba(255,255,255,.04); border:1px solid var(--fc-line-2); font:500 13px/1 'Helvetica Neue',Helvetica,Arial,sans-serif; color:var(--fc-text); }
.fc-prods-chip-d{ width:7px; height:7px; border-radius:50%; background:var(--fc-mint); box-shadow:0 0 8px var(--fc-mint); }
.fc-prods-chip-custom{ background:rgba(94,255,164,.12); border-color:rgba(94,255,164,.34); color:var(--fc-mint); }
.fc-prods-chip-custom .fc-prods-chip-d{ background:var(--fc-mint); }
@media (max-width:980px){
  .fc-prods-frame{ grid-template-columns:1fr; }
  .fc-prods-stage{ grid-template-columns:1fr; }
  .fc-prods-img{ aspect-ratio:16/9; }
}

/* ============================================================
   CUSTOM SOLUTION BUILDER
   ============================================================ */
.fc-build{ padding-bottom:96px; }
.fc-build-card{ max-width:1320px; margin:0 auto; padding:0 32px; display:grid; grid-template-columns:.8fr 1.2fr; gap:24px; align-items:stretch; }
.fc-build-img{ position:relative; border-radius:18px; overflow:hidden; border:1px solid var(--fc-line); min-height:520px; }
.fc-build-img img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.fc-build-img::after{ content:''; position:absolute; inset:0; background:linear-gradient(160deg, rgba(6,8,13,.3) 0%, rgba(6,8,13,.85) 100%); }
.fc-build-pane{ padding:36px; background:#0b1018; border:1px solid var(--fc-line); border-radius:18px; display:flex; flex-direction:column; gap:22px; }
.fc-build-steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
.fc-build-step{ display:flex; flex-direction:column; align-items:flex-start; gap:6px; padding:14px; border-radius:12px; background:transparent; border:1px solid var(--fc-line); color:var(--fc-text-3); cursor:pointer; text-align:left; transition:all .2s; min-height:90px; }
.fc-build-step:hover{ background:rgba(255,255,255,.03); }
.fc-build-step.on{ border-color:var(--fc-mint); background:rgba(94,255,164,.08); color:var(--fc-text); }
.fc-build-step.done{ border-color:rgba(94,255,164,.4); color:var(--fc-text); }
.fc-build-n{ font:600 10px/1 ui-monospace,Menlo,monospace; letter-spacing:.14em; color:var(--fc-mint); }
.fc-build-l{ font:500 13px/1.2 'Helvetica Neue',Helvetica,Arial,sans-serif; }
.fc-build-v{ font:400 11.5px/1.3 'Helvetica Neue',Helvetica,Arial,sans-serif; color:var(--fc-text-2); margin-top:auto; }
.fc-build-opts{ display:flex; flex-wrap:wrap; gap:8px; min-height:120px; }
.fc-build-opt{ padding:11px 16px; border-radius:999px; background:rgba(255,255,255,.04); border:1px solid var(--fc-line-2); color:var(--fc-text); font:500 13px/1 'Helvetica Neue',Helvetica,Arial,sans-serif; cursor:pointer; transition:all .2s; }
.fc-build-opt:hover{ background:rgba(255,255,255,.08); }
.fc-build-opt.on{ background:var(--fc-mint); border-color:var(--fc-mint); color:#06120a; }
.fc-build-result{ padding:20px 22px; border-radius:14px; background:linear-gradient(100deg, rgba(94,255,164,.1), rgba(79,200,255,.04)); border:1px solid rgba(94,255,164,.3); display:flex; flex-direction:column; gap:10px; animation:fc-fadeup .35s both; }
.fc-build-res-l{ font:600 10px/1 ui-monospace,Menlo,monospace; letter-spacing:.16em; color:var(--fc-mint); }
.fc-build-res-h{ font:600 18px/1.3 'Helvetica Neue',Helvetica,Arial,sans-serif; color:var(--fc-text); }
.fc-build-res-d{ font:400 14px/1.5 'Helvetica Neue',Helvetica,Arial,sans-serif; color:var(--fc-text-2); }
.fc-build-result .fc-btn{ align-self:flex-start; margin-top:6px; }
@media (max-width:980px){ .fc-build-card{ grid-template-columns:1fr; } .fc-build-img{ min-height:240px; } .fc-build-steps{ grid-template-columns:repeat(2,1fr); } }

/* ============================================================
   PROOF STRIP
   ============================================================ */
.fc-proof{ padding:0 0 96px; }
.fc-proof-grid{ max-width:1320px; margin:0 auto; padding:36px 32px; display:grid; grid-template-columns:repeat(6,1fr); gap:0; border-top:1px solid var(--fc-line); border-bottom:1px solid var(--fc-line); }
.fc-proof-item{ padding:12px 18px; border-right:1px solid var(--fc-line); display:flex; flex-direction:column; gap:6px; }
.fc-proof-item:last-child{ border-right:0; }
.fc-proof-v{ font:600 36px/1 'Helvetica Neue',Helvetica,Arial,sans-serif; letter-spacing:-0.02em; background:linear-gradient(100deg,var(--fc-mint),var(--fc-cyan)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.fc-proof-l{ font:500 11.5px/1.3 ui-monospace,Menlo,monospace; letter-spacing:.06em; color:var(--fc-text-3); text-transform:uppercase; }
@media (max-width:980px){ .fc-proof-grid{ grid-template-columns:repeat(2,1fr); } .fc-proof-item:nth-child(2n){ border-right:0; } }

/* ============================================================
   FINAL CTA
   ============================================================ */
.fc-final{ position:relative; min-height:520px; padding:120px 0; overflow:hidden; }
.fc-final-img{ position:absolute; inset:0; }
.fc-final-img img{ width:100%; height:100%; object-fit:cover; filter:saturate(.85) brightness(.6); }
.fc-final-img::after{ content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(6,8,13,.6) 0%, rgba(6,8,13,.95) 100%); }
.fc-final-inner{ position:relative; max-width:1320px; margin:0 auto; padding:0 32px; z-index:2; }
.fc-final .fc-h2{ font-size:64px; max-width:880px; }
.fc-final .fc-sub{ font-size:19px; max-width:680px; margin-bottom:32px; }
@media (max-width:980px){ .fc-final .fc-h2{ font-size:40px; } }
