/* YConv FAQ: editorial knowledge base with quiet enterprise motion. */
.faq-body { background: #060d1a; }
.faq-page { position: relative; overflow: clip; color: #e2edf4; background: radial-gradient(circle at 77% 8%, rgb(14 116 144 / .16), transparent 31rem), radial-gradient(circle at 16% 52%, rgb(30 64 175 / .08), transparent 34rem), #060d1a; }
.faq-page::before { position: absolute; inset: 0 0 auto; height: 42rem; background-image: linear-gradient(rgb(148 163 184 / .035) 1px, transparent 1px), linear-gradient(90deg, rgb(148 163 184 / .035) 1px, transparent 1px); background-size: 52px 52px; mask-image: linear-gradient(to bottom, rgb(0 0 0 / .7), transparent 90%); content: ''; pointer-events: none; }
.faq-shell { width: min(100% - 3rem, 78rem); margin-inline: auto; }
.faq-hero { position: relative; border-bottom: 1px solid rgb(148 163 184 / .1); }
.faq-hero__layout { display: grid; grid-template-columns: minmax(0, 1.04fr) minmax(0, 1fr); align-items: center; gap: 2.8rem; padding-block: 4.5rem 3rem; }
.faq-hero__copy { position: relative; z-index: 1; }
.faq-eyebrow, .faq-overline { color: #77d9e5; font-size: .62rem; font-weight: 750; letter-spacing: .18em; line-height: 1.4; text-transform: uppercase; }
.faq-eyebrow { display: flex; align-items: center; gap: .55rem; }
.faq-eyebrow__dot { width: .42rem; height: .42rem; flex: 0 0 auto; border-radius: 999px; background: #67e8f9; box-shadow: 0 0 0 .27rem rgb(103 232 249 / .1); }
.faq-eyebrow__line { display: inline-block; width: 2.3rem; height: 1px; margin-left: .15rem; background: linear-gradient(90deg, rgb(103 232 249 / .7), transparent); }
.faq-hero h1 { max-width: 40rem; margin-top: 1.3rem; color: #f8fbfd; font-size: clamp(2.875rem, 5.3vw, 4.375rem); font-weight: 650; letter-spacing: -.058em; line-height: 1.07; }
.faq-hero h1 span, .faq-contact h2 span { color: #89e7ef; }
.faq-hero__intro { max-width: 31rem; margin-top: 1.5rem; color: #9db0bf; font-size: .96rem; line-height: 1.8; }
.faq-hero__assurance { display: flex; flex-wrap: wrap; gap: .55rem 1.2rem; margin-top: 1.55rem; }
.faq-hero__assurance span { display: inline-flex; align-items: center; gap: .42rem; color: #b9cbd6; font-size: .7rem; font-weight: 600; }
.faq-hero__assurance .faq-icon { width: .95rem; height: .95rem; color: #67e8f9; }
.faq-hero-visual { position: relative; align-self: center; overflow: hidden; border: 1px solid rgb(93 139 156 / .34); border-radius: 1.65rem; background: linear-gradient(145deg, rgb(13 39 56 / .75), rgb(7 17 31 / .82) 70%); box-shadow: inset 0 1px rgb(255 255 255 / .05), 0 28px 80px rgb(2 6 23 / .25); }
.faq-hero-visual::after { position: absolute; inset: 0; background: linear-gradient(120deg, transparent 35%, rgb(103 232 249 / .035) 50%, transparent 67%); content: ''; pointer-events: none; }
.faq-hero-visual__label, .faq-hero-visual__caption { position: absolute; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 1rem; color: #7795a5; font-size: .55rem; font-weight: 700; letter-spacing: .16em; }
.faq-hero-visual__label { top: 1.1rem; right: 1.25rem; left: 1.25rem; padding-bottom: .85rem; border-bottom: 1px solid rgb(148 163 184 / .13); }
.faq-hero-visual__label span:last-child { display: inline-flex; align-items: center; gap: .45rem; color: #a4c8d1; }
.faq-hero-visual__label i { width: .34rem; height: .34rem; border-radius: 999px; background: #67e8f9; box-shadow: 0 0 0 .25rem rgb(103 232 249 / .1); }
.faq-hero-visual__caption { right: 1.25rem; bottom: 1rem; left: 1.25rem; padding-top: .85rem; border-top: 1px solid rgb(148 163 184 / .13); }
.faq-hero-visual__caption span:first-child { display: inline-flex; align-items: center; gap: .45rem; color: #b3d4dc; letter-spacing: .08em; }
.faq-hero-visual__caption .faq-icon { width: .88rem; height: .88rem; color: #67e8f9; }
.faq-orbit { display: block; width: 100%; height: auto; padding: 2.6rem .5rem 2.7rem; }
.faq-orbit__grid { animation: faq-grid-breathe 8s ease-in-out infinite; transform-origin: center; }
.faq-orbit__routes { animation: faq-route 18s linear infinite; }
.faq-orbit__node { transform-box: fill-box; transform-origin: center; animation: faq-node-pulse 3.5s ease-in-out infinite; }
.faq-orbit__node--two { animation-delay: 1.1s; }
.faq-orbit__node--three { animation-delay: 2.2s; }
.faq-orbit__core { transform-origin: 260px 191px; animation: faq-core-float 6s ease-in-out infinite; }
.faq-orbit__bars path { animation: faq-bar 2.8s ease-in-out infinite alternate; transform-box: fill-box; transform-origin: center bottom; }
.faq-orbit__bars path:nth-child(2n) { animation-delay: -.8s; }
.faq-orbit__bars path:nth-child(3n) { animation-delay: -1.5s; }
.faq-orbit__tag { animation: faq-tag-float 7s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
.faq-orbit__tag--right { animation-delay: -3s; }
.faq-workspace { position: relative; z-index: 1; padding-top: 2.2rem; }
.faq-search-card { padding: 1.4rem 1.5rem 1.2rem; border: 1px solid rgb(103 232 249 / .2); border-radius: 1.3rem; background: linear-gradient(120deg, rgb(16 38 54 / .91), rgb(10 22 38 / .92)); box-shadow: 0 24px 70px rgb(2 6 23 / .25), inset 0 1px rgb(255 255 255 / .045); }
.faq-search-card__heading { display: flex; align-items: center; gap: .8rem; }
.faq-search-card__icon, .faq-contact__icon { display: grid; width: 2.65rem; height: 2.65rem; flex: 0 0 auto; place-items: center; border: 1px solid rgb(103 232 249 / .25); border-radius: .85rem; color: #67e8f9; background: rgb(103 232 249 / .08); }
.faq-search-card__icon .faq-icon, .faq-contact__icon .faq-icon { width: 1.25rem; height: 1.25rem; }
.faq-search-card h2 { margin-top: .14rem; color: #f1f7fa; font-size: 1.05rem; font-weight: 650; letter-spacing: -.02em; }
.faq-search-card__status { display: inline-flex; align-items: center; gap: .45rem; margin-left: auto; color: #7fa5b1; font-size: .55rem; font-weight: 700; letter-spacing: .14em; }
.faq-search-card__status i { width: .36rem; height: .36rem; border-radius: 999px; background: #5eead4; box-shadow: 0 0 0 .28rem rgb(94 234 212 / .08); animation: faq-status-pulse 2.2s ease-in-out infinite; }
.faq-search-wrap { position: relative; margin-top: 1.1rem; }
.faq-search-wrap__icon { position: absolute; top: 50%; left: 1rem; color: #6f8b9d; transform: translateY(-50%); pointer-events: none; }
.faq-search-wrap__icon .faq-icon { width: 1.15rem; height: 1.15rem; }
.faq-search-wrap input { width: 100%; min-height: 3.4rem; padding: .8rem 7rem .8rem 2.95rem; border: 1px solid rgb(148 163 184 / .2); border-radius: .9rem; outline: 0; color: #effbfe; background: rgb(2 6 23 / .55); font: inherit; font-size: .84rem; transition: border-color .2s, box-shadow .2s, background .2s; }
.faq-search-wrap input::placeholder { color: #647d8f; }
.faq-search-wrap input:hover { border-color: rgb(148 163 184 / .35); }
.faq-search-wrap input:focus { border-color: rgb(103 232 249 / .75); background: rgb(2 6 23 / .75); box-shadow: 0 0 0 4px rgb(34 211 238 / .1); }
.faq-search-wrap__shortcut { position: absolute; top: 50%; right: 1rem; display: inline-flex; gap: .25rem; transform: translateY(-50%); pointer-events: none; }
.faq-search-wrap__shortcut kbd, .faq-search-help kbd { min-width: 1.35rem; padding: .2rem .35rem; border: 1px solid rgb(148 163 184 / .18); border-radius: .28rem; color: #96b3bf; background: rgb(148 163 184 / .08); font-size: .6rem; font-family: inherit; text-align: center; }
.faq-search-wrap__clear { position: absolute; top: 50%; right: 1rem; display: grid; width: 2rem; height: 2rem; place-items: center; border: 0; border-radius: .5rem; color: #a5f3fc; background: rgb(103 232 249 / .1); cursor: pointer; font-size: 1.2rem; line-height: 1; transform: translateY(-50%); }
.faq-search-wrap__clear:hover { background: rgb(103 232 249 / .18); }
.faq-search-help { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: .7rem .15rem 0; color: #7793a2; font-size: .68rem; line-height: 1.5; }
.faq-search-help > span:last-child { display: inline-flex; align-items: center; gap: .25rem; }
.faq-layout { display: grid; grid-template-columns: 15.25rem minmax(0, 1fr); align-items: start; gap: 3.2rem; padding-top: 3.15rem; }
.faq-rail { position: sticky; top: 6.9rem; }
.faq-rail__heading { display: flex; align-items: center; justify-content: space-between; padding: 0 .25rem .75rem; border-bottom: 1px solid rgb(148 163 184 / .15); color: #668392; font-size: .57rem; font-weight: 750; letter-spacing: .18em; }
.faq-rail__heading span:last-child { color: #9dc8d2; }
.faq-category-list { display: grid; gap: .25rem; padding-top: .75rem; }
.faq-category { display: grid; min-width: 0; grid-template-columns: 2.3rem minmax(0, 1fr) auto; align-items: center; gap: .6rem; padding: .6rem .55rem; border: 1px solid transparent; border-radius: .8rem; color: #91a7b5; background: transparent; cursor: pointer; text-align: left; transition: color .2s, background .2s, border-color .2s, transform .2s; }
.faq-category:hover { border-color: rgb(103 232 249 / .16); color: #d5ebf0; background: rgb(103 232 249 / .045); transform: translateX(2px); }
.faq-category.is-active { border-color: rgb(103 232 249 / .18); color: #dff8fb; background: linear-gradient(110deg, rgb(103 232 249 / .11), rgb(103 232 249 / .025)); }
.faq-category__icon { display: grid; width: 2.2rem; height: 2.2rem; place-items: center; border: 1px solid rgb(103 232 249 / .13); border-radius: .7rem; color: #6eb9c5; background: rgb(103 232 249 / .045); }
.faq-category.is-active .faq-category__icon { border-color: rgb(103 232 249 / .35); color: #8cebf3; background: rgb(103 232 249 / .1); }
.faq-category__icon .faq-icon { width: 1.05rem; height: 1.05rem; }
.faq-category strong, .faq-category small { display: block; }
.faq-category strong { overflow: hidden; color: inherit; font-size: .73rem; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.faq-category small { margin-top: .18rem; overflow: hidden; color: #688191; font-size: .59rem; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.faq-category b { align-self: start; margin-top: .12rem; color: #6e8998; font-size: .6rem; font-weight: 650; }
.faq-category.is-active b { color: #9ceaf1; }
.faq-rail__note { margin-top: 1.7rem; padding: .9rem; border: 1px solid rgb(148 163 184 / .12); border-radius: .85rem; background: rgb(15 31 48 / .5); }
.faq-rail__note > span { display: grid; width: 1.85rem; height: 1.85rem; place-items: center; border-radius: .55rem; color: #67e8f9; background: rgb(103 232 249 / .08); }
.faq-rail__note > span .faq-icon { width: 1rem; height: 1rem; }
.faq-rail__note p { margin-top: .7rem; color: #7894a2; font-size: .67rem; line-height: 1.6; }
.faq-rail__note strong { color: #cbe4eb; font-weight: 650; }
.faq-rail__note a { display: inline-flex; align-items: center; gap: .4rem; margin-top: .85rem; color: #7de0ea; font-size: .65rem; font-weight: 700; text-decoration: none; }
.faq-rail__note a:hover { color: #d5fbff; }
.faq-rail__note a .faq-icon { width: .85rem; height: .85rem; transition: transform .2s; }
.faq-rail__note a:hover .faq-icon { transform: translateX(3px); }
.faq-results { min-width: 0; }
.faq-results__top { display: flex; align-items: end; gap: 1rem; padding-bottom: 1.25rem; border-bottom: 1px solid rgb(148 163 184 / .13); }
.faq-results__top h2 { margin-top: .35rem; color: #edf7fa; font-size: clamp(1.45rem, 2.4vw, 2rem); font-weight: 620; letter-spacing: -.045em; }
.faq-results__rule { flex: 1; height: 1px; margin-bottom: .4rem; background: linear-gradient(90deg, rgb(103 232 249 / .3), transparent); }
.faq-results__updated { margin-bottom: .35rem; color: #6f8997; font-size: .6rem; white-space: nowrap; }
.faq-section { padding-top: 2.1rem; }
.faq-section[hidden] { display: none; }
.faq-section__heading { display: flex; align-items: end; gap: .85rem; margin-bottom: .85rem; }
.faq-section__index { align-self: start; min-width: 2.25rem; padding-top: .13rem; color: #67e8f9; font-size: .65rem; font-weight: 750; letter-spacing: .12em; }
.faq-section__heading p { color: #6f8d9c; font-size: .65rem; }
.faq-section__heading h2 { margin-top: .18rem; color: #e4f1f5; font-size: 1.16rem; font-weight: 650; letter-spacing: -.025em; }
.faq-section__count { margin-left: auto; padding-bottom: .12rem; color: #63808f; font-size: .62rem; white-space: nowrap; }
.faq-items { border-top: 1px solid rgb(148 163 184 / .15); }
.faq-item { border-bottom: 1px solid rgb(148 163 184 / .13); }
.faq-item[hidden] { display: none; }
.faq-item__trigger { display: grid; width: 100%; min-height: 4.25rem; grid-template-columns: 2.35rem minmax(0, 1fr) 2rem; align-items: center; gap: .85rem; padding: .75rem .2rem; border: 0; color: #c4d5de; background: transparent; cursor: pointer; text-align: left; transition: color .2s, padding .2s; }
.faq-item__trigger:hover { color: #ecfeff; padding-left: .35rem; }
.faq-item__trigger:focus-visible, .faq-category:focus-visible, .faq-button:focus-visible, .faq-rail__note a:focus-visible { outline: 2px solid #67e8f9; outline-offset: 3px; }
.faq-item__number { color: #587687; font-size: .61rem; font-weight: 700; letter-spacing: .12em; }
.faq-item__question { font-size: .88rem; font-weight: 560; line-height: 1.5; }
.faq-item__toggle { display: grid; width: 1.8rem; height: 1.8rem; margin-left: auto; place-items: center; border: 1px solid rgb(103 232 249 / .2); border-radius: .55rem; color: #75dbe5; background: rgb(103 232 249 / .045); transition: transform .25s, color .2s, background .2s; }
.faq-item__toggle .faq-icon { width: .95rem; height: .95rem; }
.faq-item.is-open .faq-item__trigger { color: #a5f3fc; }
.faq-item.is-open .faq-item__toggle { color: #052f3e; background: #8cebf3; transform: rotate(45deg); }
.faq-item__answer { overflow: hidden; padding: 0 2.9rem 1.15rem 3.2rem; }
.faq-item__answer > div { max-width: 43rem; padding: .1rem 0 0; border-left: 1px solid rgb(103 232 249 / .23); padding-left: 1.05rem; }
.faq-item__answer p { color: #8fa6b3; font-size: .78rem; line-height: 1.8; }
.faq-item__answer-mark { display: inline-flex; align-items: center; gap: .35rem; margin-top: .75rem; color: #5e9aa5; font-size: .56rem; font-weight: 700; letter-spacing: .11em; }
.faq-item__answer-mark .faq-icon { width: .82rem; height: .82rem; color: #67e8f9; }
.faq-empty { padding: 4rem 1rem; border: 1px dashed rgb(103 232 249 / .2); border-radius: 1rem; text-align: center; }
.faq-empty[hidden] { display: none; }
.faq-empty__icon { display: grid; width: 3rem; height: 3rem; margin: 0 auto; place-items: center; border: 1px solid rgb(103 232 249 / .22); border-radius: 1rem; color: #67e8f9; background: rgb(103 232 249 / .08); }
.faq-empty__icon .faq-icon { width: 1.3rem; height: 1.3rem; }
.faq-empty h2 { margin-top: 1rem; color: #eaf7fa; font-size: 1.15rem; font-weight: 650; }
.faq-empty p { margin-top: .45rem; color: #829aa8; font-size: .78rem; }
.faq-button { display: inline-flex; min-height: 2.75rem; align-items: center; justify-content: center; gap: .55rem; padding: .7rem 1rem; border: 1px solid rgb(165 243 252 / .3); border-radius: .75rem; color: #073347; background: linear-gradient(135deg, #a5f3fc, #67dce9); box-shadow: inset 0 1px rgb(255 255 255 / .55), 0 7px 20px rgb(34 211 238 / .12); font-size: .72rem; font-weight: 750; text-decoration: none; transition: transform .2s, box-shadow .2s, background .2s; }
.faq-button:hover { background: #cffafe; box-shadow: 0 10px 25px rgb(34 211 238 / .2); transform: translateY(-1px); }
.faq-button .faq-icon { width: 1rem; height: 1rem; }
.faq-button--quiet { border-color: rgb(103 232 249 / .22); color: #8fe2ea; background: rgb(103 232 249 / .06); box-shadow: none; cursor: pointer; }
.faq-button--quiet:hover { color: #d7fbfe; background: rgb(103 232 249 / .12); }
.faq-contact { position: relative; display: grid; min-height: 15.2rem; grid-template-columns: minmax(0, 1fr) minmax(20rem, .8fr); align-items: center; gap: 2rem; margin-top: 5rem; margin-bottom: 4.3rem; padding: 2.5rem 3rem; overflow: hidden; border: 1px solid rgb(103 232 249 / .22); border-radius: 1.5rem; background: linear-gradient(118deg, rgb(13 45 61 / .92), rgb(11 25 42 / .9) 68%); box-shadow: inset 0 1px rgb(255 255 255 / .05), 0 25px 60px rgb(2 6 23 / .22); }
.faq-contact__glow { position: absolute; top: -11rem; right: 13%; width: 23rem; height: 23rem; border-radius: 50%; background: rgb(34 211 238 / .13); filter: blur(35px); pointer-events: none; }
.faq-contact__copy, .faq-contact__action { position: relative; z-index: 1; }
.faq-contact h2 { margin-top: .65rem; color: #f3fafc; font-size: clamp(1.55rem, 3vw, 2.45rem); font-weight: 620; letter-spacing: -.055em; line-height: 1.08; }
.faq-contact__copy > p:last-child { max-width: 31rem; margin-top: .85rem; color: #9eb5c0; font-size: .8rem; line-height: 1.7; }
.faq-contact__action { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: .8rem 1rem; padding: 1.1rem; border: 1px solid rgb(148 163 184 / .14); border-radius: 1rem; background: rgb(2 6 23 / .3); }
.faq-contact__action strong { display: block; margin-top: .22rem; color: #d7f5f8; font-size: .82rem; font-weight: 600; }
.faq-contact__action .faq-button { grid-column: 1 / -1; margin-top: .35rem; }
@keyframes faq-route { to { stroke-dashoffset: -180; } }
@keyframes faq-grid-breathe { 50% { opacity: .55; transform: scale(1.015); } }
@keyframes faq-node-pulse { 50% { opacity: .55; transform: scale(.72); } }
@keyframes faq-core-float { 50% { transform: translateY(-5px); filter: drop-shadow(0 14px 13px rgb(34 211 238 / .14)); } }
@keyframes faq-bar { 50% { transform: scaleY(.55); opacity: .7; } }
@keyframes faq-tag-float { 50% { transform: translateY(-4px); } }
@keyframes faq-status-pulse { 50% { box-shadow: 0 0 0 .3rem rgb(94 234 212 / 0); } }
@media (max-width: 980px) {
  .faq-hero__layout { gap: 1.5rem; }
  .faq-hero h1 { font-size: 3.4375rem; }
  .faq-layout { gap: 2rem; }
  .faq-rail { top: 6.3rem; }
  .faq-contact { grid-template-columns: 1fr minmax(18rem, .8fr); padding-inline: 2rem; }
}
@media (max-width: 760px) {
  .faq-shell { width: min(100% - 2rem, 42rem); }
  .faq-hero__layout { display: block; padding-block: 2.8rem 2.4rem; }
  .faq-hero__copy { padding-block: 0 1.75rem; }
  .faq-hero h1 { font-size: clamp(2.875rem, 9vw, 4rem); }
  .faq-hero__intro { max-width: 33rem; font-size: .88rem; }
  .faq-hero-visual { width: min(100%, 33rem); margin-inline: auto; }
  .faq-orbit { padding-block: 2.3rem 2.4rem; }
  .faq-workspace { padding-top: 1.5rem; }
  .faq-search-card { padding: 1.1rem 1rem .95rem; }
  .faq-layout { display: block; padding-top: 2rem; }
  .faq-rail { position: static; }
  .faq-rail__heading { padding-inline: .1rem; }
  .faq-category-list { display: flex; overflow-x: auto; gap: .45rem; padding: .7rem .05rem .55rem; scrollbar-width: thin; }
  .faq-category { min-width: 10.5rem; grid-template-columns: 1.8rem minmax(0, 1fr) auto; padding: .5rem; }
  .faq-category__icon { width: 1.8rem; height: 1.8rem; border-radius: .58rem; }
  .faq-category__icon .faq-icon { width: .88rem; height: .88rem; }
  .faq-category strong { font-size: .66rem; }
  .faq-category small { font-size: .55rem; }
  .faq-rail__note { display: none; }
  .faq-results { padding-top: 1.3rem; }
  .faq-results__top { align-items: start; flex-wrap: wrap; gap: .5rem 1rem; }
  .faq-results__rule { display: none; }
  .faq-results__updated { width: 100%; margin: 0; }
  .faq-section { padding-top: 1.8rem; }
  .faq-item__trigger { grid-template-columns: 1.8rem minmax(0, 1fr) 1.8rem; gap: .55rem; min-height: 4rem; }
  .faq-item__question { font-size: .82rem; }
  .faq-item__answer { padding-right: .4rem; padding-left: 2.35rem; }
  .faq-contact { display: block; min-height: 0; margin-top: 3.4rem; margin-bottom: 2.5rem; padding: 2rem 1.25rem; }
  .faq-contact__action { margin-top: 1.6rem; }
}
@media (max-width: 430px) {
  .faq-eyebrow { font-size: .56rem; letter-spacing: .13em; }
  .faq-eyebrow__line { width: 1.2rem; }
  .faq-hero__assurance { gap: .5rem .8rem; }
  .faq-hero__assurance span { font-size: .63rem; }
  .faq-hero h1 { font-size: 2.8125rem; }
  .faq-hero-visual { border-radius: 1.15rem; }
  .faq-orbit { padding-top: 2.1rem; }
  .faq-hero-visual__label, .faq-hero-visual__caption { right: .85rem; left: .85rem; font-size: .48rem; }
  .faq-hero-visual__caption span:last-child { display: none; }
  .faq-search-card__status { display: none; }
  .faq-search-wrap input { padding-right: 1rem; font-size: .78rem; }
  .faq-search-wrap__shortcut { display: none; }
  .faq-search-help { display: block; }
  .faq-search-help > span:last-child { margin-top: .35rem; }
  .faq-section__heading { align-items: start; }
  .faq-section__count { font-size: .56rem; }
  .faq-item__answer { padding-left: 1.95rem; }
  .faq-contact__action { grid-template-columns: auto minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  .faq-page *, .faq-page *::before, .faq-page *::after { animation: none !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
