/* ===== Fact Finds (9 Oct 2026). Animations that keep running: drifting glow, floating form sheets whose ticks appear one by one,
   counting chips, and a highlight that moves through the six category cards. ===== */

/* ---------- hero ---------- */
.ff-hero{ position:relative; isolation:isolate; overflow:hidden; background:linear-gradient(200deg,#0b1a2c 0%,#0F2238 50%,#152C47 100%); color:#fff; }
.ff-aurora{ position:absolute; inset:0; z-index:-1; overflow:hidden; pointer-events:none; }
.ff-o1,.ff-o2{ position:absolute; border-radius:50%; filter:blur(80px); opacity:.5; }
.ff-o1{ width:540px; height:540px; left:-140px; top:-200px; background:radial-gradient(circle,#3F72B5 0%,transparent 68%); animation:ffDrift 18s ease-in-out infinite alternate; }
.ff-o2{ width:500px; height:500px; right:-120px; bottom:-220px; background:radial-gradient(circle,#4F82C6 0%,transparent 68%); animation:ffDrift 22s ease-in-out infinite alternate-reverse; }
@keyframes ffDrift{ from{ transform:translate(0,0) scale(1); } to{ transform:translate(60px,40px) scale(1.15); } }
.ff-hero-grid{ display:grid; gap:56px; align-items:center; padding-block:clamp(56px,8vw,110px); }
@media(min-width:960px){ .ff-hero-grid{ grid-template-columns:1.1fr .9fr; gap:72px; } }
.ff-crumbs{ display:flex; gap:8px; flex-wrap:wrap; font:12px 'Geist Mono',monospace; color:rgba(255,255,255,.75); }
.ff-crumbs b{ color:#fff; font-weight:500; }
.ff-hero h1{ margin-top:24px; font-size:clamp(54px,8.4vw,116px); font-weight:500; line-height:.98; letter-spacing:-.045em; color:#fff; }
.ff-lede{ margin-top:22px; max-width:50ch; font-size:clamp(17px,1.6vw,20px); line-height:1.6; color:rgba(255,255,255,.9); }
.ff-chips{ display:flex; flex-wrap:wrap; gap:12px; margin-top:36px; }
.ff-chip{ flex:1 1 170px; max-width:206px; padding:16px 20px; border:1px solid rgba(255,255,255,.22); border-radius:14px; background:rgba(255,255,255,.06); animation:ffFloat 6s ease-in-out infinite; }
.ff-chip-2{ animation-delay:-3s; }
.ff-chip b{ display:block; font-size:clamp(30px,3.2vw,42px); font-weight:500; letter-spacing:-.03em; line-height:1; color:#fff; }
.ff-chip small{ display:block; margin-top:8px; font:11.5px/1.45 'Geist Mono',monospace; letter-spacing:.03em; color:rgba(255,255,255,.78); }
@keyframes ffFloat{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-6px); } }

/* floating form sheets */
.ff-docs{ position:relative; width:min(100%,420px); aspect-ratio:1/.92; justify-self:center; }
.ff-sheet{ position:absolute; width:62%; aspect-ratio:3/4; padding:7% 8%; border-radius:18px; background:#fff; color:#0F2238; box-shadow:0 40px 70px -30px rgba(0,0,0,.7); display:flex; flex-direction:column; gap:9%; }
.ff-sheet i{ display:block; width:46%; height:8px; border-radius:6px; background:var(--blue); }
.ff-row{ display:flex; align-items:center; gap:9%; }
.ff-row u{ flex:none; width:15px; height:15px; border-radius:5px; border:1.6px solid #b7c6da; position:relative; text-decoration:none; }
.ff-row u::after{ content:""; position:absolute; left:3px; top:0; width:5px; height:9px; border:solid var(--blue); border-width:0 2.4px 2.4px 0; transform:rotate(45deg) scale(0); transform-origin:center; animation:ffTick 9s ease-in-out infinite; }
.ff-row b{ flex:1; height:7px; border-radius:6px; background:#dbe4f0; }
.ff-sheet .ff-row:nth-child(2) u::after{ animation-delay:.4s; } .ff-sheet .ff-row:nth-child(3) u::after{ animation-delay:1.6s; }
.ff-sheet .ff-row:nth-child(4) u::after{ animation-delay:2.8s; } .ff-sheet .ff-row:nth-child(5) u::after{ animation-delay:4s; }
@keyframes ffTick{ 0%,5%{ transform:rotate(45deg) scale(0); } 14%,78%{ transform:rotate(45deg) scale(1); } 92%,100%{ transform:rotate(45deg) scale(0); } }
.ff-s1{ left:0; top:6%; rotate:-8deg; animation:ffBob 7s ease-in-out infinite; }
.ff-s2{ right:0; top:0; rotate:7deg; animation:ffBob 8s ease-in-out infinite -2s; }
.ff-s3{ left:19%; bottom:0; rotate:-1deg; z-index:2; animation:ffBob 9s ease-in-out infinite -4s; }
@keyframes ffBob{ 0%,100%{ translate:0 0; } 50%{ translate:0 -14px; } }

/* ---------- forms ---------- */
.s.ff-main{ padding-block:clamp(72px,9vw,130px); }
.ff-main .head h2{ font-size:clamp(36px,5vw,64px); }
.ff-grid{ display:grid; gap:22px; margin-top:50px; grid-template-columns:1fr; }
@media(min-width:760px){ .ff-grid{ grid-template-columns:1fr 1fr; gap:24px; } }
@media(min-width:1100px){ .ff-grid{ grid-template-columns:repeat(3,1fr); } }
.ff-card{ position:relative; align-self:stretch; overflow:hidden; padding:clamp(24px,2.6vw,34px); border:1px solid var(--line); border-radius:22px; background:var(--paper); transition:transform .55s cubic-bezier(.2,.8,.2,1), box-shadow .55s, border-color .55s; }
.ff-idx{ font:13px 'Geist Mono',monospace; letter-spacing:.1em; color:var(--blue); }
.ff-card h3{ margin-top:10px; padding-bottom:18px; border-bottom:1px solid var(--ink); font-size:clamp(21px,2vw,26px); font-weight:500; letter-spacing:-.02em; line-height:1.15; }
.ff-links{ margin-top:8px; }
a.ff-link{ display:flex; align-items:center; justify-content:space-between; gap:14px; padding:15px 4px; border-bottom:1px solid var(--line); font-size:15.5px; font-weight:500; color:var(--ink); transition:color .3s, padding .3s, background .3s; }
a.ff-link::after{ content:"\2197"; flex:none; font-size:17px; color:var(--blue); transition:transform .3s; }
a.ff-link:hover{ color:var(--blue); padding-left:12px; background:linear-gradient(90deg,rgba(63,114,181,.08),transparent); }
a.ff-link:hover::after{ transform:translate(3px,-3px); }
.ff-bar{ position:absolute; left:0; top:0; height:4px; width:0; background:var(--blue); }
.ff-card.hot{ transform:translateY(-8px); border-color:var(--blue); box-shadow:0 30px 60px -34px rgba(63,114,181,.55); }
.ff-card.hot .ff-bar{ width:100%; transition:width 3.4s linear; }
.ff-note{ margin-top:34px; font:12.5px 'Geist Mono',monospace; letter-spacing:.04em; color:var(--slate); }

/* ---------- dark mode ---------- */
:root[data-theme=dark] .ff-card{ background:#111a25; }
:root[data-theme=dark] .ff-card.hot{ box-shadow:0 30px 60px -34px rgba(0,0,0,.8); }
:root[data-theme=dark] .ff-card h3{ border-bottom-color:#c5d2e4; }

@media (prefers-reduced-motion:reduce){
  .ff-o1,.ff-o2,.ff-chip,.ff-s1,.ff-s2,.ff-s3{ animation:none; }
  .ff-row u::after{ animation:none; transform:rotate(45deg) scale(1); }
  .ff-card.hot{ transform:none; }
}

/* ===== Elementor adaptations (generated) ===== */
.ff-hero h1.elementor-heading-title:not(.az):not(.az){margin-top:24px; font-size:clamp(54px,8.4vw,116px); font-weight:500; line-height:.98; letter-spacing:-.045em; color:#fff;}
.ff-card h3.elementor-heading-title:not(.az):not(.az){margin-top:10px; padding-bottom:18px; border-bottom:1px solid var(--ink); font-size:clamp(21px,2vw,26px); font-weight:500; letter-spacing:-.02em; line-height:1.15;}
.ff-main .head h2.elementor-heading-title:not(.az):not(.az){font-size:clamp(36px,5vw,64px);}
:root[data-theme=dark] .ff-card h3.elementor-heading-title:not(.az):not(.az){border-bottom-color:#c5d2e4;}
:where(.angel-item) > :where(a,span,b,i,small,cite,time,em,strong){display:block}
.mcta p{color:#fff}
/* ===== generated from inline styles ===== */
.s-efe972{animation-delay:.1s !important}
.s-ce65ab{animation-delay:.36s !important}
