/* Intel Focus Reports: theme fit. The report clears the fixed #nav (its height is measured into --ifx-top by
   the report itself), and the theme's hero and emptied prose column stay hidden: the theme's own display
   rules outrank the [hidden] attribute, so it is restated here. */
.ifx-on .page-hero[hidden],
.ifx-on .page-body-wrap[hidden] { display: none !important; }
.ifx-on #ifx-report { padding-top: var(--ifx-top, 0px); position: relative; z-index: 1; }
.ifx-on #ifx-report h1, .ifx-on #ifx-report h2, .ifx-on #ifx-report h3 { font-family: var(--ifx-font); }

/* ---------- the Analysis showcase ([ifx_analysis_index]) ----------
   Sits in the theme's .wrap (its margins), freed from the 760px reading column. Equal cards, up to three a row.
   Inherits the theme's ground and text colour in both modes; brand red marks the kicker, blue the call. */
.ifx-on .case-content.ifa-col { max-width: none; }
.ifa { --ifa-line: currentColor; padding: 0 0 clamp(48px, 6vw, 96px); font-family: "Neo Sans Pro", -apple-system, "Segoe UI", sans-serif; }
.ifa-intro { max-width: 62ch; margin: 0 0 clamp(24px, 3vw, 36px) !important; font-size: clamp(17px, 1.4vw, 19px); line-height: 1.45; font-weight: 500; }
.ifa-list { list-style: none; margin: 0 !important; padding: 0 !important; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: clamp(18px, 2vw, 28px); }
@media (min-width: 1000px) { .ifa-list { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.ifa-card { margin: 0 !important; padding: 0 !important; min-width: 0; }
.ifa-card::before, .ifa-card::marker { content: none !important; }
.ifa-link { display: flex; flex-direction: column; height: 100%; color: inherit !important; text-decoration: none !important; border: 2px solid var(--ifa-line); background: transparent; }
.ifa-fig { display: block; position: relative; aspect-ratio: 16 / 10; overflow: hidden; border-bottom: 2px solid var(--ifa-line); background: #141414; }
.ifa-fig img { display: block; width: 100%; height: 100%; object-fit: cover; margin: 0 !important; transition: transform 0.6s cubic-bezier(0.2, 0.7, 0.2, 1); }
.ifa-link:hover .ifa-fig img, .ifa-link:focus-visible .ifa-fig img { transform: scale(1.04); }
.ifa-body { display: flex; flex-direction: column; gap: 10px; padding: 18px 18px 20px; flex: 1; }
.ifa-kick { font-size: 12px; font-weight: 700; letter-spacing: 0.02em; color: #AA2726; }
[data-theme="dark"] .ifa-kick { color: #E5524F; }
.ifa-title { font-weight: 900; font-size: clamp(22px, 1.9vw, 27px); line-height: 1.02; letter-spacing: -0.025em; }
.ifa-dek { font-size: 15px; line-height: 1.5; opacity: 0.88; }
.ifa-meta { display: flex; flex-wrap: wrap; gap: 8px 22px; margin-top: auto; padding-top: 12px; border-top: 1px solid var(--ifa-line); font-size: 13px; font-weight: 500; }
.ifa-meta b { display: block; font-size: 11px; font-weight: 700; opacity: 0.7; }
.ifa-go { align-self: flex-start; display: inline-flex; gap: 8px; align-items: center; font-weight: 700; font-size: 14px; padding: 10px 14px; background: #3D53E0; color: #fff; }
.ifa-go span { transition: transform 0.2s; }
.ifa-link:hover .ifa-go span, .ifa-link:focus-visible .ifa-go span { transform: translateX(5px); }
.ifa-link:focus-visible { outline: 3px solid #5271FF; outline-offset: 4px; }
.ifa-draft { align-self: flex-start; font-size: 11px; font-weight: 700; padding: 3px 7px; background: #AA2726; color: #fff; }
.ifa-empty { padding: 32px; border: 2px dashed var(--ifa-line); font-weight: 500; }
@media (prefers-reduced-motion: reduce) { .ifa-fig img, .ifa-go span { transition: none; } }
