/* Topic hub, /ai-tools/ and anything like it.
   Every class is mfai- prefixed so nothing collides with Elementor, Hello
   Elementor or the catalogue templates. Header and footer styles are absent on
   purpose: the real ones come from the Elementor theme builder.

   The reference package scoped its resets to bare element selectors (body, a,
   button, ul). This sheet only loads on a hub page, but the Elementor header
   and footer render on that page too, so those resets would have restyled
   them. Everything is scoped to .mfai instead. */

.mfai{
  --bg:#070A12;
  --surface:#0E1222;
  --surface-2:#141A2E;
  --glass:rgba(255,255,255,.035);
  --glass-2:rgba(255,255,255,.06);
  --line:rgba(255,255,255,.10);
  --line-2:rgba(255,255,255,.16);
  --text:#F8FAFF;
  --text-2:rgba(248,250,255,.66);
  --text-3:rgba(248,250,255,.5);
  --royal:#4F46FF;
  --royal-hi:#635BFF;
  --sky:#3B82F6;
  --accent:#93B4FB;
  --lav:#E9D8FF;
  --font-display:'DM Sans','Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  --font-body:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --font-mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --gutter:clamp(16px,4vw,32px);
  display:block;
  background:var(--bg);
  color:var(--text);
  font:400 16px/1.6 var(--font-body);
  -webkit-font-smoothing:antialiased;
}
/* Every element reset is wrapped in :where() so it contributes no
   specificity of its own. Scoped to .mfai, so the Elementor header and footer
   on this page are untouched, but a plain .mfai-* class still outranks it.
   Without :where() these resets beat the components they sit under, and the
   whole hero loses its vertical rhythm. */
.mfai *,.mfai *::before,.mfai *::after{box-sizing:border-box}
.mfai :where(a){color:inherit;text-decoration:none}
.mfai :where(button){font:inherit;color:inherit;cursor:pointer}
.mfai :where(input){font:inherit;color:inherit}
.mfai :where(h1,h2,h3){font-family:var(--font-display);margin:0;text-wrap:balance}
.mfai :where(p){margin:0}
.mfai :where(ul,ol){margin:0;padding:0;list-style:none}
.mfai [hidden]{display:none!important}
.mfai :focus-visible{outline:2px solid var(--sky);outline-offset:3px;border-radius:6px}
.mfai-wrap{width:100%;max-width:1244px;margin-inline:auto;padding-inline:var(--gutter)}
.mfai-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.mfai-eyebrow{font:500 11.5px/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-3)}

/* buttons */
.mfai-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 20px;border-radius:100px;border:1px solid transparent;font:600 14.5px/1 var(--font-display);white-space:nowrap;transition:background .15s,border-color .15s,color .15s}
.mfai-btn svg{flex:none;width:15px;height:15px}
.mfai-btn-primary{background:var(--royal);color:#fff}
.mfai-btn-primary:hover{background:var(--royal-hi);color:#fff}
.mfai-btn-ghost{background:transparent;border-color:var(--line-2);color:var(--text)}
.mfai-btn-ghost:hover{background:var(--glass-2);border-color:rgba(255,255,255,.3)}

/* hero */
.mfai-hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line);background:linear-gradient(rgba(30,27,75,.55),transparent 420px)}
.mfai-hero::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(700px 340px at 78% -8%,rgba(79,70,255,.34),transparent 70%),radial-gradient(560px 300px at 10% 4%,rgba(59,130,246,.16),transparent 72%)}
.mfai-hero::after{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:linear-gradient(#000,transparent 86%);mask-image:linear-gradient(#000,transparent 86%)}
.mfai-hero .mfai-wrap{position:relative;z-index:1;padding-block:30px 52px}
.mfai-crumbs{display:flex;flex-direction:row;align-items:center;gap:9px;margin-bottom:40px;font:400 13px/1 var(--font-body);color:var(--text-3)}
.mfai-crumbs a:hover{color:var(--text)}
.mfai-crumbs i{font-style:normal;opacity:.5}
.mfai-crumbs span{color:var(--text-2)}

.mfai-stage{position:relative;padding-bottom:18px}
.mfai-center{position:relative;z-index:2;max-width:690px;margin-inline:auto;text-align:center}
.mfai h1{margin-top:16px;font-weight:800;font-size:clamp(2.4rem,1.35rem + 4.3vw,4.15rem);line-height:1.02;letter-spacing:-.04em;color:var(--text)}
.mfai-grad{background:linear-gradient(104deg,#F8FAFF 14%,#3B82F6 50%,#E9D8FF 88%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.mfai-lede{max-width:52ch;margin:18px auto 0;font-size:clamp(1rem,.95rem + .3vw,1.125rem);line-height:1.6;color:var(--text-2);text-wrap:pretty}

/* search */
.mfai-search{position:relative;display:flex;align-items:center;gap:10px;margin-top:28px;padding:8px 8px 8px 20px;border:1px solid var(--line-2);border-radius:18px;background:rgba(14,18,34,.86);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 24px 60px -30px rgba(79,70,255,.9)}
.mfai-search:focus-within{border-color:rgba(99,91,255,.75);box-shadow:0 24px 60px -26px rgba(79,70,255,1)}
.mfai-search .mfai-i-search{flex:none;width:18px;height:18px;color:var(--text-3)}
.mfai-search input{flex:1;min-width:0;padding:14px 0;border:0;background:none;font:400 16px/1.4 var(--font-body);color:var(--text)}
.mfai-search input::placeholder{color:var(--text-3)}
.mfai-search input:focus{outline:none}
.mfai-search input::-webkit-search-cancel-button{display:none}
.mfai-go-btn{display:grid;place-items:center;flex:none;width:44px;height:44px;border:0;border-radius:13px;background:var(--royal);color:#fff;transition:background .15s}
.mfai-go-btn:hover{background:var(--royal-hi)}
.mfai-go-btn svg{width:17px;height:17px}
.mfai-hint{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:8px;margin-top:14px;font:400 13px/1.5 var(--font-body);color:var(--text-3)}
.mfai-hint b{font:500 11.5px/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-3)}
.mfai-hint button{padding:5px 11px;border:1px solid var(--line);border-radius:100px;background:transparent;font:400 12.5px/1 var(--font-body);color:var(--text-2);transition:background .15s,border-color .15s,color .15s}
.mfai-hint button:hover{background:var(--glass-2);border-color:var(--line-2);color:var(--text)}

.mfai-cta{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:26px}
.mfai-ledger{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 18px;margin-top:30px;font:500 12.5px/1 var(--font-mono);letter-spacing:.02em;color:var(--text-3)}
.mfai-ledger b{font-weight:500;color:var(--text)}
.mfai-ledger span:not(:last-child)::after{content:"";display:inline-block;width:3px;height:3px;margin-left:18px;border-radius:50%;background:var(--text-3);vertical-align:middle}

/* orbiting marks */
.mfai-orbit{position:absolute;inset:0;z-index:1;pointer-events:none}
.mfai-orb{position:absolute;display:grid;justify-items:center;gap:9px;width:104px;margin-left:-52px;pointer-events:auto;animation:mfai-bob 6s ease-in-out infinite both}
.mfai-orb .mfai-tile{display:grid;place-items:center;width:58px;height:58px;overflow:hidden;border:1px solid var(--line-2);border-radius:18px;background:linear-gradient(145deg,rgba(79,70,255,.4),rgba(79,70,255,.08));font:800 21px/1 var(--font-display);letter-spacing:-.03em;color:#DDE0FF;box-shadow:0 18px 34px -18px rgba(0,0,0,.9);transition:transform .2s,border-color .2s}
.mfai-orb.mfai-t-software .mfai-tile{background:linear-gradient(145deg,rgba(59,130,246,.38),rgba(59,130,246,.07));border-color:rgba(59,130,246,.5);color:#BBD3FF}
.mfai-orb.mfai-t-company .mfai-tile{background:linear-gradient(145deg,rgba(233,216,255,.24),rgba(233,216,255,.05));border-color:rgba(233,216,255,.3);color:var(--lav)}
.mfai-orb span{font:500 12.5px/1.2 var(--font-body);color:var(--text-2);text-align:center}
.mfai-orb:hover .mfai-tile{transform:translateY(-3px);border-color:rgba(255,255,255,.4)}
.mfai-orb:hover span{color:var(--text)}
@keyframes mfai-bob{0%,100%{transform:translateY(-7px)}50%{transform:translateY(7px)}}

/* sections */
.mfai-sec{padding-block:72px 0}
.mfai-sec-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 28px;margin-bottom:26px}
.mfai-sec-head h2{font-weight:800;font-size:clamp(1.5rem,1.2rem + 1vw,1.95rem);line-height:1.15;letter-spacing:-.03em;color:var(--text)}
.mfai-sec-head p{max-width:58ch;margin-top:10px;color:var(--text-2);text-wrap:pretty}
.mfai-link{display:inline-flex;align-items:center;gap:7px;padding-bottom:2px;border:0;border-bottom:1px solid rgba(147,180,251,.4);background:none;font:500 14px/1 var(--font-body);color:var(--accent);transition:color .15s,border-color .15s}
.mfai-link:hover{color:#fff;border-color:#fff}
.mfai-link svg{width:14px;height:14px}

/* filter bar */
.mfai-filterbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;margin-bottom:16px}
.mfai-count{font:500 12.5px/1 var(--font-mono);letter-spacing:.02em;color:var(--text-3)}
.mfai-count b{font-weight:500;color:var(--text)}
.mfai-clear{padding:6px 0;border:0;background:none;font:500 12.5px/1 var(--font-mono);color:var(--accent)}
.mfai-clear:hover{color:#fff}
.mfai-empty{padding:46px 24px;border:1px dashed var(--line-2);border-radius:14px;text-align:center}
.mfai-empty p{max-width:46ch;margin:0 auto;color:var(--text-2)}
.mfai-empty .mfai-btn{margin-top:20px}
.mfai-more{display:flex;justify-content:center;margin-top:20px}
.mfai-pager{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:18px}
.mfai-pager a{min-width:38px;padding:9px 12px;border:1px solid var(--line);border-radius:100px;background:var(--glass);text-align:center;font:500 13px/1 var(--font-body);color:var(--text-2);transition:background .15s,border-color .15s,color .15s}
.mfai-pager a:hover{background:var(--glass-2);border-color:var(--line-2);color:var(--text)}
.mfai-pager a[aria-current]{background:var(--royal);border-color:var(--royal);color:#fff}
.mfai-note{margin-top:14px;font:400 12.5px/1.6 var(--font-body);color:var(--text-3)}

/* ranked list */
.mfai-ranked{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--glass)}
.mfai-ranked li+li{border-top:1px solid var(--line)}
.mfai-ranked a{display:grid;grid-template-columns:34px minmax(0,1fr) 110px 120px;align-items:center;column-gap:18px;padding:15px 20px;transition:background .15s}
.mfai-ranked a:hover{background:rgba(255,255,255,.045)}
.mfai-rk{font:500 12.5px/1 var(--font-mono);color:var(--text-3);font-variant-numeric:tabular-nums}
.mfai-nm{min-width:0;font:600 15.5px/1.3 var(--font-display);letter-spacing:-.01em;color:var(--text)}
.mfai-rv{font:400 13px/1 var(--font-body);color:var(--text-2);font-variant-numeric:tabular-nums}
.mfai-rt{display:flex;flex-direction:row;align-items:center;gap:6px;justify-self:end;font-variant-numeric:tabular-nums}
.mfai-rt svg{flex:none;width:12px;height:12px;fill:var(--accent)}
.mfai-rt b{font:700 14px/1 var(--font-display);color:var(--text)}

/* vendor band */
.mfai-panel{display:grid;grid-template-columns:1.25fr 1fr;overflow:hidden;margin-top:72px;border:1px solid var(--line);border-radius:18px;background:var(--glass)}
.mfai-work{padding:40px;background:linear-gradient(135deg,rgba(79,70,255,.18),transparent 62%)}
.mfai-work h2{margin-top:14px;font-weight:800;font-size:clamp(1.6rem,1.25rem + 1.3vw,2.05rem);line-height:1.12;letter-spacing:-.03em;color:var(--text)}
.mfai-work p:not(.mfai-eyebrow){max-width:44ch;margin-top:14px;color:var(--text-2);text-wrap:pretty}
.mfai-work .mfai-cta{justify-content:flex-start;margin-top:26px}
.mfai-checks{padding:40px;border-left:1px solid var(--line)}
.mfai-checks ol{margin-top:18px}
.mfai-checks li{display:flex;gap:18px;align-items:baseline;padding:14px 0;border-top:1px solid var(--line);font:500 15px/1.4 var(--font-body);color:var(--text)}
.mfai-checks li:first-child{border-top:0;padding-top:4px}
.mfai-checks li i{flex:none;width:22px;font:500 12px/1 var(--font-mono);font-style:normal;color:var(--accent)}

/* logo marquee */
.mfai-marq{position:relative;padding-block:26px 30px;border-bottom:1px solid var(--line);background:linear-gradient(rgba(30,27,75,.22),transparent)}
.mfai-marq::before,.mfai-marq::after{content:"";position:absolute;top:0;bottom:0;width:120px;z-index:2;pointer-events:none}
.mfai-marq::before{left:0;background:linear-gradient(90deg,var(--bg),transparent)}
.mfai-marq::after{right:0;background:linear-gradient(270deg,var(--bg),transparent)}
.mfai-mrow{display:flex;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.mfai-mrow+.mfai-mrow{margin-top:22px}
.mfai-mtrack{display:flex;flex:none;align-items:center;gap:56px;padding-right:56px;animation:mfai-slide 46s linear infinite}
.mfai-mrow.mfai-rev .mfai-mtrack{animation-direction:reverse}
.mfai-mrow:hover .mfai-mtrack{animation-play-state:paused}
@keyframes mfai-slide{from{transform:translateX(0)}to{transform:translateX(-100%)}}
.mfai-mw{flex:none;font:700 24px/1 var(--font-display);letter-spacing:-.035em;color:rgba(248,250,255,.42);white-space:nowrap;transition:color .15s}
.mfai-mw:hover{color:var(--text)}
.mfai-mrow.mfai-two .mfai-mtrack{gap:30px;padding-right:30px;animation-duration:58s}
.mfai-mp{flex:none;display:flex;flex-direction:row;align-items:center;gap:11px;padding:8px 16px 8px 8px;border:1px solid var(--line);border-radius:100px;background:var(--glass);white-space:nowrap;transition:background .15s,border-color .15s}
.mfai-mp:hover{background:var(--glass-2);border-color:var(--line-2)}
.mfai-mp .mfai-tile{width:34px;height:34px;border-radius:11px;font-size:13px}
.mfai-mp span:last-child{font:500 13.5px/1 var(--font-body);color:var(--text-2)}
.mfai-mp:hover span:last-child{color:var(--text)}

/* preview panel, the fallback when a listing has no image */
.mfai-shot{position:relative;display:block;overflow:hidden;aspect-ratio:16/9;border:1px solid var(--line);border-radius:11px;background:linear-gradient(140deg,hsl(var(--h) 62% 24%),hsl(calc(var(--h) + 38) 55% 9%))}
.mfai-shot::before{content:"";position:absolute;left:0;right:0;top:0;height:18px;background:rgba(7,10,18,.5);border-bottom:1px solid rgba(255,255,255,.08)}
.mfai-shot::after{content:"";position:absolute;left:10px;top:7px;width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.3);box-shadow:9px 0 0 rgba(255,255,255,.22),18px 0 0 rgba(255,255,255,.14)}
.mfai-gh{position:absolute;inset:18px 0 0;display:grid;place-items:center;font:800 clamp(30px,5vw,46px)/1 var(--font-display);letter-spacing:-.05em;color:rgba(255,255,255,.2)}
.mfai-ln{position:absolute;left:14px;right:14px;bottom:14px;height:6px;border-radius:3px;background:rgba(255,255,255,.16)}
.mfai-ln::after{content:"";position:absolute;left:0;top:11px;width:52%;height:6px;border-radius:3px;background:rgba(255,255,255,.1)}
.mfai-shot.mfai-has-img{background:var(--surface-2)}
.mfai-shot.mfai-has-img::before,.mfai-shot.mfai-has-img::after{display:none}
.mfai-shot img{display:block;width:100%;height:100%;object-fit:cover}

/* tool cards */
/* Four across. At three the cards were 383x400, which is a lot of room for one
   listing and pushed the rest of the page below the fold. */
.mfai-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.mfai-card{position:relative;display:flex;flex-direction:column;gap:11px;padding:12px 12px 15px;border:1px solid var(--line);border-radius:16px;background:var(--glass);transition:background .15s,border-color .15s,transform .18s}
.mfai-card:hover{background:rgba(255,255,255,.055);border-color:var(--line-2);transform:translateY(-2px)}
.mfai-head{display:grid;grid-template-columns:36px minmax(0,1fr);column-gap:10px;row-gap:2px;align-items:center;padding-inline:3px}
.mfai-tile{display:grid;place-items:center;overflow:hidden;border:1px solid rgba(99,91,255,.5);border-radius:12px;background:linear-gradient(145deg,rgba(79,70,255,.4),rgba(79,70,255,.1));font:800 16px/1 var(--font-display);letter-spacing:-.02em;color:#DDE0FF}
.mfai-card .mfai-tile{grid-row:1 / 3;width:36px;height:36px;border-radius:10px;font-size:14px}
.mfai-card.mfai-t-software .mfai-tile{background:linear-gradient(145deg,rgba(59,130,246,.36),rgba(59,130,246,.08));border-color:rgba(59,130,246,.5);color:#BBD3FF}
.mfai-card.mfai-t-company .mfai-tile{background:linear-gradient(145deg,rgba(233,216,255,.24),rgba(233,216,255,.06));border-color:rgba(233,216,255,.3);color:var(--lav)}
.mfai-tile.mfai-has-logo{background:#fff;border-color:var(--line-2);padding:5px}
.mfai-tile.mfai-has-logo img{display:block;width:100%;height:100%;object-fit:contain;border-radius:7px}
.mfai-card h3{min-width:0;font:700 15px/1.25 var(--font-display);letter-spacing:-.012em;color:var(--text)}
.mfai-card h3 a::after{content:"";position:absolute;inset:0;border-radius:16px}
.mfai-card h3 a:focus-visible{outline:0}
.mfai-card h3 a:focus-visible::after{outline:2px solid var(--sky);outline-offset:2px}
.mfai-cat-lbl{font:500 11px/1.3 var(--font-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--accent)}
/* Two lines. Uneven description lengths were the other reason the cards
   were so tall. */
.mfai-desc{flex:1;padding-inline:3px;font:400 13px/1.5 var(--font-body);color:var(--text-2);text-wrap:pretty;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mfai-foot{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:11px 3px 0;border-top:1px solid var(--line)}
.mfai-pill{font-size:11.5px;padding:4px 9px}
.mfai-rate{display:flex;flex-direction:row;align-items:center;gap:6px;font-variant-numeric:tabular-nums}
.mfai-rate svg{flex:none;width:13px;height:13px;fill:var(--accent)}
.mfai-rate b{font:700 14px/1 var(--font-display);color:var(--text)}
.mfai-rate small{font:400 12.5px/1 var(--font-body);color:var(--text-3)}
.mfai-rate.mfai-none{font:400 13px/1.4 var(--font-body);color:var(--text-3)}
.mfai-pill{margin-left:auto;padding:5px 11px;border:1px solid var(--line-2);border-radius:100px;font:400 12px/1.3 var(--font-body);font-variant-numeric:tabular-nums;color:var(--text-2);white-space:nowrap}
.mfai-pill.free{border-color:rgba(95,211,154,.4);background:rgba(95,211,154,.12);color:#9FE7C4}

/* editor's picks */
.mfai-picks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.mfai-pick{position:relative;display:flex;flex-direction:column;gap:12px;padding:12px 12px 16px;border:1px solid var(--line);border-radius:14px;background:var(--glass);transition:background .15s,border-color .15s}
.mfai-pick:hover{background:rgba(255,255,255,.055);border-color:var(--line-2)}
.mfai-row{display:grid;grid-template-columns:34px minmax(0,1fr);column-gap:11px;align-items:center;padding-inline:3px}
.mfai-pick .mfai-tile{width:34px;height:34px;border-radius:10px;font-size:13px}
.mfai-pick h3{font:700 15px/1.25 var(--font-display);letter-spacing:-.01em;color:var(--text)}
.mfai-pick h3 a::after{content:"";position:absolute;inset:0;border-radius:14px}
.mfai-pick h3 a:focus-visible{outline:0}
.mfai-pick h3 a:focus-visible::after{outline:2px solid var(--sky);outline-offset:2px}
.mfai-pick p{padding-inline:3px;font:400 13.5px/1.5 var(--font-body);color:var(--text-2);text-wrap:pretty}

/* audience grid */
.mfai-auds{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.mfai-aud{position:relative;display:flex;align-items:flex-end;min-height:132px;padding:20px;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:linear-gradient(150deg,rgba(79,70,255,.14),transparent 70%),var(--glass);transition:background .15s,border-color .15s}
.mfai-aud:hover{border-color:var(--line-2);background:linear-gradient(150deg,rgba(79,70,255,.24),transparent 70%),rgba(255,255,255,.05)}
.mfai-ai{position:absolute;top:-10px;right:-10px;display:grid;place-items:center;width:74px;height:74px;border-radius:50%;background:rgba(147,180,251,.1);color:var(--accent)}
.mfai-ai svg{width:26px;height:26px;margin:6px 10px 0 0;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.mfai-aud h3{font:700 17px/1.2 var(--font-display);letter-spacing:-.015em;color:var(--text)}
.mfai-n{display:block;margin-top:6px;font:500 11.5px/1 var(--font-mono);color:var(--accent)}

/* job to be done grid */
.mfai-cats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.mfai-cat{position:relative;display:block;padding:20px;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--glass);transition:background .15s,border-color .15s}
.mfai-cat:hover{background:rgba(255,255,255,.055);border-color:var(--line-2)}
.mfai-ci{display:grid;place-items:center;width:42px;height:42px;margin-bottom:14px;border-radius:13px;background:var(--c1);color:#fff;box-shadow:0 12px 24px -12px var(--c1)}
.mfai-ci svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.mfai-cat h3{font:700 15.5px/1.25 var(--font-display);letter-spacing:-.01em;color:var(--text)}
.mfai-cat .mfai-n{margin-top:5px;font:500 12px/1 var(--font-mono);color:var(--accent)}
.mfai-cat p{margin-top:9px;font:400 13.5px/1.5 var(--font-body);color:var(--text-2);text-wrap:pretty}

/* blog cards */
.mfai-posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.mfai-post{position:relative;display:flex;flex-direction:column;gap:13px;padding:14px 14px 18px;border:1px solid var(--line);border-radius:16px;background:var(--glass);transition:background .15s,border-color .15s}
.mfai-post:hover{background:rgba(255,255,255,.055);border-color:var(--line-2)}
.mfai-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;padding-inline:4px}
.mfai-tag{padding:4px 10px;border:1px solid rgba(147,180,251,.3);border-radius:100px;background:rgba(79,70,255,.1);font:500 10.5px/1.3 var(--font-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--accent)}
.mfai-post time{font:400 12.5px/1 var(--font-body);color:var(--text-3)}
.mfai-post h3{flex:1;padding-inline:4px;font:700 16.5px/1.35 var(--font-display);letter-spacing:-.012em;color:var(--text);text-wrap:pretty}
.mfai-post h3 a::after{content:"";position:absolute;inset:0;border-radius:16px}
.mfai-by{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 4px 0;border-top:1px solid var(--line);font:400 13px/1 var(--font-body);color:var(--text-3)}
.mfai-by em{font-style:normal;display:inline-flex;align-items:center;gap:6px;color:var(--accent)}
.mfai-by em svg{width:13px;height:13px}

/* in-flight search: dim the grid rather than emptying it, so nothing jumps */
.mfai-loading .mfai-grid{opacity:.5;transition:opacity .15s}
.mfai-grid[aria-busy="true"]{cursor:progress}

/* responsive */
@media (max-width:1180px){
  .mfai-orb{width:92px;margin-left:-46px}
  .mfai-orb .mfai-tile{width:52px;height:52px;border-radius:16px;font-size:19px}
}
@media (max-width:1180px){
  .mfai-grid,.mfai-picks{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:1080px){
  .mfai-auds{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mfai-posts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mfai-posts .mfai-post:last-child{grid-column:1 / -1}
  .mfai-cats{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:959px){
  /* the ring becomes a scrolling strip above the headline. It sits first in the
     DOM, so it needs bottom space, and a fade on the trailing edge so the
     cut-off pill reads as "keep scrolling". */
  .mfai-orbit{position:static;display:flex;flex-direction:row;gap:12px;margin:0 0 32px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter);scroll-snap-type:x proximity;-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent)}
  .mfai-orbit::-webkit-scrollbar{display:none}
  .mfai-orb{position:static!important;flex:none;width:auto;margin-left:0;animation:none;grid-template-columns:auto auto;align-items:center;gap:10px;padding:8px 14px 8px 8px;border:1px solid var(--line);border-radius:100px;background:var(--glass);scroll-snap-align:start}
  .mfai-orb .mfai-tile{width:34px;height:34px;border-radius:11px;font-size:14px;box-shadow:none}
  .mfai-orb span{font-size:13px;white-space:nowrap}
  .mfai-grid,.mfai-picks{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mfai-panel{grid-template-columns:1fr}
  .mfai-checks{border-left:0;border-top:1px solid var(--line)}
  .mfai-work,.mfai-checks{padding:28px 22px}
}
@media (max-width:759px){
  .mfai-hero .mfai-wrap{padding-block:24px 40px}
  .mfai-crumbs{margin-bottom:28px}
  /* the dot separators strand themselves at line ends once the ledger wraps */
  .mfai-ledger{gap:8px 20px}
  .mfai-ledger span:not(:last-child)::after{display:none}
  .mfai-sec{padding-block:52px 0}
  .mfai-search{padding-left:16px;border-radius:16px}
  .mfai-search input{padding:12px 0;font-size:15px}
  .mfai-marq::before,.mfai-marq::after{width:56px}
  .mfai-mw{font-size:20px}
  .mfai-mtrack{gap:36px;padding-right:36px}
  .mfai-grid,.mfai-picks,.mfai-auds,.mfai-cats,.mfai-posts{grid-template-columns:minmax(0,1fr)}
  .mfai-posts .mfai-post:last-child{grid-column:auto}
  .mfai-aud{min-height:112px}
  .mfai-ranked a{grid-template-columns:28px minmax(0,1fr) auto;row-gap:4px;column-gap:14px;padding:14px 16px}
  .mfai-rv{grid-column:2;grid-row:2;font-size:12.5px;color:var(--text-3)}
  .mfai-rt{grid-column:3;grid-row:1 / 3}
  .mfai-panel{margin-top:52px}
}
@media (max-width:420px){
  .mfai-cta .mfai-btn{flex:1 1 auto}
}
@media (prefers-reduced-motion:reduce){
  .mfai-mtrack{animation:none}
  .mfai-mrow{overflow-x:auto;scrollbar-width:none}
  .mfai-mrow::-webkit-scrollbar{display:none}
  .mfai *,.mfai *::before,.mfai *::after{animation:none!important;transition:none!important}
}
