/* MatchFast Home
   Everything is scoped to #mf-home so the Elementor header and footer, the
   Get Matched popup and the site-wide brand CSS are untouched. The id also
   out-ranks the global brand rules that colour h1-h6 and links, which would
   otherwise put near-black headings on this dark page. */

#mf-home{
  --royal:#4F46FF;--sky:#3B82F6;--indigo:#1E1B4B;
  --lav:#E9D8FF;--ice:#EFF6FF;--char:#0B0F1A;--white:#F8FAFF;
  --bg:#070A12;
  --surface:rgba(255,255,255,.035);
  --surface-2:rgba(255,255,255,.055);
  --line:rgba(255,255,255,.09);
  --line-2:rgba(255,255,255,.16);
  --dim:rgba(248,250,255,.66);
  --dimmer:rgba(248,250,255,.5);
  --display:"DM Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --body:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --gut:clamp(1.15rem,4vw,4rem);
  --max:1320px;
  --r:14px;

  position:relative;display:block;background:var(--bg);color:var(--white);
  font-family:var(--body);font-size:16.5px;line-height:1.62;
  -webkit-font-smoothing:antialiased;overflow-x:clip;isolation:isolate;
}
:where(#mf-home) *,:where(#mf-home) *::before,:where(#mf-home) *::after{box-sizing:border-box}
:where(#mf-home) :is(h1,h2,h3,h4,p,ol,ul,li,figure,blockquote){margin:0;padding:0}
:where(#mf-home) :is(ol,ul){list-style:none}
#mf-home :is(h1,h2,h3,h4){font-family:var(--display);letter-spacing:-.035em;line-height:1.05;font-weight:700;color:inherit}
#mf-home a{color:inherit;text-decoration:none}
#mf-home a:hover{color:inherit}
#mf-home img{max-width:100%;display:block}
#mf-home .wrap{max-width:var(--max);margin-inline:auto;padding-inline:var(--gut)}

/* film grain: stops flat brand colour reading as a template */
#mf-home::after{
  content:"";position:fixed;inset:0;z-index:50;pointer-events:none;opacity:.045;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ══ shared atoms ══ */
#mf-home .kicker{font-family:var(--mono);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--sky);display:inline-block;margin-bottom:1rem}
#mf-home .stamp{font-family:var(--mono);font-size:.68rem;letter-spacing:.05em;color:var(--dimmer)}
#mf-home .sec{padding-block:clamp(2.25rem,4.5vw,4rem);position:relative}
/* consecutive sections on the same dark ground share one gap, not two */
#mf-home .sec:not(.sec--ice):not(.counts) + .sec:not(.sec--ice):not(.counts){padding-top:clamp(.75rem,1.5vw,1.25rem)}
#mf-home .sec--tight{padding-block:clamp(1.5rem,3vw,2.5rem)}
#mf-home .head{margin-bottom:clamp(1.4rem,2.6vw,2.1rem)}
#mf-home .head h2{font-size:clamp(1.7rem,3.4vw,2.7rem);max-width:24ch;line-height:1.08}
#mf-home .head.center{text-align:center}
#mf-home .head.center h2{margin-inline:auto}
#mf-home .head p{color:var(--dim);max-width:52ch;margin-top:.9rem}
#mf-home .head.center p{margin-inline:auto}
#mf-home .head--row{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}
#mf-home .head-note{color:var(--dimmer);font-size:.84rem;max-width:34ch;margin:0}
#mf-home .rail-nav{display:flex;gap:.5rem}
#mf-home .rail-btn{width:44px;height:44px;border-radius:50%;border:1px solid var(--line-2);background:rgba(255,255,255,.04);color:var(--white);
  font-size:1.05rem;line-height:1;cursor:pointer;transition:background .2s,border-color .2s,opacity .2s}
#mf-home .rail-btn:hover:not(:disabled){background:var(--royal);border-color:var(--royal)}
#mf-home .rail-btn:disabled{opacity:.35;cursor:default}
#mf-home .head h2.h-sm{font-size:clamp(1.4rem,2.6vw,2rem);max-width:none}
#mf-home .h-md{font-size:clamp(1.7rem,3.6vw,2.8rem)}
#mf-home .grad-text{background:linear-gradient(104deg,var(--white) 18%,var(--sky) 52%,var(--lav) 88%);-webkit-background-clip:text;background-clip:text;color:transparent}
#mf-home a.inline{color:var(--sky);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
#mf-home a.inline:hover{color:var(--lav)}

#mf-home .btn{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--display);font-weight:500;
  font-size:.92rem;line-height:1.2;padding:.78rem 1.35rem;border-radius:100px;background:var(--royal);color:#fff;
  border:1px solid transparent;cursor:pointer;transition:.22s cubic-bezier(.2,.7,.3,1);position:relative;overflow:hidden}
#mf-home .btn::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.28),transparent 70%);transform:translateX(-120%);transition:transform .6s}
#mf-home .btn:hover{color:#fff;box-shadow:0 10px 34px -10px rgba(79,70,255,.85);transform:translateY(-2px)}
#mf-home .btn:hover::after{transform:translateX(120%)}
#mf-home .btn--g{background:rgba(255,255,255,.04);border-color:var(--line-2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
#mf-home .btn--g:hover{background:rgba(255,255,255,.1);box-shadow:none}
#mf-home .ar{display:inline-block;transition:transform .25s}
#mf-home .btn:hover .ar,#mf-home a:hover > h3 .ar,#mf-home .pill:hover .ar{transform:translateX(4px)}

/* glass card + gradient hairline on hover */
#mf-home .glass{position:relative;background:var(--surface);border-radius:var(--r);border:1px solid var(--line);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:.3s cubic-bezier(.2,.7,.3,1)}
#mf-home .glass::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;opacity:0;transition:opacity .3s;pointer-events:none;
  background:linear-gradient(135deg,var(--royal),var(--sky) 45%,transparent 75%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
#mf-home a.glass:hover{transform:translateY(-4px);background:var(--surface-2)}
#mf-home a.glass:hover::before,#mf-home a.glass:focus-visible::before{opacity:1}

/* mouse-tracked spotlight */
#mf-home .spot{overflow:hidden}
#mf-home .spot::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .35s;
  background:radial-gradient(360px circle at var(--mx,50%) var(--my,50%),rgba(79,70,255,.22),transparent 62%)}
#mf-home .spot:hover::after{opacity:1}

/* reveal: only elements below the fold at load are hidden, and only once JS runs */
#mf-home .rv-wait{opacity:0;transform:translateY(26px)}
#mf-home .rv{transition:opacity .8s cubic-bezier(.2,.7,.3,1),transform .8s cubic-bezier(.2,.7,.3,1)}

/* ══ 1. HERO ══ */
#mf-home .hero{position:relative;padding-block:clamp(2rem,4.5vw,3.75rem) clamp(1.75rem,3.5vw,2.75rem);overflow:hidden;
  background:linear-gradient(180deg,rgba(30,27,75,.55) 0,rgba(30,27,75,0) 340px)}
#mf-home .orb{position:absolute;border-radius:50%;filter:blur(90px);pointer-events:none}
#mf-home .orb-1{width:640px;height:640px;top:-260px;right:-180px;background:radial-gradient(circle,rgba(79,70,255,.55),transparent 66%);animation:mfh-drift 22s ease-in-out infinite}
#mf-home .orb-2{width:520px;height:520px;top:120px;left:-220px;background:radial-gradient(circle,rgba(59,130,246,.38),transparent 66%);animation:mfh-drift 28s ease-in-out infinite reverse}
@keyframes mfh-drift{0%,100%{transform:translate(0,0)}50%{transform:translate(50px,40px)}}
#mf-home .grid-bg{position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:66px 66px;
  -webkit-mask:radial-gradient(ellipse 80% 55% at 50% 12%,#000,transparent 72%);
  mask:radial-gradient(ellipse 80% 55% at 50% 12%,#000,transparent 72%)}
#mf-home .hero-in{position:relative;z-index:2;text-align:center}
#mf-home .pill{display:inline-flex;align-items:center;gap:.6rem;padding:.42rem .95rem .42rem .5rem;border-radius:100px;max-width:100%;
  background:rgba(255,255,255,.05);border:1px solid var(--line-2);font-size:.8rem;color:var(--dim);margin-bottom:1.35rem;transition:border-color .2s,color .2s;text-align:left}
#mf-home a.pill:hover{border-color:var(--sky);color:var(--white)}
#mf-home .pill b{background:var(--royal);color:#fff;font-size:.66rem;font-family:var(--mono);letter-spacing:.06em;padding:.2rem .5rem;border-radius:100px;font-weight:500;flex:0 0 auto}
#mf-home .hero h1{font-size:clamp(2.35rem,5.4vw,4.5rem);max-width:17ch;margin:0 auto 1.1rem;line-height:1.02}
#mf-home .hero .lede{color:var(--dim);font-size:clamp(1rem,1.4vw,1.12rem);max-width:58ch;margin:0 auto 1.6rem}
#mf-home .hero .cta{display:flex;gap:.7rem;justify-content:center;flex-wrap:wrap;margin-bottom:2rem}
#mf-home .hero-links{margin:1.1rem 0 0;font-size:.9rem;color:var(--dimmer)}
#mf-home .hero-links a{color:var(--dim);text-decoration:underline;text-decoration-color:var(--line-2);text-underline-offset:4px;transition:color .2s,text-decoration-color .2s}
#mf-home .hero-links a:hover{color:var(--white);text-decoration-color:var(--sky)}
#mf-home .hero-links span{margin-inline:.55rem}
#mf-home .hero .lede + .finder{margin-top:.4rem}

/* ══ 2. SEARCH — the live [bor_finder], restyled to the brand ══ */
#mf-home .finder{position:relative;z-index:3;max-width:880px;margin:0 auto}
#mf-home .finder .mffind-box{background:rgba(255,255,255,.07);border:1px solid var(--line-2);border-radius:14px;
  -webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 24px 70px -30px rgba(79,70,255,.75)}
#mf-home .finder .mffind-box:focus-within{outline:2px solid var(--sky);outline-offset:2px}
#mf-home .finder .mffind-box input{color:var(--white);font-family:var(--body)}
#mf-home .finder .mffind-box input::placeholder{color:var(--dimmer)}
#mf-home .finder .mffind-box svg{color:var(--white);opacity:.6}
#mf-home .finder .mffind-clear{color:var(--dimmer)}
#mf-home .finder .mffind-drop{border-radius:12px;box-shadow:0 22px 60px -20px rgba(7,10,18,.8)}
#mf-home .finder .mffind-item{color:var(--char)}
#mf-home .finder .mffind-item:hover,#mf-home .finder .mffind-item.act{background:var(--ice);color:var(--royal)}
#mf-home .finder .mffind-go{background:var(--royal);color:#fff;font-family:var(--display);font-weight:600;border-radius:100px}
#mf-home .finder .mffind-go:hover{background:#6a62ff;color:#fff}
#mf-home .finder .mffind-or{color:var(--dimmer)}
#mf-home .finder .mffind-sbrief{font-family:var(--display);font-weight:600;border-radius:100px;border-color:var(--line-2);color:var(--white)}
#mf-home .finder .mffind-sbrief:hover{border-color:var(--sky);color:var(--sky)}
#mf-home .search{position:relative;z-index:3;max-width:820px;margin:0 auto;padding:.5rem;border-radius:100px;
  background:rgba(255,255,255,.06);border:1px solid var(--line-2);display:flex;gap:.4rem}
#mf-home .search input{flex:1;min-width:0;background:transparent;border:0;color:var(--white);font-size:.95rem;padding:.75rem 1.1rem}
#mf-home .search input::placeholder{color:var(--dimmer)}

/* hero stat strip */
#mf-home .strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin-top:2rem}
#mf-home .strip > div{background:var(--bg);padding:1.15rem 1rem;text-align:center}
#mf-home .strip .n{font-family:var(--display);font-weight:700;font-size:clamp(1.7rem,3.4vw,2.6rem);letter-spacing:-.04em;line-height:1.1;
  background:linear-gradient(160deg,var(--white),var(--sky));-webkit-background-clip:text;background-clip:text;color:transparent}
#mf-home .strip .l{font-size:.78rem;color:var(--dimmer);margin-top:.3rem}
@media(max-width:720px){#mf-home .strip{grid-template-columns:1fr 1fr}}

/* ══ 3. TRENDING — horizontal snap rail ══ */
#mf-home .rail{display:flex;gap:1.15rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding-block:.3rem .6rem;
  margin-inline:calc(var(--gut)*-1);padding-inline:var(--gut);scroll-padding-inline:var(--gut);scrollbar-width:none;-ms-overflow-style:none}
#mf-home .rail::-webkit-scrollbar{display:none}
#mf-home .rail > *{scroll-snap-align:start;flex:0 0 clamp(250px,30vw,336px)}
#mf-home .tcard{padding:1.3rem;display:flex;flex-direction:column;gap:.85rem}
/* Featured images are 16:9 banners with text on them, so the frame matches
   that ratio and shows the image at full strength instead of cropping it. */
#mf-home .thumb{aspect-ratio:16/9;border-radius:9px;background:linear-gradient(135deg,var(--indigo),var(--royal) 62%,var(--sky));position:relative;overflow:hidden}
#mf-home .thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .5s cubic-bezier(.2,.7,.3,1)}
#mf-home a.glass:hover .thumb img{transform:scale(1.03)}
#mf-home .thumb--logo{background:#fff}
#mf-home .thumb--logo img{object-fit:contain;padding:14% 18%}
#mf-home .tcard .thumb span{position:absolute;right:.55rem;bottom:-.3em;z-index:2;font-family:var(--display);font-weight:700;font-size:4.6rem;line-height:1;color:rgba(255,255,255,.16);letter-spacing:-.05em}
#mf-home .tcard h3{font-size:1.04rem;line-height:1.3;transition:color .2s}
#mf-home .tcard:hover h3{color:var(--sky)}

/* ══ 4. DIRECTORIES — bento ══ */
#mf-home .bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(132px,auto);gap:1rem}
#mf-home .bento > *{padding:1.35rem 1.5rem;display:flex;flex-direction:column;justify-content:flex-end;gap:.35rem}
#mf-home .b-a{grid-column:span 2;grid-row:span 2;background:linear-gradient(150deg,rgba(79,70,255,.28),rgba(11,15,26,.2) 58%)}
#mf-home .b-b,#mf-home .b-e,#mf-home .b-f{grid-column:span 2}
#mf-home .bento-eg{font-size:.8rem;color:var(--dimmer);line-height:1.45;margin-top:.15rem}
#mf-home .b-c,#mf-home .b-d{grid-column:span 1}
#mf-home .bento h3{font-size:1.1rem;line-height:1.2}
#mf-home .b-a h3{font-size:clamp(1.4rem,2.6vw,2rem)}
#mf-home .bento p{font-size:.86rem;color:var(--dim);max-width:40ch}
#mf-home .bento-num{position:absolute;top:1.1rem;right:1.4rem;font-family:var(--display);font-weight:700;font-size:clamp(4rem,9vw,7.5rem);line-height:1;letter-spacing:-.06em;color:rgba(255,255,255,.07)}
@media(max-width:860px){#mf-home .bento{grid-template-columns:repeat(2,1fr);grid-auto-rows:auto}#mf-home .b-a,#mf-home .b-b,#mf-home .b-e,#mf-home .b-f{grid-column:span 2}#mf-home .b-a{grid-row:auto;min-height:190px}#mf-home .bento > *{min-height:118px}}
@media(max-width:480px){#mf-home .bento{grid-template-columns:1fr}#mf-home .bento > *{grid-column:auto!important;min-height:0}#mf-home .bento-num{font-size:3.6rem}}

/* ══ 5. CATEGORY MARQUEE ══ */
#mf-home .mq{overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);mask:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}
#mf-home .mq + .mq{margin-top:.6rem}
#mf-home .sec--tight .head{margin-bottom:1.1rem}
#mf-home .mq-in{display:flex;gap:.7rem;width:max-content;animation:mfh-slide 60s linear infinite}
#mf-home .mq--rev .mq-in{animation-duration:72s;animation-direction:reverse}
#mf-home .mq:hover .mq-in,#mf-home .mq:focus-within .mq-in{animation-play-state:paused}
@keyframes mfh-slide{to{transform:translateX(-50%)}}
#mf-home .chip{white-space:nowrap;padding:.6rem 1.15rem;border-radius:100px;border:1px solid var(--line);
  background:var(--surface);font-size:.88rem;transition:.22s}
#mf-home .chip:hover{border-color:var(--sky);color:var(--sky);background:rgba(59,130,246,.08)}
#mf-home .chip i{font-style:normal;font-family:var(--mono);font-size:.7rem;color:var(--dimmer);margin-left:.5rem}

/* ══ 6. TESTIMONIALS ══ */
#mf-home .quotes{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:1.15rem;align-items:start}
#mf-home .quotes > *{padding:1.6rem}
#mf-home .q-lead{grid-row:span 2;background:linear-gradient(160deg,rgba(79,70,255,.2),transparent 62%)}
#mf-home .q-lead blockquote{font-family:var(--display);font-size:clamp(1.2rem,2.2vw,1.72rem);line-height:1.28;letter-spacing:-.03em;margin-bottom:1.5rem}
#mf-home .q-sm blockquote{font-size:.92rem;color:var(--dim)}
#mf-home .q-sm:nth-child(3){transform:translateY(22px)}
#mf-home .who{display:flex;align-items:center;gap:.7rem;margin-top:1.1rem}
#mf-home .av{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--royal),var(--sky));flex:0 0 auto;
  display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:.8rem}
#mf-home .who b{display:block;font-size:.86rem;font-weight:600}
#mf-home .who span span{font-size:.76rem;color:var(--dimmer)}
@media(max-width:900px){#mf-home .quotes{grid-template-columns:1fr}#mf-home .q-lead{grid-row:auto}#mf-home .q-sm:nth-child(3){transform:none}}

/* ══ 7. HOW IT WORKS — connected steps ══ */
#mf-home .flow{display:grid;grid-template-columns:repeat(3,1fr);gap:1.15rem;position:relative}
#mf-home .flow::before{content:"";position:absolute;top:52px;left:12%;right:12%;height:1px;
  background:linear-gradient(90deg,transparent,var(--royal),var(--sky),transparent)}
#mf-home .step{text-align:center;padding:1.6rem 1.3rem;position:relative;background:#0c1020}
#mf-home .step .dot{width:52px;height:52px;border-radius:50%;margin:0 auto 1.1rem;display:grid;place-items:center;
  background:var(--bg);border:1px solid var(--line-2);font-family:var(--mono);font-size:.82rem;color:var(--sky);position:relative;z-index:2}
#mf-home .step h3{font-size:1.12rem;margin-bottom:.45rem}
#mf-home .step p{font-size:.9rem;color:var(--dim)}
#mf-home .flow-cta{text-align:center;margin-top:1.6rem}
@media(max-width:820px){#mf-home .flow{grid-template-columns:1fr}#mf-home .flow::before{display:none}}

/* ══ 8. SOFTWARE — sticky split ══ */
#mf-home .split{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,5vw,5rem);align-items:start}
#mf-home .split-l{position:sticky;top:120px}
#mf-home .split-p{color:var(--dim);margin:1rem 0 1.6rem;max-width:36ch}
@media(max-width:900px){#mf-home .split{grid-template-columns:1fr}#mf-home .split-l{position:static}}
#mf-home .plist{display:grid;gap:.85rem}
#mf-home .prow{display:grid;grid-template-columns:auto 1fr auto;gap:1.2rem;align-items:center;padding:1.15rem 1.35rem}
#mf-home .prow .rk{font-family:var(--display);font-weight:700;font-size:1.5rem;letter-spacing:-.04em;color:var(--line-2);min-width:2.1rem;transition:color .25s}
#mf-home .prow:hover .rk{color:var(--sky)}
#mf-home .prow h3{font-size:1.02rem;margin-bottom:.18rem;line-height:1.25}
#mf-home .prow p{font-size:.84rem;color:var(--dimmer)}
#mf-home .score{font-family:var(--mono);font-size:.82rem;color:var(--sky);padding:.32rem .6rem;border-radius:6px;background:rgba(59,130,246,.1);border:1px solid rgba(59,130,246,.22)}

/* ══ 9. RANKINGS — magazine grid on a light ice band ══ */
#mf-home .sec--ice{background:var(--ice);color:var(--char)}
#mf-home .sec--ice .kicker{color:var(--royal)}
#mf-home .sec--ice .stamp{color:rgba(11,15,26,.58)}
#mf-home .sec--ice .glass{background:#fff;border-color:rgba(30,27,75,.1);box-shadow:0 1px 2px rgba(30,27,75,.05)}
#mf-home .sec--ice a.glass:hover{background:#fff;box-shadow:0 18px 44px -22px rgba(30,27,75,.35)}
#mf-home .sec--ice .spot::after{background:radial-gradient(360px circle at var(--mx,50%) var(--my,50%),rgba(79,70,255,.08),transparent 62%)}
#mf-home .sec--ice .btn--g{background:transparent;color:var(--royal);border-color:var(--royal)}
#mf-home .sec--ice .btn--g:hover{background:var(--royal);color:#fff}
#mf-home .mag{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:1.15rem}
#mf-home .mag > *{padding:1.35rem;display:flex;flex-direction:column;gap:.75rem}
#mf-home .m-hero{grid-row:span 2}
#mf-home .mag .thumb{aspect-ratio:16/9}

#mf-home .mag .thumb b{position:absolute;left:.6rem;bottom:-.28em;z-index:2;font-family:var(--display);font-size:5.2rem;line-height:1;color:rgba(255,255,255,.2);letter-spacing:-.05em}
#mf-home .m-hero h3{font-size:clamp(1.25rem,2.3vw,1.7rem);line-height:1.15}
#mf-home .mag h3{font-size:1rem;line-height:1.32;transition:color .2s}
#mf-home .mag a:hover h3{color:var(--royal)}
#mf-home .mag-ex{color:rgba(11,15,26,.72);font-size:.92rem}
#mf-home .mag > * > .stamp,#mf-home .tcard > .stamp,#mf-home .op > .stamp{margin-top:auto}
@media(max-width:900px){#mf-home .mag{grid-template-columns:1fr 1fr}#mf-home .m-hero{grid-column:span 2;grid-row:auto}}
@media(max-width:600px){#mf-home .mag{grid-template-columns:1fr}#mf-home .m-hero{grid-column:auto}}

/* ══ 10. ANALYSIS ══ */
#mf-home .ops{display:grid;grid-template-columns:repeat(3,1fr);gap:1.15rem}
#mf-home .op{padding:1.7rem;display:flex;flex-direction:column;gap:1rem}
#mf-home .op::before{content:"\201C";position:absolute;top:.4rem;right:1.1rem;font-family:var(--display);font-size:5rem;color:rgba(255,255,255,.07);line-height:1;opacity:1;background:none;padding:0;-webkit-mask:none;mask:none}
#mf-home .op h3{font-size:1.14rem;line-height:1.3;padding-right:2.5rem}
#mf-home .op p{font-size:.9rem;color:var(--dim);flex:1}
@media(max-width:860px){#mf-home .ops{grid-template-columns:1fr}}

/* ══ 11. COUNTERS ══ */
#mf-home .counts{background:linear-gradient(120deg,rgba(30,27,75,.85),rgba(79,70,255,.22));border-block:1px solid var(--line);padding-block:clamp(2.25rem,4.5vw,3.5rem)}
#mf-home .cgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;text-align:center}
#mf-home .cgrid .n{font-family:var(--display);font-weight:700;font-size:clamp(2.1rem,5vw,3.6rem);letter-spacing:-.045em;line-height:1.1;font-variant-numeric:tabular-nums}
#mf-home .cgrid .l{font-size:.84rem;color:var(--dim);margin-top:.35rem}
@media(max-width:760px){#mf-home .cgrid{grid-template-columns:1fr 1fr;gap:1.6rem}}

/* ══ 12. LEADERBOARD ══ */
#mf-home .board{border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
#mf-home .brow{display:grid;grid-template-columns:56px 1fr auto auto;gap:1.2rem;align-items:center;
  padding:1.05rem 1.4rem;border-bottom:1px solid var(--line);transition:background .25s}
#mf-home .brow:last-child{border-bottom:0}
#mf-home .brow:hover{background:var(--surface)}
#mf-home .brow h3{font-size:1rem;line-height:1.3;margin-bottom:.15rem}
#mf-home .brow h3 a:hover{color:var(--sky)}
#mf-home .badge{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:.9rem;
  background:var(--surface-2);border:1px solid var(--line)}
#mf-home .brow:first-child .badge{background:linear-gradient(135deg,var(--royal),var(--sky));border-color:transparent}
#mf-home .bar{width:clamp(70px,14vw,150px);height:5px;border-radius:99px;background:var(--line);overflow:hidden}
#mf-home .bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--royal),var(--sky))}
@media(max-width:700px){#mf-home .brow{grid-template-columns:44px 1fr auto}#mf-home .bar{display:none}}

/* ══ 13. PROJECT FIT PANEL ══ */
#mf-home .edge{position:relative;border-radius:22px;overflow:hidden;border:1px solid var(--line-2);
  background:linear-gradient(140deg,rgba(79,70,255,.3),rgba(7,10,18,.6) 55%);padding:clamp(2rem,5vw,4.5rem)}
#mf-home .edge .orb{width:420px;height:420px;top:-160px;right:-90px;background:radial-gradient(circle,rgba(59,130,246,.5),transparent 66%)}
#mf-home .edge-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.1fr 1fr;gap:3rem;align-items:center}
#mf-home .edge h2{font-size:clamp(1.7rem,3.8vw,2.9rem);margin-bottom:1rem}
#mf-home .edge p{color:var(--dim);max-width:46ch;margin-bottom:1.8rem}
#mf-home .mini{display:grid;gap:.65rem}
#mf-home .mini li{display:flex;gap:.8rem;align-items:flex-start;padding:.95rem 1.15rem;border-radius:10px;background:rgba(255,255,255,.045);border:1px solid var(--line)}
#mf-home .mini b{font-family:var(--mono);font-size:.72rem;color:var(--sky);padding-top:.16rem}
#mf-home .mini p{margin:0;font-size:.89rem;color:var(--dim)}
@media(max-width:860px){#mf-home .edge-grid{grid-template-columns:1fr;gap:2rem}}

/* ══ 14. VERIFY ══ */
#mf-home .checks{display:grid;grid-template-columns:repeat(4,1fr);gap:1.05rem}
#mf-home .check{padding:1.6rem 1.35rem}
#mf-home .check .ic{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;margin-bottom:1.05rem;
  background:linear-gradient(140deg,rgba(79,70,255,.35),rgba(59,130,246,.15));border:1px solid var(--line-2)}
#mf-home .check h3{font-size:1.02rem;margin-bottom:.4rem}
#mf-home .check p{font-size:.88rem;color:var(--dim)}
@media(max-width:900px){#mf-home .checks{grid-template-columns:1fr 1fr}}
@media(max-width:560px){#mf-home .checks{grid-template-columns:1fr}}

/* ══ 15. RECENTLY UPDATED — index rows ══ */
#mf-home .idx{border-top:1px solid var(--line-2)}
#mf-home .irow{display:grid;grid-template-columns:7rem 1fr auto;gap:clamp(1rem,3vw,2.5rem);align-items:baseline;
  padding-block:1.5rem;border-bottom:1px solid var(--line);transition:.25s}
#mf-home .irow:hover{padding-left:.9rem;background:var(--surface)}
#mf-home .irow h3{font-size:clamp(1rem,1.8vw,1.28rem);max-width:46ch;line-height:1.3;transition:color .2s}
#mf-home .irow:hover h3{color:var(--sky)}
@media(max-width:700px){#mf-home .irow{grid-template-columns:1fr;gap:.35rem}}

/* ══ 16. METHOD — accordion ══ */
#mf-home .acc{display:grid;gap:.7rem;max-width:840px;margin-inline:auto}
#mf-home details{border:1px solid var(--line);border-radius:12px;background:var(--surface);overflow:hidden;transition:border-color .25s}
#mf-home details[open]{border-color:var(--line-2)}
#mf-home summary{cursor:pointer;list-style:none;padding:1.15rem 1.4rem;display:flex;align-items:center;gap:1rem;
  font-family:var(--display);font-weight:500;font-size:1.02rem;line-height:1.35}
#mf-home summary::-webkit-details-marker{display:none}
#mf-home summary b{font-family:var(--mono);font-size:.72rem;color:var(--sky);font-weight:400}
#mf-home summary .pl{margin-left:auto;transition:transform .3s;color:var(--dimmer);font-size:1.2rem}
#mf-home details[open] summary .pl{transform:rotate(45deg)}
#mf-home details p{padding:0 1.4rem 1.35rem 4.05rem;color:var(--dim);font-size:.93rem}
@media(max-width:560px){#mf-home details p{padding-left:1.4rem}}

#mf-home :focus-visible{outline:2px solid var(--sky);outline-offset:3px}
#mf-home .screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}

/* ══ responsive polish ══ */
@media(max-width:1024px){
  #mf-home .split-l{top:96px}
  #mf-home .edge-grid{gap:2rem}
}
@media(max-width:720px){
  #mf-home{font-size:16px}
  #mf-home .head--row{align-items:flex-start;gap:.9rem}
  #mf-home .head--row .btn{padding:.6rem 1.05rem;font-size:.85rem}
  #mf-home .head-note{max-width:none}
  #mf-home .rail-btn{width:38px;height:38px}
  #mf-home .rail > *{flex-basis:78vw}
  #mf-home .hero .cta .btn{flex:1 1 auto;justify-content:center}
  #mf-home .pill{font-size:.74rem;line-height:1.35}
  #mf-home .strip .l{font-size:.72rem}
  #mf-home .prow{grid-template-columns:auto 1fr;gap:.9rem;padding:1rem 1.1rem}
  #mf-home .prow .score{grid-column:2;justify-self:start}
  #mf-home .brow{gap:.8rem;padding:.9rem 1rem}
  #mf-home .edge{border-radius:16px}
  #mf-home .q-lead blockquote{font-size:1.15rem}
  #mf-home details p{font-size:.9rem}
  #mf-home summary{padding:1rem 1.1rem;font-size:.97rem}
  #mf-home .finder .mffind-ctas{flex-wrap:wrap}
  #mf-home .finder .mffind-go,#mf-home .finder .mffind-sbrief{flex:1 1 100%}
  #mf-home .finder .mffind-or{display:none}
}
@media(max-width:380px){
  #mf-home .strip .n{font-size:1.45rem}
}

@media(prefers-reduced-motion:reduce){
  #mf-home *,#mf-home *::before,#mf-home *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  #mf-home .rv-wait{opacity:1;transform:none}
  #mf-home .mq-in{animation:none!important}
  #mf-home .mq{overflow-x:auto}
}

/* ══════════════════════════════════════════════════════════════════════
   MatchFast Core additions: design tokens, device visibility and the
   alternate section templates. Everything above this line is the MatchFast
   Home stylesheet, unchanged, so imported layouts look exactly like today.
   ══════════════════════════════════════════════════════════════════════ */

/* design tokens */
#mf-home .mfc-bg--surface{background:linear-gradient(180deg,rgba(255,255,255,.028),rgba(255,255,255,.012));border-block:1px solid var(--line)}
#mf-home .mfc-bg--glow{background:radial-gradient(900px 420px at 50% 0%,rgba(79,70,255,.18),transparent 70%)}
#mf-home .mfc-sp--roomy{padding-block:clamp(3.5rem,7vw,6.5rem)}
#mf-home .mfc-w--narrow > .wrap{max-width:920px}
#mf-home .mfc-w--wide > .wrap{max-width:1560px}
#mf-home .sec.mfc-bg--surface + .sec,#mf-home .sec.mfc-bg--glow + .sec{padding-top:clamp(2.25rem,4.5vw,4rem)}

/* device visibility: desktop > 1024, tablet 768–1024, mobile < 768 */
@media (min-width:1025px){#mf-home .mfc-hide-desktop{display:none!important}}
@media (min-width:768px) and (max-width:1024px){#mf-home .mfc-hide-tablet{display:none!important}}
@media (max-width:767px){#mf-home .mfc-hide-mobile{display:none!important}}

/* shared */
#mf-home .mfc-more{margin-top:clamp(1.2rem,2.4vw,1.8rem)}
#mf-home .mfc-more.center{text-align:center}
#mf-home .mfc-actions{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center}
#mf-home .mfc-actions.center{justify-content:center}
#mf-home .mfc-narrow-list{max-width:880px}
#mf-home .mfc-ex{color:var(--dim);font-size:.9rem;line-height:1.55}
#mf-home .mfc-note-below{margin-top:1rem;max-width:60ch}

/* hero 02 / 03 */
#mf-home .mfc-hero--centered .hero-in{text-align:center}
#mf-home .mfc-hero--centered .cta,#mf-home .mfc-hero--centered .search{margin-inline:auto;justify-content:center}
#mf-home .mfc-hero-split{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(1.5rem,4vw,4rem);align-items:center;text-align:left}
#mf-home .mfc-hero-split .lede{margin-inline:0}
#mf-home .mfc-hero-split__stats{display:grid;gap:1px;background:var(--line);padding:0;overflow:hidden;margin:0}
#mf-home .mfc-hero-split__stats > div{background:rgba(7,10,18,.72);padding:1.15rem 1.35rem;display:flex;justify-content:space-between;align-items:baseline;gap:1rem}
#mf-home .mfc-hero-split__stats dt{color:var(--dim);font-size:.86rem}
#mf-home .mfc-hero-split__stats dd{margin:0;font-family:var(--display);font-weight:700;font-size:1.6rem;letter-spacing:-.03em}
@media(max-width:900px){#mf-home .mfc-hero-split{grid-template-columns:1fr}}

/* stats strip */
#mf-home .mfc-strip{margin-top:0}

/* card grids (feed cards, company cards, testimonial grid) */
#mf-home .mfc-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.15rem}
@media(max-width:1000px){#mf-home .mfc-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){#mf-home .mfc-cards{grid-template-columns:1fr}}

#mf-home .mfc-co{padding:1.4rem;display:flex;flex-direction:column;gap:.75rem}
#mf-home .mfc-co__logo{width:56px;height:56px;border-radius:12px;background:#fff;display:grid;place-items:center;overflow:hidden;flex:none}
#mf-home .mfc-co__logo img{width:100%;height:100%;object-fit:contain;padding:6px}
#mf-home .mfc-co__logo b{font-family:var(--display);font-size:1.4rem;color:var(--indigo)}
#mf-home .mfc-co h3{font-size:1.08rem;line-height:1.3}
#mf-home .mfc-co p{color:var(--dim);font-size:.9rem}
#mf-home .mfc-co__foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:.8rem}

/* logo grid */
#mf-home .mfc-logos{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.9rem}
#mf-home .mfc-logos a{display:flex;flex-direction:column;align-items:center;gap:.7rem;padding:1.2rem 1rem;text-align:center;height:100%}
#mf-home .mfc-logos img{height:44px;width:auto;max-width:130px;object-fit:contain;background:#fff;border-radius:8px;padding:6px}
#mf-home .mfc-logos span{font-size:.86rem;color:var(--dim)}

/* horizontal cards */
#mf-home .mfc-hcard{flex:0 0 min(340px,82%);scroll-snap-align:start;display:grid;grid-template-columns:56px 1fr auto;gap:.9rem;align-items:center;padding:1rem 1.1rem}
#mf-home .mfc-hcard h3{font-size:1rem;line-height:1.3}

/* directory tiles */
#mf-home .mfc-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
#mf-home .mfc-tile{padding:1.4rem;display:flex;flex-direction:column;gap:.55rem;min-height:140px}
#mf-home .mfc-tile h3{font-size:1.15rem}
@media(max-width:900px){#mf-home .mfc-tiles{grid-template-columns:1fr 1fr}}
@media(max-width:520px){#mf-home .mfc-tiles{grid-template-columns:1fr}}

/* chip cloud */
#mf-home .mfc-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:.55rem;margin-bottom:.9rem}

/* steps list, checklist */
#mf-home .mfc-steps-list li{align-items:flex-start}
#mf-home .mfc-steps-list h3{font-size:1rem;margin-bottom:.25rem}
#mf-home .mfc-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem 2.2rem}
#mf-home .mfc-checklist li{display:grid;grid-template-columns:40px 1fr;gap:1rem;align-items:start}
#mf-home .mfc-checklist .ic{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;background:rgba(79,70,255,.16);color:var(--sky);font-size:1.1rem}
#mf-home .mfc-checklist h3{font-size:1.05rem;margin-bottom:.3rem}
#mf-home .mfc-checklist p{color:var(--dim);font-size:.92rem}
@media(max-width:700px){#mf-home .mfc-checklist{grid-template-columns:1fr}}

/* compact band (matcher compact, CTA 01) */
#mf-home .mfc-edge--compact{padding:clamp(1.6rem,3.5vw,2.6rem)}
#mf-home .mfc-band{position:relative;display:flex;align-items:center;justify-content:space-between;gap:1.5rem 2.5rem;flex-wrap:wrap}
#mf-home .mfc-band h2{font-size:clamp(1.45rem,2.8vw,2.1rem);max-width:28ch}
#mf-home .mfc-band p{color:var(--dim);max-width:60ch;margin-top:.6rem}

/* CTA 02 card, CTA 03 split */
#mf-home .mfc-cta-card{max-width:860px;margin-inline:auto;padding:clamp(1.8rem,4vw,3rem)}
#mf-home .mfc-cta-card .head{margin-bottom:1.4rem}
#mf-home .mfc-cta-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.2rem,4vw,4rem);align-items:end}
#mf-home .mfc-cta-split h2{font-size:clamp(1.7rem,3.4vw,2.7rem)}
#mf-home .mfc-cta-split p{color:var(--dim);margin-bottom:1.2rem}
@media(max-width:800px){#mf-home .mfc-cta-split{grid-template-columns:1fr}}

/* FAQ two columns */
#mf-home .mfc-faq2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.6rem 2.6rem;margin:0}
#mf-home .mfc-faq2 dt{font-family:var(--display);font-weight:700;font-size:1.08rem;letter-spacing:-.02em;margin-bottom:.45rem}
#mf-home .mfc-faq2 dd{margin:0;color:var(--dim);font-size:.94rem}
@media(max-width:760px){#mf-home .mfc-faq2{grid-template-columns:1fr}}

/* custom content */
#mf-home .mfc-prose-wrap{max-width:860px}
#mf-home .mfc-prose{color:var(--dim);font-size:1.02rem}
#mf-home .mfc-prose > * + *{margin-top:1em}
#mf-home .mfc-prose a{color:var(--sky);text-decoration:underline;text-underline-offset:3px}
#mf-home .mfc-prose :is(ul,ol){padding-left:1.3em;list-style:revert}
#mf-home .mfc-prose :is(h2,h3){color:var(--white);margin-top:1.4em}
#mf-home .mfc-media{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,4rem);align-items:center}
#mf-home .mfc-media--left > figure{order:-1}
#mf-home .mfc-media__img img{border-radius:var(--r);width:100%;height:auto}
@media(max-width:820px){#mf-home .mfc-media{grid-template-columns:1fr}#mf-home .mfc-media--left > figure{order:0}}

/* ice band keeps dark-on-light text for the new pieces */
#mf-home .sec--ice :is(.mfc-ex,.mfc-co p,.mfc-prose,.mfc-faq2 dd,.mfc-checklist p,.mfc-logos span){color:rgba(11,15,26,.7)}

/* [mf_ranked_in] shortcode, used outside #mf-home on profile pages */
.mfc-ranked-in{margin:1.5rem 0}
.mfc-ranked-in h3{margin:0 0 .6rem}
.mfc-ranked-in ul{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}
.mfc-ranked-in b{font-variant-numeric:tabular-nums;margin-right:.35rem}

/* methodology */
#mf-home .mfc-method{display:grid;gap:1rem;counter-reset:m}
#mf-home .mfc-method li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:1rem;align-items:start;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:1.15rem 1.3rem}
#mf-home .mfc-method .rk{font-family:var(--mono);font-size:.8rem;color:var(--sky);padding-top:.2rem}
#mf-home .mfc-method h3{font-size:1.05rem;margin-bottom:.35rem}
#mf-home .mfc-method .mfc-prose{font-size:.94rem}
#mf-home .mfc-method--tight li{padding:.95rem 1.1rem}
#mf-home .sec--ice .mfc-method li{background:#fff;border-color:rgba(30,27,75,.1)}

/* The chat is a component: it declares its own tokens so it can sit in the
   page, in a shortcode, or in the floating widget. */
.mfc-chat, .mfc-widget{
  --royal:#4F46FF;--sky:#3B82F6;--indigo:#1E1B4B;--lav:#E9D8FF;--white:#F8FAFF;--char:#0B0F1A;
  --surface:rgba(255,255,255,.035);--surface-2:rgba(255,255,255,.055);
  --line:rgba(255,255,255,.09);--line-2:rgba(255,255,255,.16);
  --dim:rgba(248,250,255,.66);--dimmer:rgba(248,250,255,.5);
  --display:"DM Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --body:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --r:14px;
}
.mfc-chat :is(h1,h2,h3,p,ol,ul,li,figure,blockquote){margin:0;padding:0}
.mfc-chat button{font-family:inherit}

/* ── requirement chat ───────────────────────────────────────────────── */
.mfc-chat{max-width:760px;margin-inline:auto;text-align:left}
.mfc-chat__log{display:grid;gap:.85rem;margin-bottom:1rem;max-height:min(58vh,520px);overflow-y:auto;scroll-behavior:smooth}
.mfc-chat__log:empty{display:none}
.mfc-msg{max-width:min(92%,640px);padding:.85rem 1.1rem;border-radius:14px;font-size:.97rem;line-height:1.6}
.mfc-msg p{margin:0}
.mfc-msg p + p{margin-top:.6rem}
.mfc-msg--you{justify-self:end;background:var(--royal);color:#fff;border-bottom-right-radius:4px}
.mfc-msg--mf{justify-self:start;background:var(--surface-2);border:1px solid var(--line);border-bottom-left-radius:4px;color:var(--white)}
.mfc-msg__who{display:block;font-family:var(--mono);font-size:.63rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sky);margin-bottom:.35rem}
.mfc-dots{display:inline-flex;gap:5px;align-items:center;height:1.1rem}
.mfc-dots i{width:6px;height:6px;border-radius:50%;background:var(--dimmer);animation:mfcDot 1.1s infinite ease-in-out}
.mfc-dots i:nth-child(2){animation-delay:.15s}
.mfc-dots i:nth-child(3){animation-delay:.3s}
@keyframes mfcDot{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}

.mfc-chat__form{position:relative;background:var(--surface-2);border:1px solid var(--line-2);border-radius:16px;padding:.75rem .85rem .65rem;transition:border-color .2s,box-shadow .2s}
.mfc-chat__form:focus-within{border-color:var(--royal);box-shadow:0 0 0 3px rgba(79,70,255,.22)}
.mfc-chat__form textarea{width:100%;background:transparent;border:0;resize:none;color:var(--white);font:inherit;font-size:1rem;line-height:1.55;padding:.35rem .25rem;outline:none;min-height:3.2rem}
.mfc-chat__form textarea::placeholder{color:var(--dimmer)}
.mfc-chat__bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:.35rem}
.mfc-chat__hint{font-family:var(--mono);font-size:.66rem;letter-spacing:.04em;color:var(--dimmer)}
.mfc-chat__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.mfc-chat__examples{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.9rem}
.mfc-chat__examples .chip,.mfc-chips .chip{cursor:pointer;font-size:.84rem;padding:.5rem .95rem}
.mfc-chat__examples .chip:hover,.mfc-chips .chip:hover{border-color:var(--royal);color:var(--white)}
.mfc-chips{display:flex;flex-wrap:wrap;gap:.5rem}
.mfc-chat__note{margin-top:.8rem;font-size:.8rem;color:var(--dimmer);max-width:60ch}

.mfc-matches{display:grid;gap:.6rem}
.mfc-match{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.9rem;align-items:center;padding:.85rem 1rem;border:1px solid var(--line);border-radius:12px;background:var(--surface);transition:border-color .2s,transform .2s}
.mfc-match:hover{border-color:var(--royal);transform:translateY(-2px)}
.mfc-match__logo{width:40px;height:40px;border-radius:9px;background:#fff;display:grid;place-items:center;overflow:hidden;flex:none}
.mfc-match__logo img{width:100%;height:100%;object-fit:contain;padding:4px}
.mfc-match__b{display:grid;gap:.15rem;min-width:0}
.mfc-match__b b{font-family:var(--display);font-size:1rem}
.mfc-match__meta{font-family:var(--mono);font-size:.7rem;color:var(--dimmer)}
.mfc-match__why{font-size:.83rem;color:var(--dim)}
.mfc-match__flag{font-family:var(--mono);font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;color:#FBBF6A;border:1px solid rgba(251,191,106,.35);border-radius:999px;padding:.3rem .55rem}
.mfc-more-note{font-size:.86rem;color:var(--dim);margin-top:.2rem}

.mfc-chat-hero .hero-in{text-align:center}
.mfc-chat-hero .lede{margin-inline:auto}
.mfc-chat-panel{position:relative}
.mfc-chat-panel .head{margin-bottom:1.2rem}
@media(max-width:600px){
  .mfc-match{grid-template-columns:auto minmax(0,1fr)}
  .mfc-match__flag{grid-column:2;justify-self:start}
  .mfc-chat__hint{display:none}
}
/* the ice band and light theme keep readable text */
#mf-home .sec--ice .mfc-msg--mf{background:#fff;color:var(--char)}
#mf-home .sec--ice .mfc-chat__form textarea{color:var(--char)}

/* ── floating requirement-chat widget ───────────────────────────────── */
.mfc-widget{position:fixed;bottom:18px;z-index:99998;font-family:var(--body);opacity:0;transform:translateY(14px);transition:opacity .35s,transform .35s}
.mfc-widget.is-in{opacity:1;transform:none}
.mfc-widget--left{left:18px}
.mfc-widget--right{right:18px}
.mfc-widget__launch{display:inline-flex;align-items:center;gap:.6rem;border:0;cursor:pointer;border-radius:100px;padding:.85rem 1.25rem;
  background:var(--royal);color:#fff;font-family:var(--display);font-weight:500;font-size:.92rem;line-height:1;
  box-shadow:0 14px 34px -12px rgba(79,70,255,.85);transition:transform .2s,box-shadow .2s}
.mfc-widget__launch:hover{transform:translateY(-2px);box-shadow:0 18px 40px -12px rgba(79,70,255,.95)}
.mfc-widget__launch:focus-visible{outline:3px solid #93B4FB;outline-offset:2px}
.mfc-widget__icon{display:inline-flex}
.mfc-widget.is-open .mfc-widget__launch{opacity:0;pointer-events:none}
.mfc-widget__panel{position:absolute;bottom:0;width:min(420px,calc(100vw - 36px));max-height:min(78vh,680px);display:flex;flex-direction:column;
  background:#0E1222;color:var(--white);border:1px solid var(--line-2);border-radius:18px;overflow:hidden;
  box-shadow:0 30px 70px -25px rgba(3,6,18,.9)}
.mfc-widget--left .mfc-widget__panel{left:0}
.mfc-widget--right .mfc-widget__panel{right:0}
.mfc-widget__head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.05rem 1.15rem .9rem;border-bottom:1px solid var(--line);
  background:linear-gradient(120deg,rgba(30,27,75,.85),rgba(79,70,255,.22))}
.mfc-widget__head b{display:block;font-family:var(--display);font-size:1.02rem;letter-spacing:-.01em}
.mfc-widget__head span{display:block;margin-top:.25rem;font-size:.82rem;color:var(--dim);line-height:1.45}
.mfc-widget__close{background:none;border:0;color:var(--dimmer);font-size:1.5rem;line-height:1;cursor:pointer;padding:0 .2rem}
.mfc-widget__close:hover{color:var(--white)}
.mfc-widget__body{padding:1rem 1.15rem 1.15rem;overflow-y:auto}
.mfc-widget .mfc-chat__log{max-height:42vh}
.mfc-widget .mfc-chat__examples{margin-top:.75rem}
.mfc-widget .mfc-chat__note{font-size:.74rem}
.mfc-widget .mfc-match{grid-template-columns:auto minmax(0,1fr)}
.mfc-widget .mfc-match__flag{grid-column:2;justify-self:start}
@media (max-width:520px){
  .mfc-widget{bottom:12px;left:12px;right:12px}
  .mfc-widget--left,.mfc-widget--right{left:12px;right:12px}
  .mfc-widget__panel{width:100%;max-height:82vh}
  .mfc-widget__label{display:none}
  .mfc-widget__launch{padding:.9rem;border-radius:50%}
}
@media (prefers-reduced-motion:reduce){
  .mfc-widget{transition:none}
  .mfc-widget__launch:hover{transform:none}
}

/* The chat carries the few atoms it needs, so it looks right outside the
   homepage too: in a shortcode, and in the floating widget. */
.mfc-widget [hidden],.mfc-chat [hidden]{display:none!important}
.mfc-chat .screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.mfc-chat .btn{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--display);font-weight:500;font-size:.92rem;line-height:1.2;
  padding:.72rem 1.25rem;border-radius:100px;background:var(--royal);color:#fff;border:1px solid transparent;cursor:pointer;
  transition:transform .2s,box-shadow .2s,background .2s;text-decoration:none}
.mfc-chat .btn:hover{color:#fff;transform:translateY(-1px);box-shadow:0 10px 28px -12px rgba(79,70,255,.9)}
.mfc-chat .btn:disabled{opacity:.55;cursor:default;transform:none;box-shadow:none}
.mfc-chat .btn:focus-visible,.mfc-chat .chip:focus-visible{outline:3px solid #93B4FB;outline-offset:2px}
.mfc-chat .chip{white-space:normal;text-align:left;padding:.55rem 1rem;border-radius:100px;border:1px solid var(--line);
  background:rgba(255,255,255,.04);color:var(--dim);font-family:var(--body);font-size:.84rem;line-height:1.35;cursor:pointer;
  transition:border-color .2s,color .2s,background .2s}
.mfc-chat .chip:hover{border-color:var(--sky);color:var(--white);background:rgba(59,130,246,.08)}
.mfc-chat .ar{display:inline-block;transition:transform .25s}
.mfc-chat .btn:hover .ar{transform:translateX(3px)}
/* Themes underline every link; the cards are blocks, not sentences. */
.mfc-chat a{text-decoration:none;color:inherit}
.mfc-chat a:hover{color:inherit}
.mfc-chat .mfc-match__b b{color:var(--white)}
.mfc-chat .mfc-match:hover .mfc-match__b b{color:var(--sky)}
