/* MatchFast — Find a company.
   Everything is under .mffc and carries its own tokens, so the theme's and
   Elementor's global rules do not reach in and these do not leak out. */

/* The theme caps .site-main at 1140px and pads its top. The hero is a band,
   so on this page alone the cap is lifted and the section sets its own measure. */
body.mffc-page .site-main{max-width:none;width:100%;margin-inline:0;padding:0}
body.mffc-page .page-header,
body.mffc-page .entry-title{display:none}
body.mffc-page .page-content{margin:0;padding:0}

.mffc{
  --ground:#070A12; --panel:#0E1322; --panel-2:#141A2E; --line:#222A44;
  --text:#EEF1FA; --dim:#A9B2C9; --dimmer:#7C869F;
  --royal:#4F46FF; --sky:#3B82F6; --lav:#E9D8FF;
  --yes:#34D399; --yes-bg:rgba(52,211,153,.10);
  --no:#F59EAF; --no-bg:rgba(240,88,122,.10);
  --unk:#FBBF24; --unk-bg:rgba(251,191,36,.09);
  --head:"DM Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --body:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  background:var(--ground); color:var(--text); font-family:var(--body); font-size:16px; line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
.mffc *,.mffc *::before,.mffc *::after{box-sizing:border-box}
.mffc [hidden]{display:none!important}
.mffc-wrap{width:100%;max-width:980px;margin:0 auto;padding-inline:clamp(16px,4vw,32px)}
.mffc-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.mffc-hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}

.mffc h1,.mffc h2,.mffc h3,.mffc h4{font-family:var(--head);color:var(--text);margin:0;letter-spacing:-.02em}
.mffc p{margin:0}
.mffc a{color:inherit}

/* ══ hero ══ */
.mffc-hero{position:relative;padding-block:clamp(3rem,8vh,5.5rem) clamp(2.25rem,5vh,3.5rem);text-align:center;overflow:hidden;
  background:radial-gradient(900px 420px at 50% -10%,rgba(79,70,255,.28),transparent 70%),var(--ground)}
.mffc-pill{display:inline-block;margin-bottom:1.25rem!important;padding:.35rem .85rem;border:1px solid rgba(79,70,255,.45);border-radius:999px;
  background:rgba(79,70,255,.12);color:#C9C6FF;font-size:.74rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.mffc .mffc-h1{font-size:clamp(2rem,4.6vw,3.5rem);line-height:1.06;letter-spacing:-.035em;font-weight:800;max-width:22ch;margin:0 auto 1rem;text-wrap:balance}
.mffc-lede{max-width:58ch;margin:0 auto clamp(1.6rem,3vh,2.2rem)!important;color:var(--dim);font-size:1.08rem;text-wrap:pretty}

.mffc-box{position:relative;max-width:760px;margin:0 auto;text-align:left;border-radius:22px;border:1.5px solid transparent;
  background:linear-gradient(#fff,#fff) padding-box,linear-gradient(120deg,rgba(79,70,255,.6),rgba(59,130,246,.4) 45%,rgba(233,216,255,.75)) border-box;
  box-shadow:0 30px 80px -34px rgba(79,70,255,.75),0 12px 30px -18px rgba(7,10,18,.55);transition:box-shadow .3s}
.mffc-box:focus-within{box-shadow:0 0 0 4px rgba(79,70,255,.22),0 34px 90px -30px rgba(79,70,255,.9)}
.mffc-box.is-invalid{background:linear-gradient(#fff,#fff) padding-box,linear-gradient(120deg,#F0587A,#F59EAF) border-box}
.mffc .mffc-in{display:block;width:100%;min-height:5.2em;max-height:260px;margin:0;resize:none;overflow-y:auto;
  padding:1.2rem 1.45rem .35rem;border:0;border-radius:22px 22px 0 0;background:transparent;box-shadow:none;outline:none;
  font-family:var(--body);font-size:1.08rem;line-height:1.55;color:#171B2B;caret-color:var(--royal)}
.mffc .mffc-in::placeholder{color:#7A8499;opacity:1}
.mffc .mffc-in:focus{border:0;box-shadow:none;outline:none}
.mffc-foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.35rem .7rem .7rem 1.45rem}
.mffc-hint{font-size:.82rem;color:#6B7489;line-height:1.35}
.mffc .mffc-go{flex:0 0 auto;display:inline-grid;place-items:center;width:48px;height:48px;padding:0;margin:0;border:0;border-radius:50%;cursor:pointer;
  background:linear-gradient(135deg,var(--royal),#6A62FF);color:#fff;box-shadow:0 10px 24px -10px rgba(79,70,255,.9);transition:transform .25s,box-shadow .25s}
.mffc .mffc-go:hover{transform:translateY(-1px);box-shadow:0 14px 30px -10px rgba(79,70,255,1);background:linear-gradient(135deg,var(--royal),#6A62FF);color:#fff}
.mffc .mffc-go:focus-visible{outline:3px solid var(--sky);outline-offset:3px}
.mffc.is-busy .mffc-go{opacity:.6;pointer-events:none}
.mffc.is-busy .mffc-go svg{animation:mffc-pulse 1s ease-in-out infinite}
@keyframes mffc-pulse{50%{transform:translateX(4px)}}

.mffc-err{max-width:760px;margin:.75rem auto 0!important;color:#FCA5A5;font-size:.92rem}
.mffc-err:empty{display:none}

.mffc-tries{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;max-width:820px;margin:1.4rem auto 0;color:var(--dimmer);font-size:.86rem}
.mffc .mffc-try{margin:0;padding:.42rem .85rem;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.03);color:var(--dim);
  font-family:var(--body);font-size:.86rem;font-weight:500;line-height:1.3;cursor:pointer;text-transform:none;letter-spacing:0;transition:border-color .2s,color .2s,background .2s}
.mffc .mffc-try:hover,.mffc .mffc-try:focus-visible{border-color:var(--royal);color:#fff;background:rgba(79,70,255,.16);outline:none}

/* ══ results ══ */
.mffc-out{padding-block:clamp(2rem,5vh,3.25rem);border-top:1px solid var(--line);background:var(--ground)}
.mffc .mffc-h2{font-size:1.22rem;font-weight:700;margin-bottom:.8rem}
.mffc-read,.mffc-ask,.mffc-note{margin-bottom:1.75rem;padding:1.25rem 1.35rem;border:1px solid var(--line);border-radius:16px;background:var(--panel)}
.mffc-chips{display:flex;flex-wrap:wrap;gap:.5rem}
.mffc-chip{display:inline-flex;align-items:baseline;gap:.45rem;padding:.4rem .8rem;border-radius:999px;background:var(--panel-2);border:1px solid var(--line);font-size:.9rem}
.mffc-chip-k{color:var(--dimmer);font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.mffc-chip-v{color:var(--text);font-weight:600}
.mffc-read-fix{margin-top:.8rem!important;color:var(--dimmer);font-size:.86rem}
.mffc-note p{color:var(--dim);font-size:1.02rem}

.mffc-q{margin:0}
.mffc-q + .mffc-q{margin-top:.9rem}
.mffc-q-l{display:block;margin-bottom:.35rem;color:var(--dim);font-size:.93rem}
.mffc-q-row{display:flex;gap:.5rem}
.mffc .mffc-q-in{flex:1 1 auto;min-width:0;height:44px;margin:0;padding:0 .9rem;border:1px solid var(--line);border-radius:10px;background:var(--ground);
  color:var(--text);font-family:var(--body);font-size:.98rem;box-shadow:none}
.mffc .mffc-q-in:focus{border-color:var(--royal);outline:none;box-shadow:0 0 0 3px rgba(79,70,255,.25)}
.mffc .mffc-q-go{flex:0 0 auto;height:44px;margin:0;padding:0 1.1rem;border:1px solid var(--royal);border-radius:10px;background:rgba(79,70,255,.16);color:#fff;
  font-family:var(--head);font-size:.92rem;font-weight:700;cursor:pointer;text-transform:none;letter-spacing:0}
.mffc .mffc-q-go:hover{background:var(--royal);color:#fff}

.mffc-count{margin-bottom:1.1rem}
.mffc-count .mffc-h2{margin-bottom:.2rem}
.mffc-count p{color:var(--dim);font-size:.95rem}
.mffc-wait{padding:2rem 0;color:var(--dim);text-align:center}

.mffc-card{margin-bottom:1rem;padding:1.35rem 1.4rem;border:1px solid var(--line);border-left:3px solid var(--line);border-radius:16px;background:var(--panel)}
.mffc-card.mffc-is-strong{border-left-color:var(--yes)}
.mffc-card.mffc-is-good{border-left-color:var(--sky)}
.mffc-card.mffc-is-partial{border-left-color:var(--dimmer)}
.mffc-card-h{display:flex;align-items:flex-start;gap:.95rem}
.mffc-logo{flex:0 0 52px;display:grid;place-items:center;width:52px;height:52px;border-radius:12px;background:#fff;color:#171B2B;overflow:hidden;
  font-family:var(--head);font-weight:800;font-size:1.3rem}
.mffc-logo img{display:block;width:100%;height:100%;object-fit:contain;padding:5px}
.mffc-who{flex:1 1 auto;min-width:0}
.mffc .mffc-name{font-size:1.14rem;font-weight:700;line-height:1.25}
.mffc .mffc-name a{text-decoration:none;color:var(--text)}
.mffc .mffc-name a:hover{color:#C9C6FF;text-decoration:underline}
.mffc-facts{margin-top:.2rem!important;color:var(--dim);font-size:.9rem;overflow-wrap:anywhere}
.mffc-badge{flex:0 0 auto;align-self:flex-start;padding:.3rem .7rem;border-radius:999px;font-family:var(--head);font-size:.76rem;font-weight:700;white-space:nowrap;
  background:var(--panel-2);color:var(--dim);border:1px solid var(--line)}
.mffc-is-strong .mffc-badge{background:var(--yes-bg);color:var(--yes);border-color:rgba(52,211,153,.4)}
.mffc-is-good .mffc-badge{background:rgba(59,130,246,.12);color:#93B4FB;border-color:rgba(59,130,246,.4)}
.mffc-sum{margin-top:.9rem!important;color:var(--dim);font-size:.95rem}

.mffc-whys{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.7rem;margin-top:1rem}
.mffc-why{padding:.8rem .95rem;border-radius:12px;background:var(--panel-2)}
.mffc-why.is-yes{background:var(--yes-bg)}
.mffc-why.is-no{background:var(--no-bg)}
.mffc-why.is-unknown{background:var(--unk-bg)}
.mffc .mffc-why-h{margin-bottom:.35rem;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.mffc-why.is-yes .mffc-why-h{color:var(--yes)}
.mffc-why.is-no .mffc-why-h{color:var(--no)}
.mffc-why.is-unknown .mffc-why-h{color:var(--unk)}
.mffc-why ul{margin:0;padding:0;list-style:none}
.mffc-why li{position:relative;margin:0;padding-left:1rem;color:var(--text);font-size:.9rem;line-height:1.5}
.mffc-why li + li{margin-top:.2rem}
.mffc-why li::before{content:"";position:absolute;left:0;top:.62em;width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.55}

.mffc-card-f{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-top:1rem}
.mffc .mffc-link{color:#C9C6FF;font-family:var(--head);font-size:.92rem;font-weight:700;text-decoration:none}
.mffc .mffc-link:hover{color:#fff;text-decoration:underline}
.mffc-evidence{margin-top:1rem;padding:.85rem 1rem;border:1px solid var(--line);border-radius:12px}
.mffc-measures{display:flex;flex-wrap:wrap;gap:.6rem 2rem;margin:0}
.mffc-measure{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .65rem}
.mffc-measure dt{color:var(--dim);font-size:.82rem;font-weight:400}
.mffc-measure dd{margin:0;color:var(--text);font-size:.88rem;font-weight:600}
.mffc-evidence-help{margin-top:.6rem;color:var(--dim);font-size:.82rem}
.mffc-evidence-help summary{cursor:pointer;color:#C9C6FF}
.mffc-evidence-help summary:focus-visible{outline:2px solid var(--sky);outline-offset:3px}
.mffc-evidence-help p{margin-top:.5rem;max-width:75ch}

.mffc-send{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.1rem;margin-top:1.75rem;padding:1.5rem 1.6rem;border-radius:18px;
  border:1px solid rgba(79,70,255,.45);background:linear-gradient(135deg,rgba(79,70,255,.22),rgba(59,130,246,.10))}
.mffc-send > div{flex:1 1 320px}
.mffc-send h2{font-size:1.25rem;font-weight:700;margin-bottom:.3rem}
.mffc-send p{color:var(--dim);font-size:.95rem}
.mffc .mffc-btn{flex:0 0 auto;margin:0;padding:.85rem 1.5rem;border:0;border-radius:12px;background:linear-gradient(135deg,var(--royal),#6A62FF);color:#fff;
  font-family:var(--head);font-size:1rem;font-weight:700;cursor:pointer;text-transform:none;letter-spacing:0;box-shadow:0 12px 26px -12px rgba(79,70,255,.95)}
.mffc .mffc-btn:hover{transform:translateY(-1px);color:#fff;background:linear-gradient(135deg,var(--royal),#6A62FF)}
.mffc .mffc-btn:focus-visible{outline:3px solid var(--sky);outline-offset:3px}

/* ══ how it works ══ */
.mffc-how{padding-block:clamp(2.5rem,6vh,4rem);border-top:1px solid var(--line);background:var(--panel)}
.mffc-how h2{font-size:clamp(1.4rem,2.6vw,1.85rem);font-weight:800;margin-bottom:1.25rem;text-align:center}
.mffc-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin:0;padding:0;list-style:none;counter-reset:mffc}
.mffc-steps li{counter-increment:mffc;margin:0;padding:1.3rem 1.3rem 1.35rem;border:1px solid var(--line);border-radius:16px;background:var(--ground);color:var(--dim);font-size:.95rem}
.mffc-steps li::before{content:counter(mffc);display:grid;place-items:center;width:30px;height:30px;margin-bottom:.75rem;border-radius:50%;
  background:rgba(79,70,255,.18);color:#C9C6FF;font-family:var(--head);font-weight:800;font-size:.9rem}
.mffc-steps strong{display:block;margin-bottom:.25rem;color:var(--text);font-family:var(--head);font-size:1.02rem}
.mffc-fine{max-width:70ch;margin:1.5rem auto 0!important;color:var(--dimmer);font-size:.86rem;text-align:center}

@media(max-width:640px){
  .mffc-box{border-radius:18px}
  .mffc .mffc-in{font-size:1.02rem;padding:1rem 1.1rem .3rem;border-radius:18px 18px 0 0;min-height:6.4em}
  .mffc-foot{padding:.3rem .55rem .55rem 1.1rem}
  .mffc-hint{font-size:.76rem}
  .mffc-card{padding:1.1rem 1.05rem}
  .mffc-card-h{flex-wrap:wrap}
  .mffc-who{flex:1 1 calc(100% - 70px)}
  .mffc-badge{margin-left:calc(52px + .95rem)}
  .mffc-send{padding:1.2rem 1.15rem}
  .mffc .mffc-btn{width:100%}
}
@media(prefers-reduced-motion:reduce){
  .mffc *{animation:none!important;transition:none!important}
}
