/* Fileonaut enhancement layer — post-hero sections only. Hero bytes untouched. */
:root {
  --fx-ease: cubic-bezier(0.16, 1, 0.3, 1);
  --fx-grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");
}
.fx-sec { position: relative; isolation: isolate; }
.fx-bg { position: absolute; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; }
.fx-sec > *:not(.fx-bg) { position: relative; z-index: 1; }
.fx-orb { position: absolute; border-radius: 50%; filter: blur(60px); pointer-events: none; }
.fx-orb-a { width: 560px; height: 560px; right: -160px; top: -120px; background: radial-gradient(circle, rgba(255,214,10,0.35) 0%, rgba(255,214,10,0) 70%); }
.fx-orb-b { width: 480px; height: 480px; left: -160px; bottom: -140px; background: radial-gradient(circle, rgba(255,214,10,0.22) 0%, rgba(255,214,10,0) 70%); }
.fx-orb-c { width: 620px; height: 620px; left: 50%; top: -200px; transform: translateX(-50%); background: radial-gradient(circle, rgba(255,214,10,0.18) 0%, rgba(255,214,10,0) 70%); }
.fx-grain { position: absolute; inset: 0; background-image: var(--fx-grain); background-size: 140px 140px; opacity: 0.05; }
.fx-wash-warm { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(255,248,204,0.5) 0%, rgba(255,255,255,0) 30%, rgba(255,255,255,0) 70%, rgba(248,247,245,0.8) 100%); }
.fx-hairline { position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: min(1120px, 92%); height: 1px; background: linear-gradient(90deg, transparent, rgba(17,17,17,0.14), transparent); }
.fx-img { position: absolute; pointer-events: none; animation: fx-float 7s ease-in-out infinite; }
.fx-img-radar { width: 150px; top: 64px; right: 4%; opacity: 0.95; filter: drop-shadow(0 16px 32px rgba(17,17,17,0.18)); }
.fx-img-gauge { width: 300px; top: 96px; right: 2%; opacity: 0.95; filter: drop-shadow(0 16px 32px rgba(17,17,17,0.12)); }
.fx-img-shield { width: 120px; bottom: 48px; left: 3%; opacity: 0.9; }
@keyframes fx-float { 0%, 100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-12px) rotate(1deg); } }
.fx-banner { margin-top: 40px; border-radius: 24px; overflow: hidden; border: 1px solid var(--border); box-shadow: 0 24px 64px rgba(17,17,17,0.14), 0 0 0 1px rgba(17,17,17,0.04); background: #fff; }
.fx-banner img { display: block; width: 100%; height: auto; }
.fx-banner-cap { display: flex; align-items: center; gap: 10px; padding: 14px 20px; font-size: 12px; color: var(--text-2); border-top: 1px solid var(--border); background: #fff; }
.fx-live { width: 8px; height: 8px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 4px rgba(0,201,80,0.15); animation: fx-blink 2.4s ease-in-out infinite; }
@keyframes fx-blink { 0%, 100% { opacity: 1; } 50% { opacity: 0.45; } }
.fx-rv { opacity: 0; transform: translateY(22px); transition: opacity 640ms var(--fx-ease), transform 640ms var(--fx-ease); transition-delay: var(--d, 0ms); }
.fx-rv.in { opacity: 1; transform: none; }
.fx-sec .card { transition: transform 220ms var(--fx-ease), box-shadow 220ms ease, border-color 220ms ease; }
.fx-sec .card:hover { transform: translateY(-3px); box-shadow: 0 16px 40px rgba(17,17,17,0.12), 0 0 0 1px rgba(17,17,17,0.05); }
.fx-quote { position: relative; }
.fx-quote .fx-ava { position: absolute; top: 14px; right: 14px; width: 34px; height: 34px; border-radius: 50%; border: 2px solid #fff; box-shadow: 0 4px 12px rgba(17,17,17,0.15); }
.fx-pro { position: relative; }
.fx-pro::after { content: ""; position: absolute; inset: -1.5px; border-radius: 26px; padding: 1.5px; background: linear-gradient(135deg, rgba(255,214,10,0.9), rgba(255,214,10,0.15) 40%, rgba(255,214,10,0.9)); -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite: xor; mask-composite: exclude; pointer-events: none; animation: fx-sheen 5s linear infinite; background-size: 200% 200%; }
@keyframes fx-sheen { 0% { background-position: 0% 0%; } 100% { background-position: 200% 200%; } }
.fx-faq summary { transition: color 150ms ease; }
.fx-faq details[open] { border-color: rgba(255,214,10,0.55); box-shadow: 0 8px 24px rgba(255,214,10,0.12); }
header.fx-nav { box-shadow: 0 8px 32px rgba(17,17,17,0.12); }
header.fx-nav .fx-cta { transform: translateY(-1px); box-shadow: 0 6px 20px rgba(255,214,10,0.4); }
.fx-foot { position: relative; overflow: hidden; }
.fx-foot-sky { position: absolute; left: 0; right: 0; bottom: 0; width: 100%; height: 150px; object-fit: cover; object-position: center 30%; opacity: 0.1; pointer-events: none; }
.fx-cta-band { margin-top: 40px; border-radius: 24px; background: #111; color: #fff; padding: 36px 32px; display: flex; flex-wrap: wrap; align-items: center; gap: 20px; justify-content: space-between; position: relative; overflow: hidden; }
.fx-cta-band::before { content: ""; position: absolute; width: 480px; height: 480px; border-radius: 50%; right: -140px; top: -160px; background: radial-gradient(circle, rgba(255,214,10,0.35) 0%, rgba(255,214,10,0) 70%); }
.fx-cta-band h3 { margin: 0; font-size: 22px; letter-spacing: -0.02em; position: relative; }
.fx-cta-band p { margin: 6px 0 0; font-size: 13px; color: #B9B7B2; position: relative; }
@media (max-width: 900px) {
  .fx-img-radar, .fx-img-gauge, .fx-img-shield { display: none; }
  .fx-orb-a, .fx-orb-b { width: 340px; height: 340px; }
}
@media (prefers-reduced-motion: reduce) {
  .fx-rv { opacity: 1; transform: none; transition: none; }
  .fx-img, .fx-live { animation: none; }
  .fx-pro::after { animation: none; }
}
