
.qtf-hub-page{
  --qtf-hub-accent:#6573dc;
  --qtf-hub-accent-dark:#4b58bd;
  --qtf-hub-mint:#62c7bf;
  --qtf-hub-ink:#151d38;
  --qtf-hub-ink-2:#293752;
  --qtf-hub-muted:#657187;
  --qtf-hub-muted-2:#818ba0;
  --qtf-hub-line:rgba(69,82,139,.11);
  --qtf-hub-line-soft:rgba(69,82,139,.075);
  --qtf-hub-surface:rgba(255,255,255,.94);
  --qtf-hub-surface-soft:rgba(248,250,254,.92);
  --qtf-hub-shadow:0 12px 30px rgba(37,49,94,.055);
  --qtf-hub-shadow-soft:0 7px 19px rgba(37,49,94,.04);

  position:relative;
  min-height:60vh;
  padding:14px 0 46px;
  color:var(--qtf-hub-ink);
  background:
    radial-gradient(820px 260px at 8% 0%,rgba(101,115,220,.075),transparent 68%),
    radial-gradient(680px 240px at 96% 7%,rgba(98,199,191,.05),transparent 70%),
    linear-gradient(180deg,#f5f6fb 0%,#f8f9fc 36%,#edf1f8 100%);
  font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

.qtf-hub-page,
.qtf-hub-page *,
.qtf-hub-page *::before,
.qtf-hub-page *::after{
  box-sizing:border-box;
}

.qtf-hub-page :where(h1,h2,h3,p){
  margin:0;
}

.qtf-hub-page :where(button,input){
  font:inherit;
}

.qtf-sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

.qtf-hub-page a{
  color:inherit;
  text-decoration:none;
}

.qtf-hub-shell{
  display:grid;
  gap:13px;
  width:min(1240px,calc(100% - 24px));
  margin:0 auto;
}

.qtf-hub-breadcrumb{
  display:flex;
  align-items:center;
  gap:6px;
  min-height:28px;
  padding:0 5px;
  color:var(--qtf-hub-muted-2);
  font-size:11.5px;
  line-height:1.35;
}

.qtf-hub-breadcrumb a{
  color:var(--qtf-hub-muted);
  font-weight:650;
}

.qtf-hub-breadcrumb a:hover,
.qtf-hub-breadcrumb a:focus-visible{
  color:var(--qtf-hub-accent-dark);
}

.qtf-hub-breadcrumb__sep{
  opacity:.45;
}

.qtf-hub-breadcrumb__current{
  min-width:0;
  overflow:hidden;
  color:var(--qtf-hub-accent-dark);
  font-weight:800;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.qtf-hub,
.qtf-hub-about,
.qtf-hub-faq{
  overflow:hidden;
  border:1px solid var(--qtf-hub-line);
  border-radius:22px;
  background:
    radial-gradient(560px 160px at 0 0,rgba(101,115,220,.055),transparent 70%),
    linear-gradient(180deg,var(--qtf-hub-surface),var(--qtf-hub-surface-soft));
  box-shadow:var(--qtf-hub-shadow),inset 0 1px 0 rgba(255,255,255,.9);
}

.qtf-hub{
  position:relative;
}

.qtf-hub::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:2px;
  pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(101,115,220,.28),rgba(98,199,191,.22),transparent);
}

.qtf-hub__head{
  display:grid;
  grid-template-columns:54px minmax(0,1fr);
  align-items:center;
  gap:14px;
  padding:18px 20px 16px;
  border-bottom:1px solid var(--qtf-hub-line-soft);
}

.qtf-hub__icon{
  position:relative;
  display:grid;
  place-items:center;
  width:54px;
  height:54px;
  border:1px solid rgba(101,115,220,.15);
  border-radius:17px;
  color:var(--qtf-hub-accent-dark);
  background:rgba(101,115,220,.075);
  box-shadow:0 8px 18px rgba(101,115,220,.08),inset 0 1px 0 rgba(255,255,255,.9);
}

.qtf-hub__icon::after{
  content:"";
  position:absolute;
  top:7px;
  right:7px;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--qtf-hub-mint);
  box-shadow:0 0 0 4px rgba(98,199,191,.11);
}

.qtf-hub__icon svg{
  width:25px;
  height:25px;
  fill:currentColor;
}

.qtf-hub__identity{
  min-width:0;
}

.qtf-hub__eyebrow{
  display:block;
  margin-bottom:6px;
  color:var(--qtf-hub-accent-dark);
  font-size:9.5px;
  font-weight:900;
  line-height:1;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.qtf-hub__title{
  max-width:920px;
  color:var(--qtf-hub-ink);
  font-size:clamp(1.8rem,2.7vw,2.55rem);
  font-weight:1000;
  line-height:1;
  letter-spacing:-.052em;
  text-wrap:balance;
}

.qtf-hub__description{
  max-width:890px;
  margin-top:7px;
  color:var(--qtf-hub-muted);
  font-size:13.4px;
  font-weight:520;
  line-height:1.56;
  text-wrap:pretty;
}

.qtf-hub__meta{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:10px;
}

.qtf-hub__metaItem{
  display:inline-flex;
  align-items:center;
  min-height:25px;
  padding:0 9px;
  border:1px solid var(--qtf-hub-line);
  border-radius:999px;
  color:var(--qtf-hub-muted);
  background:rgba(255,255,255,.68);
  font-size:10px;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
}

.qtf-hub__metaItem--safe{
  border-color:rgba(35,177,130,.14);
  color:#217c66;
  background:rgba(98,199,191,.075);
}

.qtf-hub__directory{
  margin:12px;
  padding:14px;
  border:1px solid var(--qtf-hub-line);
  border-radius:17px;
  background:rgba(255,255,255,.72);
  box-shadow:var(--qtf-hub-shadow-soft),inset 0 1px 0 rgba(255,255,255,.86);
}

.qtf-hub__toolbar{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,380px);
  align-items:end;
  gap:14px;
}

.qtf-hub__toolbar h2{
  color:var(--qtf-hub-ink);
  font-size:18px;
  font-weight:950;
  line-height:1.2;
  letter-spacing:-.03em;
}

.qtf-hub__toolbar p{
  margin-top:4px;
  color:var(--qtf-hub-muted);
  font-size:11.5px;
  line-height:1.5;
}

.qtf-hub__search{
  position:relative;
  min-width:0;
}

.qtf-hub__searchIcon{
  position:absolute;
  top:50%;
  left:13px;
  display:grid;
  place-items:center;
  width:18px;
  height:18px;
  color:var(--qtf-hub-muted-2);
  pointer-events:none;
  transform:translateY(-50%);
}

.qtf-hub__searchIcon svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
}

.qtf-hub__searchInput{
  display:block;
  width:100%;
  min-height:44px;
  padding:0 13px 0 40px;
  border:1px solid rgba(69,82,139,.15);
  border-radius:12px;
  outline:none;
  color:var(--qtf-hub-ink);
  background:rgba(255,255,255,.96);
  font-size:12.5px;
  font-weight:550;
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}

.qtf-hub__searchInput::placeholder{
  color:#98a2b4;
  opacity:1;
}

.qtf-hub__searchInput:focus{
  border-color:rgba(101,115,220,.38);
  background:#fff;
  box-shadow:0 0 0 4px rgba(101,115,220,.09);
}

.qtf-hub__filters{
  display:flex;
  align-items:center;
  gap:7px;
  margin-top:12px;
  padding-bottom:2px;
  overflow-x:auto;
  scrollbar-width:thin;
  scrollbar-color:rgba(101,115,220,.18) transparent;
}

.qtf-hub__filter{
  --qtf-hub-platform:var(--qtf-hub-accent);

  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  flex:0 0 auto;
  min-height:38px;
  padding:0 11px;
  border:1px solid var(--qtf-hub-line);
  border-radius:999px;
  color:var(--qtf-hub-ink-2);
  background:rgba(255,255,255,.78);
  cursor:pointer;
  font-size:11px;
  font-weight:850;
  line-height:1;
  white-space:nowrap;
  transition:border-color .15s ease,color .15s ease,background .15s ease,transform .15s ease;
}

.qtf-hub__filter:hover{
  border-color:color-mix(in srgb,var(--qtf-hub-platform) 24%,var(--qtf-hub-line));
  color:var(--qtf-hub-platform);
  background:#fff;
  transform:translateY(-1px);
}

.qtf-hub__filter[aria-pressed="true"]{
  border-color:color-mix(in srgb,var(--qtf-hub-platform) 26%,transparent);
  color:color-mix(in srgb,var(--qtf-hub-platform) 78%,#17203d);
  background:color-mix(in srgb,var(--qtf-hub-platform) 7%,#fff);
  box-shadow:0 5px 13px color-mix(in srgb,var(--qtf-hub-platform) 9%,transparent);
}

.qtf-hub__filter:focus-visible,
.qtf-hub__service:focus-visible,
.qtf-hub-faq summary:focus-visible,
.qtf-hub-breadcrumb a:focus-visible{
  outline:none;
  box-shadow:0 0 0 4px rgba(101,115,220,.11);
}

.qtf-hub__filterIcon{
  display:grid;
  place-items:center;
  width:20px;
  height:20px;
  border-radius:7px;
  color:var(--qtf-hub-platform);
  background:color-mix(in srgb,var(--qtf-hub-platform) 8%,#fff);
}

.qtf-hub__filterIcon svg{
  width:12px;
  height:12px;
  fill:currentColor;
}

.qtf-hub__filterCount{
  color:var(--qtf-hub-muted-2);
  font-size:9px;
  font-weight:850;
}

.qtf-hub__resultBar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:10px;
  padding:0 2px;
  color:var(--qtf-hub-muted);
  font-size:10.5px;
  font-weight:650;
  line-height:1.35;
}

.qtf-hub__resultBar strong{
  color:var(--qtf-hub-ink-2);
  font-weight:850;
}

.qtf-hub__serviceGrid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin-top:10px;
}

.qtf-hub__service{
  --qtf-hub-platform:var(--qtf-hub-accent);

  display:grid;
  grid-template-columns:34px minmax(0,1fr) 18px;
  align-items:center;
  gap:9px;
  min-width:0;
  min-height:58px;
  padding:8px 9px;
  border:1px solid var(--qtf-hub-line-soft);
  border-radius:12px;
  color:var(--qtf-hub-ink-2);
  background:rgba(255,255,255,.78);
  box-shadow:0 3px 10px rgba(37,49,94,.022);
  transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease,background .15s ease;
}

.qtf-hub__service:hover{
  border-color:color-mix(in srgb,var(--qtf-hub-platform) 22%,var(--qtf-hub-line));
  background:#fff;
  box-shadow:0 8px 18px rgba(37,49,94,.05);
  transform:translateY(-1px);
}

.qtf-hub__serviceIcon{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border:1px solid color-mix(in srgb,var(--qtf-hub-platform) 15%,transparent);
  border-radius:10px;
  color:color-mix(in srgb,var(--qtf-hub-platform) 78%,#17203d);
  background:color-mix(in srgb,var(--qtf-hub-platform) 7%,#fff);
}

.qtf-hub__serviceIcon svg{
  width:16px;
  height:16px;
  fill:currentColor;
}

.qtf-hub__serviceBody{
  min-width:0;
}

.qtf-hub__serviceTitle{
  display:block;
  overflow:hidden;
  color:var(--qtf-hub-ink-2);
  font-size:12px;
  font-weight:850;
  line-height:1.3;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.qtf-hub__servicePlatform{
  display:block;
  margin-top:2px;
  overflow:hidden;
  color:var(--qtf-hub-muted-2);
  font-size:9.5px;
  font-weight:650;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.qtf-hub__serviceArrow{
  color:var(--qtf-hub-platform);
  opacity:.7;
  transition:transform .15s ease,opacity .15s ease;
}

.qtf-hub__serviceArrow svg{
  display:block;
  width:16px;
  height:16px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
}

.qtf-hub__service:hover .qtf-hub__serviceArrow{
  opacity:1;
  transform:translateX(2px);
}

.qtf-hub__empty{
  margin-top:10px;
  padding:14px;
  border:1px dashed rgba(101,115,220,.22);
  border-radius:12px;
  color:var(--qtf-hub-muted);
  background:rgba(101,115,220,.035);
  font-size:12px;
  line-height:1.5;
  text-align:center;
}

.qtf-hub__rules{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:7px 16px;
  margin-top:11px;
  padding:10px 11px;
  border-top:1px solid var(--qtf-hub-line-soft);
  color:var(--qtf-hub-muted);
  font-size:10px;
  font-weight:650;
  line-height:1.35;
}

.qtf-hub__rule{
  display:inline-flex;
  align-items:center;
  gap:6px;
}

.qtf-hub__rule::before{
  content:"";
  width:6px;
  height:6px;
  flex:0 0 6px;
  border-radius:50%;
  background:var(--qtf-hub-mint);
  box-shadow:0 0 0 3px rgba(98,199,191,.1);
}

.qtf-hub-about{
  display:grid;
  grid-template-columns:minmax(240px,.72fr) minmax(0,1.4fr);
  gap:24px;
  padding:20px 22px;
}

.qtf-hub-about__head h2{
  color:var(--qtf-hub-ink);
  font-size:clamp(1.2rem,1.8vw,1.55rem);
  font-weight:950;
  line-height:1.15;
  letter-spacing:-.035em;
  text-wrap:balance;
}

.qtf-hub-about__copy{
  display:grid;
  gap:9px;
  color:#556278;
  font-size:13px;
  font-weight:450;
  line-height:1.7;
}

.qtf-hub-about__copy strong{
  color:var(--qtf-hub-ink-2);
  font-weight:800;
}

.qtf-hub-faq{
  padding:18px 20px 20px;
}

.qtf-hub-faq__head{
  margin-bottom:11px;
}

.qtf-hub-faq__head h2{
  color:var(--qtf-hub-ink);
  font-size:clamp(1.2rem,1.8vw,1.55rem);
  font-weight:950;
  line-height:1.15;
  letter-spacing:-.035em;
}

.qtf-hub-faq__head p{
  max-width:760px;
  margin-top:5px;
  color:var(--qtf-hub-muted);
  font-size:11.5px;
  line-height:1.5;
}

.qtf-hub-faq__list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}

.qtf-hub-faq__item{
  min-width:0;
  border:1px solid var(--qtf-hub-line-soft);
  border-radius:12px;
  background:rgba(255,255,255,.72);
}

.qtf-hub-faq__item[open]{
  border-color:rgba(101,115,220,.17);
  background:#fff;
}

.qtf-hub-faq summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:48px;
  padding:10px 12px;
  color:var(--qtf-hub-ink-2);
  cursor:pointer;
  list-style:none;
  font-size:11.5px;
  font-weight:800;
  line-height:1.4;
}

.qtf-hub-faq summary::-webkit-details-marker{
  display:none;
}

.qtf-hub-faq__plus{
  position:relative;
  width:18px;
  height:18px;
  flex:0 0 18px;
  border-radius:50%;
  background:rgba(101,115,220,.07);
}

.qtf-hub-faq__plus::before,
.qtf-hub-faq__plus::after{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:8px;
  height:1.5px;
  border-radius:2px;
  background:var(--qtf-hub-accent-dark);
  transform:translate(-50%,-50%);
}

.qtf-hub-faq__plus::after{
  transform:translate(-50%,-50%) rotate(90deg);
  transition:transform .15s ease;
}

.qtf-hub-faq__item[open] .qtf-hub-faq__plus::after{
  transform:translate(-50%,-50%) rotate(0deg);
}

.qtf-hub-faq__answer{
  padding:0 12px 12px;
  color:var(--qtf-hub-muted);
  font-size:11.5px;
  line-height:1.62;
}

.qtf-hub-page [hidden]{
  display:none !important;
}

@media (max-width:1080px){
  .qtf-hub__serviceGrid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media (max-width:820px){
  .qtf-hub__toolbar{
    grid-template-columns:1fr;
    align-items:start;
  }

  .qtf-hub__search{
    max-width:none;
  }

  .qtf-hub__serviceGrid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .qtf-hub-about{
    grid-template-columns:1fr;
    gap:10px;
  }

  .qtf-hub-faq__list{
    grid-template-columns:1fr;
  }
}

@media (max-width:560px){
  .qtf-hub-page{
    padding:8px 0 32px;
  }

  .qtf-hub-shell{
    gap:9px;
    width:min(100% - 14px,1240px);
  }

  .qtf-hub-breadcrumb{
    min-height:25px;
    padding:0 3px;
    font-size:10.5px;
  }

  .qtf-hub,
  .qtf-hub-about,
  .qtf-hub-faq{
    border-radius:17px;
  }

  .qtf-hub__head{
    grid-template-columns:44px minmax(0,1fr);
    gap:10px;
    padding:14px 13px 12px;
  }

  .qtf-hub__icon{
    width:44px;
    height:44px;
    border-radius:14px;
  }

  .qtf-hub__icon svg{
    width:21px;
    height:21px;
  }

  .qtf-hub__icon::after{
    top:6px;
    right:6px;
    width:5px;
    height:5px;
  }

  .qtf-hub__eyebrow{
    margin-bottom:5px;
    font-size:8px;
  }

  .qtf-hub__title{
    font-size:1.58rem;
    line-height:1.03;
  }

  .qtf-hub__description{
    margin-top:6px;
    font-size:11.5px;
    line-height:1.5;
  }

  .qtf-hub__meta{
    gap:5px;
    margin-top:8px;
  }

  .qtf-hub__metaItem{
    min-height:22px;
    padding:0 7px;
    font-size:8.5px;
  }

  .qtf-hub__directory{
    margin:7px;
    padding:10px;
    border-radius:13px;
  }

  .qtf-hub__toolbar h2{
    font-size:15px;
  }

  .qtf-hub__toolbar p{
    font-size:10.5px;
  }

  .qtf-hub__searchInput{
    min-height:42px;
    font-size:11.5px;
  }

  .qtf-hub__filters{
    width:calc(100% + 10px);
    margin-right:-10px;
    padding-right:10px;
    scrollbar-width:none;
  }

  .qtf-hub__filters::-webkit-scrollbar{
    display:none;
  }

  .qtf-hub__filter{
    min-height:36px;
    padding:0 10px;
    font-size:10px;
  }

  .qtf-hub__resultBar{
    align-items:flex-start;
    font-size:9.5px;
  }

  .qtf-hub__resultBar span:last-child{
    display:none;
  }

  .qtf-hub__serviceGrid{
    grid-template-columns:1fr;
    gap:6px;
    margin-top:8px;
  }

  .qtf-hub__service{
    grid-template-columns:32px minmax(0,1fr) 17px;
    min-height:52px;
    padding:7px 8px;
    border-radius:11px;
  }

  .qtf-hub__serviceIcon{
    width:32px;
    height:32px;
    border-radius:9px;
  }

  .qtf-hub__serviceTitle{
    font-size:11.5px;
  }

  .qtf-hub__servicePlatform{
    font-size:9px;
  }

  .qtf-hub__rules{
    display:grid;
    gap:7px;
    padding:9px 3px 1px;
    font-size:9.5px;
  }

  .qtf-hub-about{
    padding:16px 14px;
  }

  .qtf-hub-about__head h2,
  .qtf-hub-faq__head h2{
    font-size:1.2rem;
  }

  .qtf-hub-about__copy{
    font-size:12px;
    line-height:1.65;
  }

  .qtf-hub-faq{
    padding:15px 12px 13px;
  }

  .qtf-hub-faq summary{
    min-height:46px;
    padding:9px 10px;
    font-size:11px;
  }

  .qtf-hub-faq__answer{
    padding:0 10px 10px;
    font-size:11px;
  }
}

@media (prefers-reduced-motion:reduce){
  .qtf-hub-page *,
  .qtf-hub-page *::before,
  .qtf-hub-page *::after{
    scroll-behavior:auto !important;
    transition:none !important;
    animation:none !important;
  }
}
