* { box-sizing:border-box; margin:0; padding:0; }
body { font-family:Arial, Helvetica, sans-serif; color:#111827; background:#f8fafc; line-height:1.6; }
a { text-decoration:none; color:inherit; }
.ffs-container { width:min(1180px, calc(100% - 40px)); margin:0 auto; }
.ffs-header { background:#ffffff; border-bottom:1px solid #e5e7eb; position:sticky; top:0; z-index:100; }
.ffs-header-inner { display:flex; align-items:center; justify-content:space-between; min-height:74px; gap:24px; }

.ffs-logo { display:inline-flex; align-items:center; gap:12px; font-size:1.25rem; font-weight:800; color:#0f172a; letter-spacing:-0.02em; }
.ffs-logo img { width:48px; height:48px; object-fit:contain; display:block; border-radius:50%; background:#ffffff; box-shadow:0 6px 18px rgba(15,23,42,0.08); }
.ffs-logo span { display:inline-block; line-height:1; }
.ffs-nav { display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.ffs-nav a { font-size:0.98rem; color:#334155; font-weight:600; }
.ffs-nav a:hover { color:#2563eb; }
.ffs-nav a { position:relative; transition:color 0.22s ease; }
.ffs-nav a::after { content:""; position:absolute; left:0; bottom:-6px; width:100%; height:2px; background:#2563eb; transform:scaleX(0); transform-origin:left; transition:transform 0.22s ease; }
.ffs-nav a:hover::after { transform:scaleX(1); }
.ffs-nav-cta::after { display:none; }
.ffs-nav-cta { background:#0f172a; color:#ffffff !important; padding:10px 16px; border-radius:10px; }
.ffs-hero { padding:90px 0 70px; background:linear-gradient(135deg, #ffffff 0%, #eef2f7 100%); }
.ffs-hero-content { max-width:760px; }
.ffs-eyebrow { font-size:0.85rem; text-transform:uppercase; letter-spacing:0.12em; font-weight:800; color:#2563eb; margin-bottom:14px; }
.ffs-hero h1, .ffs-page h1 { font-size:clamp(2.2rem, 5vw, 4rem); line-height:1.05; margin-bottom:18px; color:#0f172a; }
.ffs-lead { font-size:1.1rem; color:#475569; max-width:800px; }
.ffs-hero-actions { display:flex; gap:14px; flex-wrap:wrap; margin-top:28px; }
.ffs-btn { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:0 18px; border-radius:10px; font-weight:700; }
.ffs-btn-primary { background:#0f172a; color:#ffffff; }
.ffs-btn-secondary { background:#ffffff; color:#0f172a; border:1px solid #cbd5e1; }
.ffs-section { padding:70px 0; }
.ffs-section-alt { background:#eef2f7; }
.ffs-section-heading { margin-bottom:30px; }
.ffs-section h2 { font-size:2rem; color:#0f172a; }
.ffs-grid { display:grid; gap:22px; }
.ffs-grid-3 { grid-template-columns:repeat(3, minmax(0, 1fr)); }
.ffs-grid-2 { grid-template-columns:repeat(2, minmax(0, 1fr)); }
.ffs-card { background:#ffffff; border:1px solid #e2e8f0; border-radius:18px; padding:24px; box-shadow:0 10px 30px rgba(15, 23, 42, 0.04); }
.ffs-card h3 { margin-bottom:10px; font-size:1.2rem; color:#0f172a; }
.ffs-card p { color:#475569; }
.ffs-split { display:grid; grid-template-columns:1.2fr 1fr; gap:28px; align-items:start; }
.ffs-checklist { display:grid; gap:14px; }
.ffs-check-item { background:#ffffff; border:1px solid #dbeafe; border-radius:14px; padding:16px 18px; font-weight:600; color:#1e293b; }
.ffs-page { min-height:70vh; }
.ffs-form { margin-top:24px; }
.ffs-form-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:18px; margin-bottom:18px; }
.ffs-form label { display:block; margin-bottom:8px; font-weight:700; color:#0f172a; }
.ffs-form input, .ffs-form textarea { width:100%; border:1px solid #cbd5e1; border-radius:12px; padding:12px 14px; font-size:1rem; background:#ffffff; }
.ffs-form textarea { resize:vertical; min-height:140px; }
.ffs-form > div { margin-bottom:18px; }
.ffs-footer { background:#0f172a; color:#e2e8f0; padding:40px 0 24px; margin-top:40px; }
.ffs-footer-top { display:flex; justify-content:space-between; gap:30px; flex-wrap:wrap; }
.ffs-footer-top h3 { margin-bottom:10px; color:#ffffff; }
.ffs-footer-links { display:grid; gap:10px; min-width:180px; }
.ffs-footer-links a { color:#cbd5e1; }
.ffs-footer-bottom { border-top:1px solid rgba(255,255,255,0.1); margin-top:24px; padding-top:18px; font-size:0.95rem; color:#cbd5e1; }
@media (max-width:900px) { .ffs-grid-3, .ffs-grid-2, .ffs-split, .ffs-form-grid { grid-template-columns:1fr; } .ffs-header-inner { flex-direction:column; align-items:flex-start; padding:14px 0; } .ffs-nav { width:100%; } }
@media (max-width:640px) { .ffs-container { width:min(100% - 24px, 1180px); } .ffs-hero { padding:70px 0 56px; } .ffs-nav { gap:12px; } }

.ffs-cta-panel { background:#ffffff; border:1px solid #e2e8f0; border-radius:22px; padding:36px; box-shadow:0 10px 30px rgba(15, 23, 42, 0.04); }
.ffs-philosophy-box { margin-top:32px; background:#eef2f7; border:1px solid #dbe3ee; border-radius:22px; padding:32px; }
.ffs-top-gap { margin-top:22px; }

.ffs-hero { position:relative; overflow:hidden; padding:42px 0 72px; background:radial-gradient(circle at top left, rgba(37,99,235,0.08) 0%, rgba(37,99,235,0) 35%), linear-gradient(135deg, #f8fbff 0%, #eef3f8 45%, #f8fafc 100%); }
.ffs-hero-layout { display:grid; grid-template-columns:minmax(0, 1.05fr) minmax(420px, 0.95fr); gap:54px; align-items:start; position:relative; z-index:2; }
.ffs-hero-content { max-width:760px; }
.ffs-hero-title { font-size:clamp(2.8rem, 6vw, 5.4rem); line-height:0.95; margin-bottom:22px; color:#0f172a; letter-spacing:-0.04em; }
.ffs-title-line { display:block; }
.ffs-rotating-word-wrap { display:inline-flex; align-items:center; min-width:4.5ch; position:relative; }
.ffs-rotating-word { display:inline-block; color:#2563eb; text-shadow:0 0 24px rgba(37,99,235,0.16); transform:translateY(0) scale(1); opacity:1; transition:transform 0.22s ease, opacity 0.22s ease, filter 0.22s ease; will-change:transform, opacity; }
.ffs-rotating-word.is-changing { transform:translateY(14px) scale(0.96); opacity:0; filter:blur(3px); }
.ffs-rotating-word-wrap { display:inline-flex; align-items:center; min-width:3.8ch; position:relative; }
.ffs-rotating-word { display:inline-block; color:#2563eb; text-shadow:0 0 24px rgba(37,99,235,0.16); transform:translateY(0) scale(1); opacity:1; transition:transform 0.22s ease, opacity 0.22s ease, filter 0.22s ease; will-change:transform, opacity; }
.ffs-rotating-word.is-changing { transform:translateY(14px) scale(0.96); opacity:0; filter:blur(3px); }
.ffs-hero-mini-points { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.ffs-hero-mini-link { display:inline-flex; align-items:center; padding:10px 14px; border:1px solid rgba(37,99,235,0.14); background:rgba(255,255,255,0.72); backdrop-filter:blur(12px); border-radius:999px; font-size:0.92rem; font-weight:700; color:#1e293b; box-shadow:0 10px 24px rgba(15,23,42,0.05); transition:transform 0.22s ease, box-shadow 0.22s ease, background 0.22s ease, border-color 0.22s ease, color 0.22s ease; }
.ffs-hero-mini-link:hover { transform:translateY(-2px); box-shadow:0 12px 22px rgba(15,23,42,0.08); }

.ffs-hero-mini-link:nth-child(1) { background:rgba(37,99,235,0.08); border-color:rgba(37,99,235,0.18); color:#1d4ed8; }
.ffs-hero-mini-link:nth-child(2) { background:rgba(14,165,233,0.08); border-color:rgba(14,165,233,0.18); color:#0369a1; }
.ffs-hero-mini-link:nth-child(3) { background:rgba(99,102,241,0.08); border-color:rgba(99,102,241,0.18); color:#4338ca; }

.ffs-hero-mini-link:nth-child(1):hover { background:rgba(37,99,235,0.14); border-color:rgba(37,99,235,0.28); }
.ffs-hero-mini-link:nth-child(2):hover { background:rgba(14,165,233,0.14); border-color:rgba(14,165,233,0.28); }
.ffs-hero-mini-link:nth-child(3):hover { background:rgba(99,102,241,0.14); border-color:rgba(99,102,241,0.28); }

html { scroll-behavior:smooth; }

.ffs-hero-mini-points span { display:inline-flex; align-items:center; padding:10px 14px; border:1px solid rgba(37,99,235,0.14); background:rgba(255,255,255,0.72); backdrop-filter:blur(12px); border-radius:999px; font-size:0.92rem; font-weight:700; color:#1e293b; box-shadow:0 10px 24px rgba(15,23,42,0.05); }
.ffs-hero-visual { position:relative; min-height:420px; display:flex; align-items:flex-start; justify-content:center; padding-top:8px; }
.ffs-ui-stack { position:relative; width:100%; max-width:560px; }
.ffs-ui-card { background:rgba(255,255,255,0.78); border:1px solid rgba(255,255,255,0.65); border-radius:28px; box-shadow:0 30px 80px rgba(15,23,42,0.14); backdrop-filter:blur(18px); overflow:hidden; }
.ffs-ui-card-main { transform:perspective(1400px) rotateY(-10deg) rotateX(4deg); transition:transform 0.35s ease, box-shadow 0.35s ease; }
.ffs-ui-card-main:hover { transform:perspective(1400px) rotateY(-6deg) rotateX(2deg) translateY(-6px); box-shadow:0 38px 90px rgba(15,23,42,0.18); }
.ffs-ui-bar { display:flex; align-items:center; gap:8px; padding:16px 18px; border-bottom:1px solid rgba(148,163,184,0.18); background:linear-gradient(180deg, rgba(255,255,255,0.9) 0%, rgba(248,250,252,0.72) 100%); }
.ffs-ui-bar span { width:10px; height:10px; border-radius:50%; background:#cbd5e1; display:inline-block; }
.ffs-ui-content { padding:24px; }
.ffs-ui-kicker { font-size:0.78rem; text-transform:uppercase; letter-spacing:0.12em; font-weight:800; color:#2563eb; margin-bottom:10px; }
.ffs-ui-content h3 { font-size:1.55rem; margin-bottom:10px; color:#0f172a; }
.ffs-ui-content p { color:#475569; margin-bottom:20px; }

.ffs-ui-preview-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:14px; align-items:stretch; }
.ffs-ui-preview-main, .ffs-ui-preview-side { position:relative; overflow:hidden; border-radius:18px; background:#e2e8f0; border:1px solid rgba(37,99,235,0.1); box-shadow:inset 0 1px 0 rgba(255,255,255,0.65), 0 10px 25px rgba(15,23,42,0.06); }
.ffs-ui-preview-main { grid-row:span 2; min-height:250px; }
.ffs-ui-preview-side { min-height:118px; }
.ffs-ui-preview-main img, .ffs-ui-preview-side img { width:100%; height:100%; display:block; object-fit:cover; object-position:top center; transition:transform 0.45s ease, filter 0.45s ease; }
.ffs-ui-preview-main:hover img, .ffs-ui-preview-side:hover img { transform:scale(1.04); filter:saturate(1.05); }

.ffs-ui-float-card { position:absolute; background:rgba(15,23,42,0.92); color:#ffffff; border-radius:20px; padding:16px 18px; box-shadow:0 18px 50px rgba(15,23,42,0.22); backdrop-filter:blur(14px); animation:ffsFloatCard 4.2s ease-in-out infinite; }
.ffs-ui-float-card strong { display:block; font-size:1rem; line-height:1.35; }
.ffs-float-label { font-size:0.72rem; text-transform:uppercase; letter-spacing:0.12em; color:#93c5fd; margin-bottom:6px; font-weight:800; }
.ffs-ui-float-card-top { top:-18px; right:-8px; animation-delay:0s; }
.ffs-ui-float-card-bottom { left:-18px; bottom:26px; animation-delay:1.2s; }
.ffs-hero-glow { position:absolute; border-radius:999px; filter:blur(70px); opacity:0.55; z-index:1; pointer-events:none; }
.ffs-hero-glow-1 { width:260px; height:260px; background:rgba(37,99,235,0.22); top:40px; left:8%; animation:ffsGlowPulse 6s ease-in-out infinite; }
.ffs-hero-glow-2 { width:320px; height:320px; background:rgba(14,165,233,0.14); right:8%; bottom:30px; animation:ffsGlowPulse 7s ease-in-out infinite; }

@keyframes ffsFloatCard { 0% { transform:translateY(0); } 50% { transform:translateY(-8px); } 100% { transform:translateY(0); } }
@keyframes ffsGlowPulse { 0% { transform:scale(1); opacity:0.45; } 50% { transform:scale(1.08); opacity:0.65; } 100% { transform:scale(1); opacity:0.45; } }
@media (max-width:1100px) { .ffs-hero-layout { grid-template-columns:1fr; gap:40px; } .ffs-hero-visual { min-height:auto; } .ffs-ui-stack { max-width:100%; } .ffs-ui-card-main { transform:none; } .ffs-ui-card-main:hover { transform:translateY(-4px); } }
@media (max-width:680px) { .ffs-hero { padding:34px 0 56px; } .ffs-hero-title { font-size:clamp(2.5rem, 10vw, 4rem); } .ffs-ui-float-card-top, .ffs-ui-float-card-bottom { position:relative; top:auto; right:auto; left:auto; bottom:auto; margin-top:14px; } .ffs-ui-stack { display:grid; gap:14px; } }

.ffs-slider-nav { display:flex; justify-content:center; gap:18px; margin-bottom:26px; }
.ffs-slider-dot { width:18px; height:18px; border-radius:50%; border:1.5px solid #0f172a; background:#ffffff; cursor:pointer; transition:all 0.25s ease; }
.ffs-slider-dot:hover { background:#dbeafe; border-color:#2563eb; transform:scale(1.08); }
.ffs-slider-dot.is-active { background:#2563eb; border-color:#2563eb; box-shadow:0 0 0 4px rgba(37,99,235,0.12); }
.ffs-slider { position:relative; }
.ffs-slider-slide { display:none; animation:ffsFadeSlide 0.35s ease; }
.ffs-slider-slide.is-active { display:block; }
@keyframes ffsFadeSlide { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }

body.ffs-loading { overflow:hidden; }

html.ffs-loading, body.ffs-loading { width:100%; height:100%; }

.ffs-loader { position:fixed; top:0; left:0; width:100vw; height:100vh; min-width:100vw; min-height:100vh; z-index:9999; overflow:hidden; display:flex; align-items:center; justify-content:center; background:#020617; opacity:1; visibility:visible; transition:opacity 0.85s ease, visibility 0.85s ease; }
.ffs-loader.is-hidden { opacity:0; visibility:hidden; pointer-events:none; }

.ffs-loader-video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center center; display:block; pointer-events:none; user-select:none; -webkit-user-select:none; transform:scale(1.30); transform-origin:center center; }
.ffs-loader { position:fixed; inset:0; overflow:hidden; }
.ffs-loader video::-webkit-media-controls { display:none !important; }
.ffs-loader video::-webkit-media-controls-enclosure { display:none !important; }

.ffs-loader-overlay { position:absolute; inset:0; background:linear-gradient(180deg, rgba(2,6,23,0.48) 0%, rgba(2,6,23,0.26) 36%, rgba(2,6,23,0.58) 100%), radial-gradient(circle at 50% 40%, rgba(96,165,250,0.10) 0%, rgba(96,165,250,0) 34%); pointer-events:none; }

.ffs-loader::after { content:""; position:absolute; inset:0; background:linear-gradient(120deg, rgba(255,255,255,0.00) 0%, rgba(255,255,255,0.03) 48%, rgba(255,255,255,0.00) 100%); mix-blend-mode:screen; opacity:0.38; pointer-events:none; }

.ffs-loader-content { position:relative; z-index:2; width:min(100% - 40px, 980px); padding:40px 24px; display:flex; align-items:center; justify-content:center; text-align:center; }

.ffs-loader-text { max-width:760px; color:#ffffff; background:rgba(5, 12, 24, 0.24); border:1px solid rgba(255,255,255,0.08); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); box-shadow:0 18px 60px rgba(0,0,0,0.28); border-radius:28px; padding:30px 32px; opacity:0; transform:translateY(18px) scale(0.985); animation:ffsLoaderTextIn 0.9s ease forwards; animation-delay:0.2s; }

.ffs-loader-kicker { font-size:0.78rem; text-transform:uppercase; letter-spacing:0.26em; font-weight:800; color:#c7ddff; margin-bottom:12px; opacity:0; animation:ffsLoaderKickerIn 0.75s ease forwards; animation-delay:0.35s; }

.ffs-loader-title { font-size:clamp(2.5rem, 6vw, 5rem); line-height:0.94; margin-bottom:14px; letter-spacing:-0.05em; }
.ffs-loader-title-top, .ffs-loader-title-bottom { display:block; }
.ffs-loader-title-top { opacity:0; transform:translateY(24px); color:#ffffff; text-shadow:0 6px 26px rgba(0,0,0,0.28); animation:ffsLoaderTitleTopIn 0.95s cubic-bezier(0.22, 0.8, 0.2, 1) forwards; animation-delay:0.5s; }
.ffs-loader-title-bottom { opacity:0; transform:translateY(20px); color:#d7e7ff; text-shadow:0 6px 24px rgba(0,0,0,0.24); animation:ffsLoaderTitleBottomIn 0.95s cubic-bezier(0.22, 0.8, 0.2, 1) forwards; animation-delay:0.72s; }

.ffs-loader-tagline { font-size:clamp(0.98rem, 1.5vw, 1.08rem); line-height:1.6; color:#eaf2ff; max-width:620px; margin:0 auto; opacity:0; transform:translateY(12px); text-shadow:0 2px 12px rgba(0,0,0,0.22); animation:ffsLoaderTaglineIn 0.8s ease forwards; animation-delay:0.95s; }

.ffs-loader-status { margin-top:18px; display:inline-flex; align-items:center; justify-content:center; gap:12px; color:#dbeafe; font-size:0.96rem; font-weight:700; letter-spacing:0.02em; text-shadow:0 2px 10px rgba(0,0,0,0.22); opacity:0; transform:translateY(10px); animation:ffsLoaderStatusIn 0.75s ease forwards; animation-delay:1.15s; }

.ffs-loader-spinner { width:18px; height:18px; border-radius:50%; border:2px solid rgba(191,219,254,0.32); border-top-color:#93c5fd; animation:ffsLoaderSpin 0.85s linear infinite; flex:0 0 auto; }

.ffs-loader-dots { display:inline-block; min-width:28px; text-align:left; }
.ffs-loader-dots span { display:inline-block; opacity:0.18; animation:ffsLoaderDotPulse 1.4s infinite ease-in-out; }
.ffs-loader-dots span:nth-child(2) { animation-delay:0.2s; }
.ffs-loader-dots span:nth-child(3) { animation-delay:0.4s; }

@keyframes ffsLoaderTextIn {
  0% { opacity:0; transform:translateY(18px) scale(0.985); }
  100% { opacity:1; transform:translateY(0) scale(1); }
}

@keyframes ffsLoaderKickerIn {
  0% { opacity:0; transform:translateY(8px); }
  100% { opacity:1; transform:translateY(0); }
}

@keyframes ffsLoaderTitleTopIn {
  0% { opacity:0; transform:translateY(24px); filter:blur(4px); }
  100% { opacity:1; transform:translateY(0); filter:blur(0); }
}

@keyframes ffsLoaderTitleBottomIn {
  0% { opacity:0; transform:translateY(20px); filter:blur(4px); }
  100% { opacity:1; transform:translateY(0); filter:blur(0); }
}

@keyframes ffsLoaderTaglineIn {
  0% { opacity:0; transform:translateY(12px); }
  100% { opacity:1; transform:translateY(0); }
}

@keyframes ffsLoaderStatusIn {
  0% { opacity:0; transform:translateY(10px); }
  100% { opacity:1; transform:translateY(0); }
}

@keyframes ffsLoaderSpin {
  0% { transform:rotate(0deg); }
  100% { transform:rotate(360deg); }
}

@keyframes ffsLoaderDotPulse {
  0%, 80%, 100% { opacity:0.2; transform:translateY(0); }
  40% { opacity:1; transform:translateY(-1px); }
}

@media (max-width:640px) {
  .ffs-loader-content { width:min(100% - 24px, 980px); padding:24px 12px; }
  .ffs-loader-text { padding:22px 18px; border-radius:22px; }
  .ffs-loader-title { font-size:clamp(2.1rem, 11vw, 3.7rem); }
  .ffs-loader-tagline { font-size:0.93rem; }
  .ffs-loader-status { margin-top:16px; font-size:0.9rem; gap:10px; }
  .ffs-loader-spinner { width:16px; height:16px; }
}

.ffs-section-space { position:relative; overflow:hidden; background:
radial-gradient(circle at 18% 26%, rgba(59,130,246,0.18) 0%, rgba(59,130,246,0) 20%),
radial-gradient(circle at 82% 32%, rgba(147,197,253,0.09) 0%, rgba(147,197,253,0) 18%),
linear-gradient(180deg, #071327 0%, #09182f 45%, #0c1c35 100%);
padding:90px 0;
}

.ffs-section-space::before { content:""; position:absolute; inset:0; background-image:
radial-gradient(circle, rgba(255,255,255,0.75) 1px, transparent 1.8px);
background-size:120px 120px;
opacity:0.18;
pointer-events:none;
}

.ffs-section-space::after { content:""; position:absolute; inset:0; background:
radial-gradient(circle at 30% 70%, rgba(37,99,235,0.12) 0%, rgba(37,99,235,0) 20%),
radial-gradient(circle at 70% 20%, rgba(96,165,250,0.08) 0%, rgba(96,165,250,0) 18%);
pointer-events:none;
}

.ffs-section-space .ffs-container { position:relative; z-index:2; }

.ffs-section-space .ffs-section-heading h2,
.ffs-section-space .ffs-section-heading .ffs-lead,
.ffs-section-space .ffs-card h3,
.ffs-section-space .ffs-card p { color:#e5eefc; }

.ffs-section-space .ffs-eyebrow { color:#60a5fa; }

.ffs-section-space .ffs-card { background:linear-gradient(180deg, rgba(255,255,255,0.08) 0%, rgba(255,255,255,0.045) 100%); border:1px solid rgba(147,197,253,0.14); box-shadow:0 18px 40px rgba(2,6,23,0.22), inset 0 1px 0 rgba(255,255,255,0.08); backdrop-filter:blur(10px); }

.ffs-section-space .ffs-slider-nav { margin-bottom:34px; }

.ffs-section-space .ffs-slider-dot { width:16px; height:16px; border:1.5px solid rgba(191,219,254,0.85); background:rgba(255,255,255,0.08); box-shadow:0 0 0 0 rgba(96,165,250,0); }

.ffs-section-space .ffs-slider-dot:hover { background:#1d4ed8; border-color:#60a5fa; transform:scale(1.1); box-shadow:0 0 16px rgba(96,165,250,0.35); }

.ffs-section-space .ffs-slider-dot.is-active { background:#60a5fa; border-color:#60a5fa; box-shadow:0 0 0 5px rgba(96,165,250,0.16), 0 0 18px rgba(96,165,250,0.28); }

.ffs-section-space .ffs-section-heading .ffs-lead { max-width:760px; }

.ffs-section-space .ffs-slider-slide { min-height:320px; }

@media (max-width:768px) {
  .ffs-section-space { padding:72px 0; }
}

.ffs-section-space .ffs-slider-nav { position:relative; }
.ffs-section-space .ffs-slider-nav::before { content:""; position:absolute; left:50%; top:50%; width:180px; height:180px; transform:translate(-50%, -50%); border-radius:50%; border:1px dashed rgba(96,165,250,0.16); pointer-events:none; }
.ffs-section-space .ffs-slider-nav::after { content:""; position:absolute; left:50%; top:50%; width:260px; height:80px; transform:translate(-50%, -50%); border-top:1px solid rgba(147,197,253,0.14); border-radius:999px; pointer-events:none; }

.ffs-section-space { position:relative; }
.ffs-section-space .ffs-container::before { content:""; position:absolute; left:6%; top:16%; width:260px; height:260px; border-radius:50%; background:radial-gradient(circle, rgba(59,130,246,0.18) 0%, rgba(59,130,246,0.08) 34%, rgba(59,130,246,0) 70%); filter:blur(24px); animation:ffsNebulaFloat 8s ease-in-out infinite alternate; pointer-events:none; }
.ffs-section-space .ffs-container::after { content:""; position:absolute; right:8%; bottom:12%; width:220px; height:220px; border-radius:50%; background:radial-gradient(circle, rgba(147,197,253,0.12) 0%, rgba(147,197,253,0.05) 34%, rgba(147,197,253,0) 72%); filter:blur(26px); animation:ffsNebulaFloat 10s ease-in-out infinite alternate-reverse; pointer-events:none; }

@keyframes ffsNebulaFloat {
  0% { transform:translate3d(0, 0, 0) scale(1); opacity:0.85; }
  100% { transform:translate3d(12px, -14px, 0) scale(1.08); opacity:1; }
}

.ffs-section-brand-band { position:relative; overflow:hidden; background:
radial-gradient(circle at 18% 26%, rgba(59,130,246,0.12) 0%, rgba(59,130,246,0) 20%),
radial-gradient(circle at 82% 30%, rgba(147,197,253,0.08) 0%, rgba(147,197,253,0) 18%),
linear-gradient(180deg, #061224 0%, #09182f 52%, #0c1d36 100%);
padding:96px 0;
}

.ffs-section-brand-band::before { content:""; position:absolute; inset:0; background-image:radial-gradient(circle, rgba(255,255,255,0.72) 1px, transparent 1.8px); background-size:130px 130px; opacity:0.15; pointer-events:none; }

.ffs-section-brand-band::after { content:""; position:absolute; inset:0; background:
radial-gradient(circle at 30% 70%, rgba(37,99,235,0.1) 0%, rgba(37,99,235,0) 20%),
radial-gradient(circle at 76% 26%, rgba(96,165,250,0.08) 0%, rgba(96,165,250,0) 20%);
pointer-events:none; }

.ffs-brand-band { position:relative; z-index:2; display:grid; grid-template-columns:minmax(0, 1.05fr) minmax(320px, 0.95fr); gap:44px; align-items:center; }

.ffs-brand-band-copy h2 { color:#ffffff; font-size:clamp(2rem, 4vw, 3.2rem); line-height:1.08; margin-bottom:18px; max-width:760px; }
.ffs-brand-band-copy p { color:#dbeafe; max-width:760px; }

.ffs-checklist-brand { margin-top:30px; display:grid; gap:14px; max-width:520px; }
.ffs-checklist-brand .ffs-check-item { background:rgba(255,255,255,0.08); border:1px solid rgba(147,197,253,0.14); color:#eff6ff; box-shadow:0 14px 30px rgba(2,6,23,0.22); backdrop-filter:blur(10px); }

.ffs-brand-band-visual { display:flex; justify-content:center; align-items:center; position:relative; min-height:420px; }
.ffs-brand-logo-panel { position:relative; width:min(100%, 420px); aspect-ratio:1 / 1; display:flex; align-items:center; justify-content:center; border-radius:50%; background:radial-gradient(circle at 50% 40%, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0.08) 30%, rgba(255,255,255,0.03) 55%, rgba(255,255,255,0) 74%); border:1px solid rgba(147,197,253,0.14); box-shadow:0 30px 80px rgba(2,6,23,0.32), inset 0 1px 0 rgba(255,255,255,0.08); overflow:visible; }
.ffs-brand-logo-panel .ffs-logo-disc { position:absolute; width:58%; aspect-ratio:1 / 1; border-radius:50%; background:radial-gradient(circle at 50% 38%, #ffffff 0%, #f8fbff 58%, #dbeafe 100%); box-shadow:0 20px 50px rgba(15,23,42,0.24), inset 0 2px 10px rgba(255,255,255,0.9), inset 0 -10px 24px rgba(148,163,184,0.16); border:1px solid rgba(203,213,225,0.7); z-index:1; }
.ffs-brand-logo-panel .ffs-logo-disc::after { content:""; position:absolute; inset:10%; border-radius:50%; border:1px solid rgba(96,165,250,0.16); }

.ffs-brand-logo-panel::before { content:""; position:absolute; inset:14%; border-radius:50%; border:1px dashed rgba(147,197,253,0.16); animation:ffsOrbitSpin 20s linear infinite; }
.ffs-brand-logo-panel::after { content:""; position:absolute; width:18px; height:18px; top:10%; left:50%; transform:translateX(-50%); border-radius:50%; background:radial-gradient(circle, #93c5fd 0%, #60a5fa 45%, rgba(96,165,250,0) 72%); box-shadow:0 0 26px rgba(96,165,250,0.45); animation:ffsLogoSatellite 8s linear infinite; }

.ffs-brand-logo-panel img { width:62%; max-width:260px; height:auto; display:block; object-fit:contain; filter:drop-shadow(0 12px 24px rgba(15,23,42,0.18)); position:relative; z-index:2; }

.ffs-brand-logo-glow { position:absolute; width:72%; aspect-ratio:1 / 1; border-radius:50%; background:radial-gradient(circle, rgba(96,165,250,0.32) 0%, rgba(59,130,246,0.16) 38%, rgba(59,130,246,0) 74%); filter:blur(24px); animation:ffsLogoPulse 4.4s ease-in-out infinite; z-index:0; }
@keyframes ffsOrbitSpin {
  0% { transform:rotate(0deg); }
  100% { transform:rotate(360deg); }
}

@keyframes ffsLogoSatellite {
  0% { transform:rotate(0deg) translateY(-146px) rotate(0deg); }
  100% { transform:rotate(360deg) translateY(-146px) rotate(-360deg); }
}

@keyframes ffsLogoPulse {
  0% { transform:scale(0.96); opacity:0.6; }
  50% { transform:scale(1.05); opacity:0.95; }
  100% { transform:scale(0.96); opacity:0.6; }
}

@media (max-width:980px) {
  .ffs-brand-band { grid-template-columns:1fr; gap:28px; }
  .ffs-brand-band-visual { min-height:320px; order:-1; }
  .ffs-brand-logo-panel { width:min(100%, 320px); }
}

@media (max-width:640px) {
  .ffs-section-brand-band { padding:74px 0; }
  .ffs-brand-band-copy h2 { font-size:clamp(1.8rem, 8vw, 2.5rem); }
  .ffs-brand-band-visual { min-height:260px; }
}
.ffs-parallax-zone { position:relative; overflow:hidden; }
.ffs-parallax-bg { position:absolute; inset:0; pointer-events:none; z-index:0; }
.ffs-parallax-zone > .ffs-container,
.ffs-parallax-zone > .ffs-slider-nav,
.ffs-parallax-zone > .ffs-slider,
.ffs-parallax-zone .ffs-brand-band,
.ffs-parallax-zone .ffs-hero-layout { position:relative; z-index:2; }

.ffs-parallax-zone > .ffs-hero-glow { position:absolute !important; z-index:1 !important; pointer-events:none; }
.ffs-hero .ffs-container,
.ffs-section-discovery-parallax .ffs-container { position:relative; z-index:2; }
.ffs-space-planet,
.ffs-space-nebula,
.ffs-space-stars { position:absolute; pointer-events:none; will-change:transform; transform:translate3d(var(--px, 0px), var(--py, 0px), 0); }

.ffs-space-planet { border-radius:50%; box-shadow:inset -24px -24px 46px rgba(15,23,42,0.22), inset 10px 10px 22px rgba(255,255,255,0.14), 0 0 40px rgba(96,165,250,0.08); }

.ffs-space-nebula { border-radius:50%; filter:blur(18px); opacity:0.82; }
.ffs-space-stars::before,
.ffs-space-stars::after { content:""; position:absolute; inset:0; background-repeat:repeat; }

.ffs-space-stars::before { background-image:radial-gradient(circle, rgba(255,255,255,0.72) 1px, transparent 1.8px); background-size:120px 120px; opacity:0.12; }
.ffs-space-stars::after { background-image:radial-gradient(circle, rgba(147,197,253,0.85) 1px, transparent 2px); background-size:180px 180px; opacity:0.09; }

.ffs-space-planet-left { width:220px; height:220px; left:-110px; top:54%; margin-top:-110px; background:radial-gradient(circle at 35% 35%, #dbeafe 0%, #93c5fd 22%, #3b82f6 52%, #1d4ed8 72%, #0f172a 100%); opacity:0.14; }
.ffs-space-planet-right { width:180px; height:180px; right:-90px; top:56%; margin-top:-90px; background:radial-gradient(circle at 38% 38%, #f8fafc 0%, #bfdbfe 20%, #60a5fa 50%, #1e3a8a 74%, #0f172a 100%); opacity:0.11; }

.ffs-space-nebula-left { width:300px; height:220px; left:-90px; top:52%; margin-top:-110px; background:radial-gradient(circle, rgba(96,165,250,0.20) 0%, rgba(59,130,246,0.10) 38%, rgba(59,130,246,0) 74%); }
.ffs-space-nebula-right { width:250px; height:200px; right:-70px; top:54%; margin-top:-100px; background:radial-gradient(circle, rgba(147,197,253,0.12) 0%, rgba(96,165,250,0.08) 36%, rgba(96,165,250,0) 72%); }

.ffs-space-stars-hero { inset:0; }

.ffs-section-discovery-parallax { position:relative; overflow:hidden; background:linear-gradient(180deg, #eef2f7 0%, #edf2f9 100%); }

.ffs-space-planet-discovery-left { width:240px; height:240px; left:-120px; top:50%; margin-top:-120px; background:radial-gradient(circle at 36% 36%, #ffffff 0%, #f8fafc 20%, #e2e8f0 42%, #cbd5e1 66%, #94a3b8 100%); opacity:0.18; }
.ffs-space-planet-discovery-right { width:190px; height:190px; right:-95px; top:56%; margin-top:-95px; background:radial-gradient(circle at 38% 38%, #f8fbff 0%, #dbeafe 24%, #60a5fa 52%, #1d4ed8 76%, #0f172a 100%); opacity:0.11; }

.ffs-space-nebula-discovery-left { width:280px; height:200px; left:-80px; top:54%; margin-top:-100px; background:radial-gradient(circle, rgba(96,165,250,0.14) 0%, rgba(59,130,246,0.08) 42%, rgba(59,130,246,0) 74%); }
.ffs-space-nebula-discovery-right { width:220px; height:190px; right:-55px; top:58%; margin-top:-95px; background:radial-gradient(circle, rgba(191,219,254,0.14) 0%, rgba(96,165,250,0.06) 38%, rgba(96,165,250,0) 72%); }

.ffs-space-stars-discovery { inset:0; opacity:0.45; }

@media (max-width:1200px) {
  .ffs-space-planet-left,
  .ffs-space-planet-right,
  .ffs-space-planet-discovery-left,
  .ffs-space-planet-discovery-right { opacity:0.1; }
}

@media (max-width:900px) {
  .ffs-space-planet-left,
  .ffs-space-planet-right,
  .ffs-space-nebula-left,
  .ffs-space-nebula-right,
  .ffs-space-planet-discovery-left,
  .ffs-space-planet-discovery-right,
  .ffs-space-nebula-discovery-left,
  .ffs-space-nebula-discovery-right { display:none; }
}
/* === FINAL HERO + PARALLAX OVERRIDE FIX === */
.ffs-hero.ffs-parallax-zone { padding:40px 0 56px !important; min-height:auto !important; }
.ffs-hero .ffs-container { position:relative; z-index:2; }
.ffs-hero .ffs-hero-layout { align-items:start !important; gap:42px !important; }
.ffs-hero .ffs-hero-content { margin-top:0 !important; padding-top:8px !important; }
.ffs-hero .ffs-hero-title { margin-top:0 !important; }
.ffs-hero .ffs-hero-visual { min-height:0 !important; height:auto !important; align-items:flex-start !important; justify-content:center !important; padding-top:0 !important; margin-top:0 !important; }
.ffs-hero .ffs-ui-stack, .ffs-hero .ffs-ui-card-main { margin-top:0 !important; }
.ffs-hero .ffs-parallax-bg { position:absolute; inset:0; overflow:hidden; pointer-events:none; z-index:0; }

.ffs-hero .ffs-space-planet-left,
.ffs-hero .ffs-space-planet-right,
.ffs-hero .ffs-space-nebula-left,
.ffs-hero .ffs-space-nebula-right,
.ffs-section-discovery-parallax .ffs-space-planet-discovery-left,
.ffs-section-discovery-parallax .ffs-space-planet-discovery-right,
.ffs-section-discovery-parallax .ffs-space-nebula-discovery-left,
.ffs-section-discovery-parallax .ffs-space-nebula-discovery-right { transform:translate3d(var(--px, 0px), var(--py, 0px), 0) !important; }

.ffs-hero .ffs-space-planet-left { width:220px !important; height:220px !important; left:-96px !important; top:52% !important; margin-top:-110px !important; opacity:0.24 !important; border-radius:50% !important; background:radial-gradient(circle at 34% 34%, #f8fbff 0%, #cfe3ff 18%, #8ebcff 40%, #3b82f6 62%, #1d4ed8 78%, #0f172a 100%) !important; box-shadow:inset -16px -16px 28px rgba(15,23,42,0.18), inset 8px 8px 14px rgba(255,255,255,0.24), 0 0 26px rgba(59,130,246,0.12) !important; }
.ffs-hero .ffs-space-planet-right { width:180px !important; height:180px !important; right:-78px !important; top:55% !important; margin-top:-90px !important; opacity:0.18 !important; border-radius:50% !important; background:radial-gradient(circle at 36% 36%, #ffffff 0%, #e0ecff 20%, #9bc0ff 42%, #4f8cff 64%, #1e3a8a 82%, #0f172a 100%) !important; box-shadow:inset -12px -12px 24px rgba(15,23,42,0.18), inset 8px 8px 14px rgba(255,255,255,0.2), 0 0 22px rgba(96,165,250,0.1) !important; }

.ffs-hero .ffs-space-nebula-left { width:240px !important; height:180px !important; left:-56px !important; top:54% !important; margin-top:-90px !important; opacity:0.36 !important; border-radius:50% !important; background:radial-gradient(circle, rgba(96,165,250,0.26) 0%, rgba(59,130,246,0.14) 38%, rgba(59,130,246,0) 72%) !important; filter:blur(18px) !important; }
.ffs-hero .ffs-space-nebula-right { width:200px !important; height:160px !important; right:-42px !important; top:57% !important; margin-top:-80px !important; opacity:0.28 !important; border-radius:50% !important; background:radial-gradient(circle, rgba(191,219,254,0.22) 0%, rgba(96,165,250,0.1) 38%, rgba(96,165,250,0) 72%) !important; filter:blur(16px) !important; }

.ffs-section-discovery-parallax .ffs-space-planet-discovery-left { width:220px !important; height:220px !important; left:-100px !important; top:52% !important; margin-top:-110px !important; opacity:0.18 !important; border-radius:50% !important; background:radial-gradient(circle at 36% 36%, #ffffff 0%, #f8fafc 20%, #e2e8f0 42%, #cbd5e1 66%, #94a3b8 100%) !important; box-shadow:inset -14px -14px 24px rgba(15,23,42,0.12), inset 8px 8px 12px rgba(255,255,255,0.22), 0 0 18px rgba(148,163,184,0.08) !important; }
.ffs-section-discovery-parallax .ffs-space-planet-discovery-right { width:170px !important; height:170px !important; right:-82px !important; top:58% !important; margin-top:-85px !important; opacity:0.12 !important; border-radius:50% !important; background:radial-gradient(circle at 38% 38%, #f8fbff 0%, #dbeafe 24%, #60a5fa 52%, #1d4ed8 76%, #0f172a 100%) !important; box-shadow:inset -10px -10px 20px rgba(15,23,42,0.16), inset 6px 6px 10px rgba(255,255,255,0.18), 0 0 16px rgba(96,165,250,0.08) !important; }

.ffs-section-discovery-parallax .ffs-space-nebula-discovery-left { width:220px !important; height:170px !important; left:-50px !important; top:56% !important; margin-top:-85px !important; opacity:0.24 !important; border-radius:50% !important; background:radial-gradient(circle, rgba(96,165,250,0.18) 0%, rgba(59,130,246,0.08) 42%, rgba(59,130,246,0) 72%) !important; filter:blur(16px) !important; }
.ffs-section-discovery-parallax .ffs-space-nebula-discovery-right { width:180px !important; height:150px !important; right:-36px !important; top:60% !important; margin-top:-75px !important; opacity:0.2 !important; border-radius:50% !important; background:radial-gradient(circle, rgba(191,219,254,0.18) 0%, rgba(96,165,250,0.06) 38%, rgba(96,165,250,0) 72%) !important; filter:blur(14px) !important; }

@media (max-width:1100px) {
  .ffs-hero.ffs-parallax-zone { padding:20px 0 48px !important; }
  .ffs-hero .ffs-hero-layout { gap:28px !important; }
}

@media (max-width:900px) {
  .ffs-hero.ffs-parallax-zone { padding:18px 0 42px !important; }
}

/* === CARD HOVER POLISH === */
.ffs-card { position:relative; overflow:hidden; transition:transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease, background 0.22s ease; }

.ffs-card:hover { transform:translateY(-6px); box-shadow:0 18px 38px rgba(15,23,42,0.10); border-color:#bfd4f6; }

.ffs-section-space .ffs-card:hover { transform:translateY(-6px); border-color:rgba(96,165,250,0.32); box-shadow:0 22px 42px rgba(2,6,23,0.28), 0 0 22px rgba(59,130,246,0.10), inset 0 1px 0 rgba(255,255,255,0.08); background:linear-gradient(180deg, rgba(255,255,255,0.11) 0%, rgba(255,255,255,0.06) 100%); }

.ffs-section-brand-band .ffs-check-item { transition:transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease, background 0.22s ease; }
.ffs-section-brand-band .ffs-check-item:hover { transform:translateY(-4px); border-color:rgba(96,165,250,0.28); box-shadow:0 16px 30px rgba(2,6,23,0.22), 0 0 18px rgba(59,130,246,0.10); background:rgba(255,255,255,0.11); }

/* Discovery / model light cards hover */
.ffs-section-alt .ffs-card:hover,
.ffs-section:not(.ffs-section-space):not(.ffs-section-brand-band):not(.ffs-about-hero) .ffs-card:hover { background:#ffffff; }

/* === HERO MINI PILLS COLOR PASS === */
.ffs-hero-mini-points span { transition:transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease, background 0.2s ease, color 0.2s ease; }

.ffs-hero-mini-points span:nth-child(1) { background:rgba(37,99,235,0.08); border-color:rgba(37,99,235,0.18); color:#1d4ed8; }
.ffs-hero-mini-points span:nth-child(2) { background:rgba(14,165,233,0.08); border-color:rgba(14,165,233,0.18); color:#0369a1; }
.ffs-hero-mini-points span:nth-child(3) { background:rgba(99,102,241,0.08); border-color:rgba(99,102,241,0.18); color:#4338ca; }

.ffs-hero-mini-points span:hover { transform:translateY(-2px); box-shadow:0 12px 22px rgba(15,23,42,0.08); }

.ffs-hero-mini-points span:nth-child(1):hover { background:rgba(37,99,235,0.14); border-color:rgba(37,99,235,0.28); }
.ffs-hero-mini-points span:nth-child(2):hover { background:rgba(14,165,233,0.14); border-color:rgba(14,165,233,0.28); }
.ffs-hero-mini-points span:nth-child(3):hover { background:rgba(99,102,241,0.14); border-color:rgba(99,102,241,0.28); }

/* === SUBTLE LIGHT SWEEP ON CARD HOVER === */
.ffs-card::after { content:""; position:absolute; top:-20%; left:-140%; width:55%; height:140%; background:linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.10) 45%, rgba(255,255,255,0.22) 50%, rgba(255,255,255,0.10) 55%, rgba(255,255,255,0) 100%); transform:skewX(-20deg); opacity:0; pointer-events:none; }

.ffs-card:hover::after { opacity:1; animation:ffsCardSweep 0.9s ease; }

.ffs-section-space .ffs-card::after,
.ffs-section-brand-band .ffs-check-item::after { background:linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(191,219,254,0.08) 45%, rgba(255,255,255,0.18) 50%, rgba(191,219,254,0.08) 55%, rgba(255,255,255,0) 100%); }

.ffs-check-item { position:relative; overflow:hidden; }
.ffs-check-item::after { content:""; position:absolute; top:-20%; left:-140%; width:55%; height:140%; background:linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.08) 45%, rgba(255,255,255,0.16) 50%, rgba(255,255,255,0.08) 55%, rgba(255,255,255,0) 100%); transform:skewX(-20deg); opacity:0; pointer-events:none; }
.ffs-check-item:hover::after { opacity:1; animation:ffsCardSweep 0.9s ease; }

@keyframes ffsCardSweep {
  0% { left:-140%; }
  100% { left:160%; }
}
/* === OUR MODEL / STAGES FLOW === */
.ffs-model-section { position:relative; overflow:hidden; background:linear-gradient(180deg, #f8fbff 0%, #eef4fb 100%); }
.ffs-model-section::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 16% 24%, rgba(37,99,235,0.08) 0%, rgba(37,99,235,0) 22%), radial-gradient(circle at 84% 72%, rgba(14,165,233,0.07) 0%, rgba(14,165,233,0) 20%); pointer-events:none; }
.ffs-model-heading { position:relative; z-index:2; max-width:760px; margin-bottom:38px; }
.ffs-model-heading .ffs-lead { max-width:720px; }

.ffs-model-flow { position:relative; z-index:2; display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:24px; align-items:stretch; }
.ffs-model-line { position:absolute; left:12%; right:12%; top:64px; height:4px; border-radius:999px; background:linear-gradient(90deg, rgba(37,99,235,0.18) 0%, rgba(37,99,235,0.42) 50%, rgba(14,165,233,0.18) 100%); z-index:0; box-shadow:0 0 0 10px rgba(255,255,255,0.35); }

.ffs-model-step { position:relative; z-index:1; background:rgba(255,255,255,0.88); border:1px solid #dbe7f5; border-radius:24px; padding:28px 24px 24px; box-shadow:0 16px 34px rgba(15,23,42,0.06); backdrop-filter:blur(10px); overflow:hidden; transition:transform 0.24s ease, box-shadow 0.24s ease, border-color 0.24s ease; }
.ffs-model-step::before { content:""; position:absolute; inset:0 auto auto 0; width:100%; height:5px; background:linear-gradient(90deg, #2563eb 0%, #38bdf8 100%); opacity:0.95; }
.ffs-model-step::after { content:""; position:absolute; top:-20%; left:-140%; width:55%; height:140%; background:linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.12) 45%, rgba(255,255,255,0.32) 50%, rgba(255,255,255,0.12) 55%, rgba(255,255,255,0) 100%); transform:skewX(-20deg); opacity:0; pointer-events:none; }

.ffs-model-step:hover { transform:translateY(-8px); box-shadow:0 24px 46px rgba(15,23,42,0.10); border-color:#bfd4f6; }
.ffs-model-step:hover::after { opacity:1; animation:ffsCardSweep 0.9s ease; }

.ffs-model-step-top { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:18px; }
.ffs-model-step-left { display:flex; align-items:center; gap:14px; min-width:0; transform:translateY(-1px); }
.ffs-model-badge { width:68px; height:68px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg, #2563eb 0%, #38bdf8 100%); color:#ffffff; font-size:1.15rem; font-weight:800; letter-spacing:0.04em; box-shadow:0 14px 28px rgba(37,99,235,0.22); }
.ffs-model-icon { width:48px; height:48px; border-radius:14px; display:flex; align-items:center; justify-content:center; background:rgba(37,99,235,0.08); border:1px solid rgba(37,99,235,0.10); font-size:1.4rem; line-height:1; }

.ffs-model-pill { display:inline-flex; align-items:center; justify-content:center; min-height:32px; padding:0 12px; border-radius:999px; margin-bottom:0; white-space:nowrap; background:rgba(37,99,235,0.08); border:1px solid rgba(37,99,235,0.12); font-size:0.78rem; font-weight:800; text-transform:uppercase; letter-spacing:0.12em; color:#1d4ed8; }
.ffs-model-step h3 { font-size:1.35rem; line-height:1.2; color:#0f172a; margin-bottom:12px; }
.ffs-model-step p { color:#475569; margin-bottom:0; }

.ffs-model-step:nth-child(2) .ffs-model-badge { background:linear-gradient(135deg, #2563eb 0%, #0ea5e9 100%); }
.ffs-model-step:nth-child(3) .ffs-model-badge { background:linear-gradient(135deg, #1d4ed8 0%, #06b6d4 100%); }

.ffs-model-step:nth-child(2) .ffs-model-pill { background:rgba(14,165,233,0.09); border-color:rgba(14,165,233,0.14); color:#0369a1; }
.ffs-model-step:nth-child(3) .ffs-model-pill { background:rgba(6,182,212,0.09); border-color:rgba(6,182,212,0.14); color:#0f766e; }

@media (max-width:980px) {
  .ffs-model-flow { grid-template-columns:1fr; gap:18px; }
  .ffs-model-line { left:32px; top:0; bottom:0; right:auto; width:4px; height:auto; }
  .ffs-model-step { padding:24px 20px 22px 24px; }
}

@media (max-width:640px) {
  .ffs-model-heading { margin-bottom:26px; }
  .ffs-model-badge { width:60px; height:60px; font-size:1rem; }
  .ffs-model-icon { width:42px; height:42px; font-size:1.2rem; }
  .ffs-model-step h3 { font-size:1.2rem; }
}
/* === DISCOVERY ORBIT SECTION === */
.ffs-discovery-heading { max-width:760px; }
.ffs-discovery-orbit { display:grid; grid-template-columns:minmax(380px, 540px) minmax(320px, 1fr); gap:42px; align-items:center; position:relative; z-index:2; }

.ffs-discovery-stage { position:relative; min-height:520px; display:flex; align-items:center; justify-content:center; }
.ffs-discovery-ring { position:absolute; border-radius:50%; border:1px dashed rgba(59,130,246,0.20); pointer-events:none; }
.ffs-discovery-ring-outer { width:420px; height:420px; box-shadow:0 0 0 24px rgba(255,255,255,0.10), 0 0 60px rgba(96,165,250,0.10); animation:ffsDiscoverySpin 28s linear infinite; }
.ffs-discovery-ring-inner { width:300px; height:300px; border-style:solid; border-color:rgba(147,197,253,0.16); animation:ffsDiscoverySpinReverse 20s linear infinite; }

.ffs-discovery-hub { position:relative; z-index:2; width:188px; height:188px; border-radius:50%; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:18px; color:#0f172a; background:radial-gradient(circle at 35% 35%, #ffffff 0%, #f8fbff 58%, #dbeafe 100%); border:1px solid rgba(148,163,184,0.24); box-shadow:0 24px 60px rgba(15,23,42,0.12), inset 0 2px 12px rgba(255,255,255,0.9); }
.ffs-discovery-hub::before { content:""; position:absolute; inset:-18px; border-radius:50%; background:radial-gradient(circle, rgba(96,165,250,0.20) 0%, rgba(96,165,250,0.06) 48%, rgba(96,165,250,0) 74%); z-index:-1; animation:ffsDiscoveryPulse 4.8s ease-in-out infinite; }
.ffs-discovery-hub-kicker { font-size:0.78rem; text-transform:uppercase; letter-spacing:0.16em; font-weight:800; color:#2563eb; margin-bottom:8px; }
.ffs-discovery-hub strong { font-size:1.45rem; line-height:1.05; max-width:110px; }

.ffs-discovery-node { position:absolute; left:var(--node-x); top:var(--node-y); transform:translate(-50%, -50%); width:154px; min-height:110px; padding:14px 14px 12px; border-radius:22px; border:1px solid rgba(148,163,184,0.20); background:rgba(255,255,255,0.82); backdrop-filter:blur(14px); box-shadow:0 18px 38px rgba(15,23,42,0.08); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; text-align:center; cursor:pointer; transition:transform 0.24s ease, box-shadow 0.24s ease, border-color 0.24s ease, background 0.24s ease, color 0.24s ease; z-index:3; }
.ffs-discovery-node:hover,
.ffs-discovery-node.is-active { transform:translate(-50%, -50%) scale(1.06); border-color:#60a5fa; box-shadow:0 24px 46px rgba(15,23,42,0.12), 0 0 0 6px rgba(96,165,250,0.14); background:linear-gradient(180deg, #eff6ff 0%, #dbeafe 100%); }
.ffs-discovery-node.is-active .ffs-discovery-node-label,
.ffs-discovery-node:hover .ffs-discovery-node-label { color:#1d4ed8; }
.ffs-discovery-node-icon { font-size:1.35rem; line-height:1; }
.ffs-discovery-node-label { font-size:0.85rem; line-height:1.25; font-weight:800; color:#0f172a; transition:color 0.24s ease; }

.ffs-discovery-panel { position:relative; min-height:320px; background:linear-gradient(180deg, rgba(255,255,255,0.92) 0%, rgba(248,251,255,0.90) 100%); border:1px solid #dbe7f5; border-radius:28px; padding:30px 28px; box-shadow:0 22px 44px rgba(15,23,42,0.08); backdrop-filter:blur(12px); overflow:hidden; isolation:isolate; }
.ffs-discovery-panel::before { content:""; position:absolute; inset:0 auto auto 0; width:100%; height:5px; background:linear-gradient(90deg, #2563eb 0%, #38bdf8 100%); z-index:3; }
.ffs-discovery-panel::after { content:""; position:absolute; top:-20%; left:-140%; width:55%; height:140%; background:linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.12) 45%, rgba(255,255,255,0.28) 50%, rgba(255,255,255,0.12) 55%, rgba(255,255,255,0) 100%); transform:skewX(-20deg); pointer-events:none; opacity:0; z-index:4; }

.ffs-discovery-panel .ffs-discovery-panel-art { position:absolute; inset:0; pointer-events:none; z-index:1; }
.ffs-discovery-panel .ffs-discovery-panel-art::before { content:""; position:absolute; width:260px; height:260px; right:-70px; top:-50px; border-radius:50%; background:radial-gradient(circle, rgba(56,189,248,0.14) 0%, rgba(56,189,248,0.07) 38%, rgba(56,189,248,0.00) 72%); }
.ffs-discovery-panel .ffs-discovery-panel-art::after { content:""; position:absolute; width:190px; height:190px; left:-40px; bottom:-50px; border-radius:50%; background:radial-gradient(circle, rgba(37,99,235,0.10) 0%, rgba(37,99,235,0.04) 42%, rgba(37,99,235,0.00) 74%); }

.ffs-discovery-detail { position:relative; z-index:2; display:none; animation:ffsFadeSlide 0.28s ease; }
.ffs-discovery-detail.is-active { display:block; }

.ffs-discovery-detail h3 { position:relative; }
.ffs-discovery-detail h3::after { content:""; display:block; width:72px; height:3px; margin-top:14px; border-radius:999px; background:linear-gradient(90deg, rgba(37,99,235,0.95) 0%, rgba(56,189,248,0.65) 100%); }

.ffs-discovery-detail p { max-width:92%; }

.ffs-discovery-panel.is-changing::after { opacity:1; animation:ffsCardSweep 0.9s ease; }

.ffs-discovery-detail { display:none; animation:ffsFadeSlide 0.28s ease; }
.ffs-discovery-detail.is-active { display:block; }
.ffs-discovery-detail-kicker { font-size:0.78rem; text-transform:uppercase; letter-spacing:0.14em; font-weight:800; color:#2563eb; margin-bottom:10px; }
.ffs-discovery-detail h3 { font-size:1.85rem; line-height:1.08; color:#0f172a; margin-bottom:14px; }
.ffs-discovery-detail p { color:#475569; margin-bottom:0; font-size:1.02rem; }

@keyframes ffsDiscoverySpin {
  0% { transform:rotate(0deg); }
  100% { transform:rotate(360deg); }
}

@keyframes ffsDiscoverySpinReverse {
  0% { transform:rotate(360deg); }
  100% { transform:rotate(0deg); }
}

@keyframes ffsDiscoveryPulse {
  0% { transform:scale(0.96); opacity:0.55; }
  50% { transform:scale(1.04); opacity:0.9; }
  100% { transform:scale(0.96); opacity:0.55; }
}

@media (max-width:1100px) {
  .ffs-discovery-orbit { grid-template-columns:1fr; gap:28px; }
  .ffs-discovery-stage { min-height:480px; }
  .ffs-discovery-panel { min-height:260px; }
}

@media (max-width:700px) {
  .ffs-discovery-stage { min-height:420px; }
  .ffs-discovery-ring-outer { width:320px; height:320px; box-shadow:none; }
  .ffs-discovery-ring-inner { width:230px; height:230px; }
  .ffs-discovery-hub { width:150px; height:150px; }
  .ffs-discovery-hub strong { font-size:1.15rem; }
  .ffs-discovery-node { width:118px; min-height:88px; padding:10px 10px 9px; border-radius:18px; }
  .ffs-discovery-node-label { font-size:0.72rem; }
  .ffs-discovery-detail h3 { font-size:1.45rem; }
}

@media (max-width:520px) {
  .ffs-discovery-stage { min-height:390px; }
  .ffs-discovery-ring-outer { width:280px; height:280px; }
  .ffs-discovery-ring-inner { width:196px; height:196px; }
  .ffs-discovery-hub { width:132px; height:132px; }
  .ffs-discovery-node { width:108px; min-height:82px; }
}

/* === DISCOVERY PANEL ACTIVE ACCENT STATES === */
.ffs-discovery-panel { transition:background 0.28s ease, border-color 0.28s ease, box-shadow 0.28s ease; }

.ffs-discovery-panel[data-active="workflow"] { background:linear-gradient(180deg, rgba(255,255,255,0.94) 0%, rgba(239,246,255,0.96) 100%); border-color:#cfe0fb; }
.ffs-discovery-panel[data-active="workflow"]::before { background:linear-gradient(90deg, #2563eb 0%, #38bdf8 100%); }
.ffs-discovery-panel[data-active="workflow"] .ffs-discovery-panel-art::before { background:radial-gradient(circle, rgba(56,189,248,0.16) 0%, rgba(56,189,248,0.08) 38%, rgba(56,189,248,0.00) 72%); }
.ffs-discovery-panel[data-active="workflow"] .ffs-discovery-panel-art::after { background:radial-gradient(circle, rgba(37,99,235,0.12) 0%, rgba(37,99,235,0.05) 42%, rgba(37,99,235,0.00) 74%); }
.ffs-discovery-panel[data-active="workflow"] .ffs-discovery-detail-kicker { color:#2563eb; }
.ffs-discovery-panel[data-active="workflow"] .ffs-discovery-detail h3::after { background:linear-gradient(90deg, rgba(37,99,235,0.95) 0%, rgba(56,189,248,0.65) 100%); }

.ffs-discovery-panel[data-active="improvement"] { background:linear-gradient(180deg, rgba(255,255,255,0.94) 0%, rgba(245,243,255,0.96) 100%); border-color:#ddd6fe; }
.ffs-discovery-panel[data-active="improvement"]::before { background:linear-gradient(90deg, #7c3aed 0%, #a78bfa 100%); }
.ffs-discovery-panel[data-active="improvement"] .ffs-discovery-panel-art::before { background:radial-gradient(circle, rgba(167,139,250,0.16) 0%, rgba(167,139,250,0.08) 38%, rgba(167,139,250,0.00) 72%); }
.ffs-discovery-panel[data-active="improvement"] .ffs-discovery-panel-art::after { background:radial-gradient(circle, rgba(124,58,237,0.12) 0%, rgba(124,58,237,0.05) 42%, rgba(124,58,237,0.00) 74%); }
.ffs-discovery-panel[data-active="improvement"] .ffs-discovery-detail-kicker { color:#7c3aed; }
.ffs-discovery-panel[data-active="improvement"] .ffs-discovery-detail h3::after { background:linear-gradient(90deg, rgba(124,58,237,0.95) 0%, rgba(167,139,250,0.65) 100%); }

.ffs-discovery-panel[data-active="document"] { background:linear-gradient(180deg, rgba(255,255,255,0.94) 0%, rgba(240,249,255,0.96) 100%); border-color:#bae6fd; }
.ffs-discovery-panel[data-active="document"]::before { background:linear-gradient(90deg, #0f766e 0%, #38bdf8 100%); }
.ffs-discovery-panel[data-active="document"] .ffs-discovery-panel-art::before { background:radial-gradient(circle, rgba(56,189,248,0.14) 0%, rgba(56,189,248,0.07) 38%, rgba(56,189,248,0.00) 72%); }
.ffs-discovery-panel[data-active="document"] .ffs-discovery-panel-art::after { background:radial-gradient(circle, rgba(15,118,110,0.11) 0%, rgba(15,118,110,0.05) 42%, rgba(15,118,110,0.00) 74%); }
.ffs-discovery-panel[data-active="document"] .ffs-discovery-detail-kicker { color:#0f766e; }
.ffs-discovery-panel[data-active="document"] .ffs-discovery-detail h3::after { background:linear-gradient(90deg, rgba(15,118,110,0.95) 0%, rgba(56,189,248,0.65) 100%); }

.ffs-discovery-panel[data-active="business"] { background:linear-gradient(180deg, rgba(255,255,255,0.94) 0%, rgba(236,253,245,0.96) 100%); border-color:#a7f3d0; }
.ffs-discovery-panel[data-active="business"]::before { background:linear-gradient(90deg, #059669 0%, #2dd4bf 100%); }
.ffs-discovery-panel[data-active="business"] .ffs-discovery-panel-art::before { background:radial-gradient(circle, rgba(45,212,191,0.15) 0%, rgba(45,212,191,0.08) 38%, rgba(45,212,191,0.00) 72%); }
.ffs-discovery-panel[data-active="business"] .ffs-discovery-panel-art::after { background:radial-gradient(circle, rgba(5,150,105,0.12) 0%, rgba(5,150,105,0.05) 42%, rgba(5,150,105,0.00) 74%); }
.ffs-discovery-panel[data-active="business"] .ffs-discovery-detail-kicker { color:#059669; }
.ffs-discovery-panel[data-active="business"] .ffs-discovery-detail h3::after { background:linear-gradient(90deg, rgba(5,150,105,0.95) 0%, rgba(45,212,191,0.65) 100%); }

.ffs-contact-hero { position:relative; overflow:hidden; background:radial-gradient(circle at 12% 18%, rgba(37,99,235,0.12) 0%, rgba(37,99,235,0) 26%), radial-gradient(circle at 88% 26%, rgba(14,165,233,0.10) 0%, rgba(14,165,233,0) 24%), linear-gradient(180deg, #f8fbff 0%, #eef3f8 52%, #f8fafc 100%); }
.ffs-contact-bg-orb { position:absolute; border-radius:50%; filter:blur(50px); opacity:0.45; pointer-events:none; }
.ffs-contact-bg-orb-1 { width:240px; height:240px; left:-60px; top:80px; background:rgba(37,99,235,0.18); }
.ffs-contact-bg-orb-2 { width:280px; height:280px; right:-80px; bottom:40px; background:rgba(14,165,233,0.14); }

.ffs-contact-shell { display:grid; grid-template-columns:minmax(0, 0.95fr) minmax(420px, 0.9fr); gap:34px; align-items:start; }
.ffs-contact-copy { position:relative; z-index:2; }
.ffs-contact-form-wrap { position:relative; z-index:2; }

.ffs-contact-info-card { margin-top:28px; background:rgba(255,255,255,0.78); border:1px solid rgba(203,213,225,0.9); border-radius:22px; padding:24px; box-shadow:0 18px 40px rgba(15,23,42,0.06); backdrop-filter:blur(14px); }
.ffs-contact-info-row + .ffs-contact-info-row { margin-top:14px; }
.ffs-contact-label { display:block; font-size:0.78rem; text-transform:uppercase; letter-spacing:0.12em; font-weight:800; color:#2563eb; margin-bottom:4px; }

.ffs-contact-side-notes { display:grid; gap:14px; margin-top:18px; }
.ffs-contact-mini-card { background:#ffffff; border:1px solid #e2e8f0; border-radius:18px; padding:18px 20px; box-shadow:0 10px 30px rgba(15,23,42,0.04); }
.ffs-contact-mini-card h3 { margin-bottom:8px; color:#0f172a; font-size:1.05rem; }
.ffs-contact-mini-card p { color:#475569; }

.ffs-contact-form-card { background:rgba(255,255,255,0.88); border:1px solid rgba(203,213,225,0.95); border-radius:26px; padding:30px; box-shadow:0 26px 60px rgba(15,23,42,0.10); backdrop-filter:blur(16px); position:relative; overflow:hidden; }
.ffs-contact-form-card::before { content:""; position:absolute; inset:0 auto auto 0; width:100%; height:5px; background:linear-gradient(90deg, #2563eb 0%, #38bdf8 100%); }
.ffs-contact-form-head { margin-bottom:22px; }
.ffs-contact-form-head h2 { margin-bottom:8px; color:#0f172a; font-size:2rem; line-height:1.05; }
.ffs-contact-form-head p { color:#475569; }

.ffs-contact-issue-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:12px; }
.ffs-contact-radio-card { display:flex; align-items:center; gap:10px; border:1px solid #d7e0ea; border-radius:14px; padding:14px 16px; background:#ffffff; cursor:pointer; transition:border-color 0.22s ease, box-shadow 0.22s ease, transform 0.22s ease, background 0.22s ease; }
.ffs-contact-radio-card:hover { border-color:#93c5fd; box-shadow:0 10px 24px rgba(15,23,42,0.06); transform:translateY(-2px); }
.ffs-contact-radio-card input { width:auto; margin:0; }
.ffs-contact-radio-card span { font-weight:600; color:#334155; }

.ffs-contact-submit-row { display:flex; justify-content:flex-start; align-items:center; padding-top:4px; }

.ffs-form-alert { margin-bottom:18px; border-radius:14px; padding:14px 16px; font-weight:700; }
.ffs-form-alert-success { background:#ecfdf5; border:1px solid #a7f3d0; color:#065f46; }
.ffs-form-alert-error { background:#fef2f2; border:1px solid #fecaca; color:#991b1b; }

.ffs-contact-form-card .ffs-form input,
.ffs-contact-form-card .ffs-form textarea { transition:border-color 0.22s ease, box-shadow 0.22s ease, background 0.22s ease; }
.ffs-contact-form-card .ffs-form input:focus,
.ffs-contact-form-card .ffs-form textarea:focus { outline:none; border-color:#60a5fa; box-shadow:0 0 0 4px rgba(96,165,250,0.16); background:#ffffff; }

@media (max-width:980px) { .ffs-contact-shell { grid-template-columns:1fr; } }
@media (max-width:640px) { .ffs-contact-form-card { padding:22px 18px; } .ffs-contact-issue-grid { grid-template-columns:1fr; } }
.ffs-about-hero { position:relative; overflow:hidden; background:radial-gradient(circle at 20% 18%, rgba(37,99,235,0.20) 0%, rgba(37,99,235,0) 22%), radial-gradient(circle at 82% 20%, rgba(14,165,233,0.16) 0%, rgba(14,165,233,0) 22%), linear-gradient(180deg, #030712 0%, #081225 38%, #0b1730 70%, #07111f 100%); }
.ffs-about-hero::before { content:""; position:absolute; inset:0; background:
radial-gradient(2px 2px at 8% 14%, rgba(255,255,255,0.85) 0%, transparent 100%),
radial-gradient(2px 2px at 16% 28%, rgba(255,255,255,0.65) 0%, transparent 100%),
radial-gradient(1.5px 1.5px at 24% 10%, rgba(255,255,255,0.75) 0%, transparent 100%),
radial-gradient(2px 2px at 33% 22%, rgba(255,255,255,0.70) 0%, transparent 100%),
radial-gradient(1.5px 1.5px at 41% 12%, rgba(255,255,255,0.60) 0%, transparent 100%),
radial-gradient(2px 2px at 52% 18%, rgba(255,255,255,0.80) 0%, transparent 100%),
radial-gradient(1.5px 1.5px at 61% 30%, rgba(255,255,255,0.65) 0%, transparent 100%),
radial-gradient(2px 2px at 73% 14%, rgba(255,255,255,0.78) 0%, transparent 100%),
radial-gradient(1.5px 1.5px at 84% 24%, rgba(255,255,255,0.60) 0%, transparent 100%),
radial-gradient(2px 2px at 92% 12%, rgba(255,255,255,0.82) 0%, transparent 100%),
linear-gradient(180deg, rgba(255,255,255,0.04) 0%, rgba(255,255,255,0) 100%);
pointer-events:none; opacity:0.95; }
.ffs-about-orb { position:absolute; border-radius:50%; filter:blur(60px); opacity:0.42; pointer-events:none; z-index:1; }
.ffs-about-orb-1 { width:260px; height:260px; left:-70px; top:80px; background:rgba(37,99,235,0.18); }
.ffs-about-orb-2 { width:320px; height:320px; right:-90px; bottom:40px; background:rgba(14,165,233,0.14); }

.ffs-about-hero .ffs-container { position:relative; z-index:2; }
.ffs-about-shell { display:grid; grid-template-columns:minmax(0, 1.1fr) minmax(320px, 0.72fr); gap:28px; align-items:start; margin-bottom:32px; }
.ffs-about-intro { max-width:860px; color:#e2e8f0; }
.ffs-about-top-card { background:rgba(15,23,42,0.52); border:1px solid rgba(148,163,184,0.20); border-radius:24px; padding:26px; box-shadow:0 18px 48px rgba(2,6,23,0.30); backdrop-filter:blur(14px); }
.ffs-about-top-kicker { display:inline-block; margin-bottom:10px; font-size:0.78rem; text-transform:uppercase; letter-spacing:0.13em; font-weight:800; color:#7dd3fc; }
.ffs-about-top-card h2 { font-size:1.65rem; line-height:1.15; margin-bottom:12px; color:#f8fafc; }
.ffs-about-top-card p { color:#cbd5e1; }

.ffs-about-highlight-row { display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
.ffs-about-pill { display:inline-flex; align-items:center; justify-content:center; padding:10px 16px; border-radius:999px; border:1px solid rgba(148,163,184,0.18); background:rgba(15,23,42,0.46); box-shadow:0 10px 24px rgba(2,6,23,0.24); font-size:0.92rem; font-weight:700; color:#e2e8f0; backdrop-filter:blur(10px); transition:transform 0.22s ease, box-shadow 0.22s ease, background 0.22s ease, border-color 0.22s ease; }
.ffs-about-pill:hover { transform:translateY(-2px); box-shadow:0 14px 24px rgba(15,23,42,0.08); }
.ffs-about-pill:nth-child(1) { background:rgba(37,99,235,0.08); border-color:rgba(37,99,235,0.18); color:#1d4ed8; }
.ffs-about-pill:nth-child(2) { background:rgba(99,102,241,0.08); border-color:rgba(99,102,241,0.18); color:#4338ca; }
.ffs-about-pill:nth-child(3) { background:rgba(14,165,233,0.08); border-color:rgba(14,165,233,0.18); color:#0369a1; }

.ffs-about-grid { position:relative; z-index:2; }
.ffs-about-card { position:relative; overflow:hidden; min-height:100%; padding-top:28px; border-radius:22px; border:1px solid rgba(148,163,184,0.18); box-shadow:0 18px 40px rgba(2,6,23,0.24); background:linear-gradient(180deg, rgba(15,23,42,0.62) 0%, rgba(15,23,42,0.50) 100%); backdrop-filter:blur(12px); }
.ffs-about-card::before { content:""; position:absolute; inset:0 0 auto 0; height:5px; border-radius:22px 22px 0 0; }
.ffs-about-card-icon { width:44px; height:44px; border-radius:14px; display:inline-flex; align-items:center; justify-content:center; font-size:0.9rem; font-weight:800; margin-bottom:14px; border:1px solid rgba(255,255,255,0.7); box-shadow:inset 0 1px 0 rgba(255,255,255,0.55), 0 10px 22px rgba(15,23,42,0.06); }
.ffs-about-card h3 { margin-bottom:12px; color:#f8fafc; }
.ffs-about-card p { line-height:1.7; color:#cbd5e1; }

.ffs-about-card-believe::before { background:linear-gradient(90deg, #2563eb 0%, #60a5fa 100%); }
.ffs-about-card-respect::before { background:linear-gradient(90deg, #6366f1 0%, #818cf8 100%); }
.ffs-about-card-do::before { background:linear-gradient(90deg, #0ea5e9 0%, #38bdf8 100%); }
.ffs-about-card-avoid::before { background:linear-gradient(90deg, #0f766e 0%, #14b8a6 100%); }

.ffs-about-card-believe .ffs-about-card-icon { background:rgba(37,99,235,0.10); color:#1d4ed8; }
.ffs-about-card-respect .ffs-about-card-icon { background:rgba(99,102,241,0.10); color:#4338ca; }
.ffs-about-card-do .ffs-about-card-icon { background:rgba(14,165,233,0.10); color:#0369a1; }
.ffs-about-card-avoid .ffs-about-card-icon { background:rgba(20,184,166,0.10); color:#0f766e; }

.ffs-about-philosophy-box { position:relative; overflow:hidden; margin-top:28px; border:1px solid rgba(125,211,252,0.22); border-radius:26px; background:linear-gradient(135deg, rgba(8,15,31,0.78) 0%, rgba(12,22,43,0.88) 55%, rgba(9,18,35,0.80) 100%); box-shadow:0 24px 60px rgba(2,6,23,0.34); backdrop-filter:blur(14px); }
.ffs-about-philosophy-box::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 18% 22%, rgba(37,99,235,0.16) 0%, rgba(37,99,235,0) 28%), radial-gradient(circle at 84% 70%, rgba(14,165,233,0.14) 0%, rgba(14,165,233,0) 22%); pointer-events:none; }
.ffs-about-philosophy-box > * { position:relative; z-index:2; }
.ffs-about-philosophy-box h2 { font-size:clamp(1.9rem, 3vw, 2.7rem); line-height:1.1; margin-bottom:12px; color:#f8fafc; }
.ffs-about-philosophy-box p:last-child { max-width:880px; color:#cbd5e1; }

@media (max-width:980px) { .ffs-about-shell { grid-template-columns:1fr; } }
@media (max-width:640px) { .ffs-about-pill { width:100%; justify-content:flex-start; } }

.ffs-services-section { position:relative; overflow:hidden; background:linear-gradient(180deg, #ffffff 0%, #f8fafc 42%, #eef2f7 100%); }
.ffs-services-shape { position:absolute; pointer-events:none; z-index:1; }
.ffs-services-shape-1 { width:420px; height:420px; top:-120px; right:-140px; border-radius:50%; background:radial-gradient(circle, rgba(15,23,42,0.08) 0%, rgba(15,23,42,0) 68%); }
.ffs-services-shape-2 { width:340px; height:340px; left:-120px; bottom:80px; border-radius:50%; background:radial-gradient(circle, rgba(14,165,233,0.12) 0%, rgba(14,165,233,0) 70%); }

.ffs-services-section .ffs-container { position:relative; z-index:2; }
.ffs-services-hero { display:grid; grid-template-columns:minmax(0, 1.05fr) minmax(320px, 0.72fr); gap:30px; align-items:start; margin-bottom:42px; }
.ffs-services-intro { max-width:820px; }

.ffs-services-tags { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.ffs-services-tag { display:inline-flex; align-items:center; padding:10px 14px; border-radius:999px; background:#0f172a; color:#ffffff; font-size:0.88rem; font-weight:700; letter-spacing:0.01em; box-shadow:0 12px 24px rgba(15,23,42,0.12); }

.ffs-services-summary-card { position:relative; border-radius:26px; padding:28px; background:linear-gradient(180deg, #0f172a 0%, #111827 100%); color:#e2e8f0; box-shadow:0 24px 60px rgba(15,23,42,0.18); overflow:hidden; }
.ffs-services-summary-card::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at top right, rgba(56,189,248,0.22) 0%, rgba(56,189,248,0) 34%); pointer-events:none; }
.ffs-services-summary-card > * { position:relative; z-index:2; }
.ffs-services-summary-kicker { display:inline-block; margin-bottom:10px; font-size:0.78rem; text-transform:uppercase; letter-spacing:0.13em; font-weight:800; color:#7dd3fc; }
.ffs-services-summary-card h2 { color:#ffffff; font-size:1.65rem; line-height:1.15; margin-bottom:12px; }
.ffs-services-summary-card p { color:#cbd5e1; }
.ffs-services-summary-list { display:grid; gap:12px; margin-top:20px; }
.ffs-services-summary-item { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 14px; border:1px solid rgba(148,163,184,0.18); border-radius:16px; background:rgba(255,255,255,0.04); }
.ffs-services-summary-item strong { color:#7dd3fc; font-size:0.85rem; text-transform:uppercase; letter-spacing:0.08em; }
.ffs-services-summary-item span { color:#f8fafc; font-weight:700; text-align:right; }

.ffs-services-process { position:relative; display:grid; gap:18px; margin-bottom:38px; }
.ffs-services-process::before { content:""; position:absolute; left:28px; top:20px; bottom:20px; width:2px; background:linear-gradient(180deg, #0ea5e9 0%, #cbd5e1 100%); opacity:0.65; }
.ffs-services-step { position:relative; display:grid; grid-template-columns:74px minmax(0, 1fr); gap:18px; align-items:start; }
.ffs-services-step-number { position:relative; z-index:2; width:56px; height:56px; display:flex; align-items:center; justify-content:center; border-radius:18px; background:linear-gradient(135deg, #0f172a 0%, #1e293b 100%); color:#ffffff; font-size:1rem; font-weight:800; box-shadow:0 16px 34px rgba(15,23,42,0.18); }
.ffs-services-step-body { background:rgba(255,255,255,0.86); border:1px solid rgba(203,213,225,0.95); border-radius:22px; padding:24px 24px 22px; box-shadow:0 16px 40px rgba(15,23,42,0.06); backdrop-filter:blur(10px); }
.ffs-services-step-kicker { margin-bottom:8px; font-size:0.8rem; text-transform:uppercase; letter-spacing:0.14em; font-weight:800; color:#0ea5e9; }
.ffs-services-step-body h3 { margin-bottom:10px; color:#0f172a; font-size:1.35rem; }
.ffs-services-step-body p:last-child { margin-bottom:0; color:#475569; line-height:1.72; }

.ffs-services-detail-band { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:18px; margin-top:8px; padding:22px; border-radius:28px; background:linear-gradient(135deg, #0b1328 0%, #0f172a 55%, #111827 100%); box-shadow:0 24px 60px rgba(15,23,42,0.18); }
.ffs-services-detail-card { border-radius:22px; padding:24px; background:rgba(255,255,255,0.06); border:1px solid rgba(148,163,184,0.16); }
.ffs-services-detail-card .ffs-eyebrow { color:#7dd3fc; }
.ffs-services-detail-card h3 { color:#ffffff; margin-bottom:12px; font-size:1.35rem; }
.ffs-services-detail-card p:last-child { color:#cbd5e1; line-height:1.72; }

@media (max-width:980px) { .ffs-services-hero { grid-template-columns:1fr; } .ffs-services-detail-band { grid-template-columns:1fr; } }
@media (max-width:640px) { .ffs-services-process::before { left:24px; } .ffs-services-step { grid-template-columns:60px minmax(0, 1fr); gap:14px; } .ffs-services-step-number { width:48px; height:48px; border-radius:15px; font-size:0.92rem; } .ffs-services-step-body { padding:20px 18px; } .ffs-services-detail-band { padding:16px; } }

.ffs-about-hero h1 { color:#f8fafc; }
.ffs-about-hero .ffs-lead { color:#cbd5e1; }

.ffs-about-hero { isolation:isolate; }

.ffs-about-hero::after { content:""; position:absolute; inset:0; pointer-events:none; opacity:0.9; background:
radial-gradient(1.5px 1.5px at 6% 18%, rgba(255,255,255,0.95) 0%, transparent 100%),
radial-gradient(2px 2px at 12% 34%, rgba(255,255,255,0.80) 0%, transparent 100%),
radial-gradient(1.5px 1.5px at 18% 12%, rgba(255,255,255,0.75) 0%, transparent 100%),
radial-gradient(2px 2px at 24% 26%, rgba(255,255,255,0.90) 0%, transparent 100%),
radial-gradient(1.5px 1.5px at 31% 16%, rgba(255,255,255,0.65) 0%, transparent 100%),
radial-gradient(2px 2px at 39% 30%, rgba(255,255,255,0.80) 0%, transparent 100%),
radial-gradient(1.5px 1.5px at 46% 14%, rgba(255,255,255,0.70) 0%, transparent 100%),
radial-gradient(2px 2px at 54% 22%, rgba(255,255,255,0.88) 0%, transparent 100%),
radial-gradient(1.5px 1.5px at 62% 10%, rgba(255,255,255,0.70) 0%, transparent 100%),
radial-gradient(2px 2px at 70% 28%, rgba(255,255,255,0.90) 0%, transparent 100%),
radial-gradient(1.5px 1.5px at 78% 16%, rgba(255,255,255,0.78) 0%, transparent 100%),
radial-gradient(2px 2px at 86% 24%, rgba(255,255,255,0.84) 0%, transparent 100%),
radial-gradient(1.5px 1.5px at 94% 14%, rgba(255,255,255,0.72) 0%, transparent 100%);
animation:ffsAboutTwinkle 6s ease-in-out infinite alternate; z-index:0; }

.ffs-about-hero::before { animation:ffsAboutStarShift 12s ease-in-out infinite alternate; }

.ffs-about-orb { transition:transform 0.35s ease; animation:ffsAboutOrbFloat 9s ease-in-out infinite; will-change:transform; }
.ffs-about-orb-2 { animation-duration:12s; animation-delay:-2s; }

.ffs-about-top-card,
.ffs-about-philosophy-box { transition:transform 0.35s ease, box-shadow 0.35s ease; will-change:transform; }

.ffs-about-card { animation:ffsAboutCardFloat 7s ease-in-out infinite; }
.ffs-about-card:nth-child(2) { animation-delay:-1.4s; }
.ffs-about-card:nth-child(3) { animation-delay:-2.8s; }
.ffs-about-card:nth-child(4) { animation-delay:-4.2s; }

@keyframes ffsAboutTwinkle {
  0% { opacity:0.45; filter:brightness(0.95); }
  50% { opacity:0.92; filter:brightness(1.15); }
  100% { opacity:0.60; filter:brightness(1.02); }
}

@keyframes ffsAboutStarShift {
  0% { transform:translateY(0px); }
  100% { transform:translateY(-8px); }
}

@keyframes ffsAboutOrbFloat {
  0% { transform:translate3d(0, 0, 0) scale(1); }
  50% { transform:translate3d(0, -10px, 0) scale(1.02); }
  100% { transform:translate3d(0, 0, 0) scale(1); }
}

@keyframes ffsAboutCardFloat {
  0% { transform:translateY(0px); }
  50% { transform:translateY(-4px); }
  100% { transform:translateY(0px); }
}

@media (prefers-reduced-motion: reduce) {
  .ffs-about-hero::after,
  .ffs-about-hero::before,
  .ffs-about-orb,
  .ffs-about-card { animation:none !important; }
  .ffs-about-top-card,
  .ffs-about-philosophy-box,
  .ffs-about-orb { transition:none !important; }
}
.ffs-about-hero .ffs-card:hover,
.ffs-about-hero .ffs-about-card:hover { background:linear-gradient(180deg, rgba(15,23,42,0.72) 0%, rgba(15,23,42,0.58) 100%) !important; border-color:rgba(125,211,252,0.26) !important; box-shadow:0 22px 48px rgba(2,6,23,0.34), 0 0 24px rgba(56,189,248,0.08) !important; }
.ffs-about-hero .ffs-about-card:hover h3 { color:#f8fafc !important; }
.ffs-about-hero .ffs-about-card:hover p { color:#cbd5e1 !important; }

.ffs-about-hero::after { animation:ffsAboutTwinkle 3.2s ease-in-out infinite alternate; }
.ffs-about-orb { transition:transform 0.28s ease; will-change:transform; }
.ffs-about-top-card,
.ffs-about-philosophy-box,
.ffs-about-card { transition:transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease, background 0.28s ease; will-change:transform; }

@keyframes ffsAboutTwinkle {
  0% { opacity:0.30; filter:brightness(0.92); }
  50% { opacity:0.88; filter:brightness(1.22); }
  100% { opacity:0.46; filter:brightness(1.00); }
}
.ffs-contact-info-grid { display:grid; grid-template-columns:minmax(0, 1fr) 280px; gap:20px; align-items:center; }
.ffs-contact-info-content { min-width:0; }
.ffs-contact-logo-panel { display:flex; justify-content:center; align-items:center; }
.ffs-contact-logo-wrap { width:100%; display:flex; align-items:center; justify-content:center; padding:0; background:none; border:none; box-shadow:none; }
.ffs-contact-logo { width:240px; max-width:100%; height:auto; object-fit:contain; display:block; filter:drop-shadow(0 10px 18px rgba(15,23,42,0.10)); opacity:0.98; }

@media (max-width:640px) { .ffs-contact-info-grid { grid-template-columns:1fr; } .ffs-contact-logo-wrap { width:100%; margin:0 auto; } .ffs-contact-logo { width:130px; } }

.ffs-discovery-space { position:relative; overflow:hidden; background:radial-gradient(circle at 18% 18%, rgba(37,99,235,0.20) 0%, rgba(37,99,235,0) 22%), radial-gradient(circle at 84% 20%, rgba(14,165,233,0.16) 0%, rgba(14,165,233,0) 22%), linear-gradient(180deg, #030712 0%, #081225 38%, #0b1730 70%, #07111f 100%); isolation:isolate; }
.ffs-discovery-space::before { content:""; position:absolute; inset:0; background:radial-gradient(2px 2px at 7% 13%, rgba(255,255,255,0.82) 0%, transparent 100%), radial-gradient(1.5px 1.5px at 14% 29%, rgba(255,255,255,0.68) 0%, transparent 100%), radial-gradient(2px 2px at 23% 11%, rgba(255,255,255,0.74) 0%, transparent 100%), radial-gradient(1.5px 1.5px at 31% 23%, rgba(255,255,255,0.60) 0%, transparent 100%), radial-gradient(2px 2px at 42% 16%, rgba(255,255,255,0.78) 0%, transparent 100%), radial-gradient(1.5px 1.5px at 51% 30%, rgba(255,255,255,0.64) 0%, transparent 100%), radial-gradient(2px 2px at 63% 14%, rgba(255,255,255,0.80) 0%, transparent 100%), radial-gradient(1.5px 1.5px at 72% 27%, rgba(255,255,255,0.66) 0%, transparent 100%), radial-gradient(2px 2px at 83% 18%, rgba(255,255,255,0.76) 0%, transparent 100%), radial-gradient(1.5px 1.5px at 92% 10%, rgba(255,255,255,0.72) 0%, transparent 100%); pointer-events:none; opacity:0.92; animation:ffsDiscoveryTwinkle 3.4s ease-in-out infinite alternate; }
.ffs-discovery-space::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(255,255,255,0.03) 0%, rgba(255,255,255,0) 100%); pointer-events:none; }

.ffs-discovery-orb { position:absolute; border-radius:50%; filter:blur(60px); opacity:0.40; pointer-events:none; z-index:1; animation:ffsDiscoveryOrbFloat 10s ease-in-out infinite; }
.ffs-discovery-orb-1 { width:260px; height:260px; left:-70px; top:110px; background:rgba(37,99,235,0.18); }
.ffs-discovery-orb-2 { width:320px; height:320px; right:-90px; bottom:40px; background:rgba(14,165,233,0.14); animation-duration:13s; animation-delay:-2s; }

.ffs-discovery-space .ffs-container { position:relative; z-index:2; }
.ffs-discovery-shell { display:grid; grid-template-columns:minmax(0, 0.95fr) minmax(460px, 0.98fr); gap:34px; align-items:start; }
.ffs-discovery-copy { color:#e2e8f0; }
.ffs-discovery-copy h1 { color:#f8fafc; }
.ffs-discovery-copy .ffs-lead { color:#cbd5e1; max-width:760px; }

.ffs-discovery-pills { display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
.ffs-discovery-pill { display:inline-flex; align-items:center; justify-content:center; padding:10px 16px; border-radius:999px; border:1px solid rgba(148,163,184,0.18); background:rgba(15,23,42,0.46); box-shadow:0 10px 24px rgba(2,6,23,0.24); font-size:0.92rem; font-weight:700; color:#e2e8f0; backdrop-filter:blur(10px); }
.ffs-discovery-pill:nth-child(1) { color:#60a5fa; border-color:rgba(59,130,246,0.25); }
.ffs-discovery-pill:nth-child(2) { color:#a78bfa; border-color:rgba(139,92,246,0.25); }
.ffs-discovery-pill:nth-child(3) { color:#22d3ee; border-color:rgba(34,211,238,0.25); }

.ffs-discovery-side-card { margin-top:24px; padding:24px; border-radius:24px; border:1px solid rgba(148,163,184,0.18); background:linear-gradient(180deg, rgba(15,23,42,0.58) 0%, rgba(15,23,42,0.46) 100%); box-shadow:0 20px 44px rgba(2,6,23,0.26); backdrop-filter:blur(12px); }
.ffs-discovery-side-card h3 { color:#f8fafc; margin-bottom:12px; font-size:1.4rem; line-height:1.2; }
.ffs-discovery-side-card p:last-child { color:#cbd5e1; line-height:1.72; }

.ffs-discovery-form-card { padding:28px; border-radius:28px; border:1px solid rgba(148,163,184,0.18); background:linear-gradient(180deg, rgba(8,15,31,0.78) 0%, rgba(12,22,43,0.88) 55%, rgba(9,18,35,0.80) 100%); box-shadow:0 26px 60px rgba(2,6,23,0.34); backdrop-filter:blur(14px); position:relative; overflow:hidden; }
.ffs-discovery-form-card::before { content:""; position:absolute; inset:0 0 auto 0; height:4px; background:linear-gradient(90deg, #2563eb 0%, #38bdf8 100%); }
.ffs-discovery-form-card .ffs-form { position:relative; z-index:2; }

.ffs-discovery-form-card .ffs-form label { color:#f8fafc; }
.ffs-discovery-form-card .ffs-form input,
.ffs-discovery-form-card .ffs-form textarea { background:rgba(255,255,255,0.06); border:1px solid rgba(148,163,184,0.20); color:#f8fafc; }
.ffs-discovery-form-card .ffs-form input::placeholder,
.ffs-discovery-form-card .ffs-form textarea::placeholder { color:#94a3b8; }
.ffs-discovery-form-card .ffs-form input:focus,
.ffs-discovery-form-card .ffs-form textarea:focus { outline:none; border-color:#60a5fa; box-shadow:0 0 0 4px rgba(96,165,250,0.14); background:rgba(255,255,255,0.08); }

.ffs-discovery-submit-row { display:flex; justify-content:flex-start; align-items:center; padding-top:4px; }

@keyframes ffsDiscoveryTwinkle {
  0% { opacity:0.34; filter:brightness(0.92); }
  50% { opacity:0.90; filter:brightness(1.20); }
  100% { opacity:0.46; filter:brightness(1.00); }
}

@keyframes ffsDiscoveryOrbFloat {
  0% { transform:translate3d(0, 0, 0) scale(1); }
  50% { transform:translate3d(0, -12px, 0) scale(1.02); }
  100% { transform:translate3d(0, 0, 0) scale(1); }
}

@media (max-width:980px) { .ffs-discovery-shell { grid-template-columns:1fr; } }
@media (max-width:640px) { .ffs-discovery-form-card { padding:22px 18px; } .ffs-discovery-pill { width:100%; justify-content:flex-start; } }

@media (prefers-reduced-motion: reduce) {
  .ffs-discovery-space::before,
  .ffs-discovery-orb { animation:none !important; }
}