:root {
    --navy:       #081e52;
    --blue:       #1e5bff;
    --blue-dark:  #1040cc;
    --blue-pale:  #eef3ff;
    --white:      #ffffff;
    --bg:         #f4f7ff;
    --border:     #e4ecff;
    --border-md:  #c8d3ef;
    --text-main:  #111827;
    --green-acc:  #0db57a;
    --orange:     #f59e0b;
    --red:        #ef4444;
    --ease:       cubic-bezier(0.4,0,0.2,1);
}
*, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body { font-family:'Manrope',sans-serif; background:var(--bg); color:var(--text-main); -webkit-font-smoothing:antialiased; }
.container { max-width:1280px; margin:0 auto; padding:0 28px; }

.topbar { background:var(--white); border-bottom:1.5px solid var(--border); padding:12px 0; }
.breadcrumb { display:flex; align-items:center; gap:7px; flex-wrap:wrap; font-size:.78rem; color:#536485; }
.breadcrumb a { color:var(--blue); text-decoration:none; font-weight:600; }
.breadcrumb a:hover { opacity:.75; }
.bc-sep { color:var(--border-md); }

.page-hero {
    background:linear-gradient(135deg,var(--navy) 0%,#0a2466 40%,#0d3380 100%);
    position:relative; overflow:hidden; padding:72px 0 80px;
}
.page-hero::before {
    content:''; position:absolute; inset:0;
    background:radial-gradient(ellipse 60% 80% at 78% 50%,rgba(30,91,255,.22) 0%,transparent 60%),
                radial-gradient(ellipse 35% 40% at 8% 80%,rgba(95,139,255,.12) 0%,transparent 55%);
    pointer-events:none;
}
.hero-grid {
    position:absolute; inset:0;
    background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);
    background-size:60px 60px;
    mask-image:radial-gradient(ellipse 90% 90% at 50% 50%,black 30%,transparent 80%);
}
.hero-inner { position:relative; z-index:2; }
.hero-badge {
    display:inline-flex; align-items:center; gap:8px;
    font-family:'Outfit',sans-serif; font-size:.7rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
    color:rgba(255,255,255,.65); background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14);
    border-radius:100px; padding:5px 15px; margin-bottom:20px;
}
.page-hero h1 { font-family:'Outfit',sans-serif; font-size:clamp(2rem,4vw,3.1rem); font-weight:900; color:#fff; letter-spacing:-.04em; line-height:1.1; margin-bottom:14px; }
.page-hero h1 em { font-style:normal; color:transparent; background:linear-gradient(90deg,#6FB3FF 0%,#A5C8FF 100%); -webkit-background-clip:text; background-clip:text; }
.hero-sub { font-size:.95rem; color:rgba(255,255,255,.55); max-width:520px; line-height:1.68; margin-bottom:28px; }

.hero-search-wrap {
    display:flex; align-items:stretch; max-width:520px;
    background:rgba(255,255,255,.1); border:1.5px solid rgba(255,255,255,.2);
    border-radius:14px; overflow:hidden; backdrop-filter:blur(12px);
    transition:border-color .2s,background .2s;
}
.hero-search-wrap:focus-within { background:rgba(255,255,255,.15); border-color:rgba(255,255,255,.38); }
.hs-ico { display:flex; align-items:center; padding:0 12px 0 16px; color:rgba(255,255,255,.45); flex-shrink:0; }
.hs-ico svg { width:17px; height:17px; }
#faq-search {
    flex:1; border:none; background:transparent;
    font-family:'Manrope',sans-serif; font-size:.92rem; font-weight:600;
    color:#fff; padding:15px 0; outline:none; min-width:0;
}
#faq-search::placeholder { color:rgba(255,255,255,.38); font-weight:500; }
.hs-clear {
    display:none; align-items:center; padding:0 10px;
    background:none; border:none; cursor:pointer; color:rgba(255,255,255,.5); transition:color .15s;
}
.hs-clear:hover { color:#fff; }
.hs-clear svg { width:14px; height:14px; }
.hs-clear.show { display:flex; }
.hs-btn {
    padding:0 22px; background:var(--blue); color:#fff;
    font-family:'Outfit',sans-serif; font-size:.85rem; font-weight:800;
    border:none; cursor:pointer; transition:background .2s; white-space:nowrap;
}
.hs-btn:hover { background:var(--blue-dark); }

.quick-tags { display:flex; gap:7px; flex-wrap:wrap; margin-top:18px; }
.qtag {
    padding:5px 13px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14);
    border-radius:100px;font-family:'Outfit',sans-serif; font-size:.72rem; font-weight:700;
    color:rgba(255,255,255,.65); cursor:pointer; transition:all .18s; letter-spacing:.02em;
}
.qtag:hover { background:rgba(255,255,255,.18); color:#fff; border-color:rgba(255,255,255,.35); }

.hero-stats { display:flex; align-items:center; gap:28px; margin-top:22px; flex-wrap:wrap; }
.hs-item { font-size:.78rem; font-weight:600; color:rgba(255,255,255,.5); display:flex; align-items:center; gap:7px; }
.hs-item strong { font-family:'Outfit',sans-serif; font-size:.95rem; font-weight:800; color:#fff; }
.hs-dot { width:3px; height:3px; background:rgba(255,255,255,.25); border-radius:50%; }

.hero-stats { display:none !important;}

.cat-nav { background:var(--white); border-bottom:1.5px solid var(--border); position:sticky; top:0; z-index:50; }
.cat-nav-inner {
    display:flex; overflow-x:auto; scrollbar-width:none; -ms-overflow-style:none;
    max-width:1280px; margin:0 auto; padding:0 28px;
}
.cat-nav-inner::-webkit-scrollbar { display:none; }
.cat-tab {
    display:flex; align-items:center; gap:7px; padding:13px 18px;
    border-bottom:2.5px solid transparent;
    font-family:'Outfit',sans-serif; font-size:.82rem; font-weight:700;
    color:#536485; cursor:pointer; text-decoration:none;
    white-space:nowrap; transition:all .18s; flex-shrink:0;
}
.cat-tab svg { width:14px; height:14px; }
.cat-tab:hover { color:var(--navy); border-color:var(--border-md); }
.cat-tab.active { color:var(--blue); border-color:var(--blue); }
.cat-count { font-size:.62rem; font-weight:800; padding:2px 7px; border-radius:100px; background:var(--bg); color:#536485; transition:all .18s; }
.cat-tab.active .cat-count { background:rgba(30,91,255,.12); color:var(--blue-dark); }

.mobile-cats { display:none; padding:14px 16px 0; gap:7px; flex-wrap:wrap; }
.mob-cat {
    display:inline-flex; align-items:center; gap:6px; padding:7px 14px;
    background:var(--white); border:1.5px solid var(--border); border-radius:100px;
    font-family:'Outfit',sans-serif; font-size:.78rem; font-weight:700;
    color:#536485; cursor:pointer; transition:all .18s;
}
.mob-cat svg { width:12px; height:12px; }
.mob-cat:hover { border-color:var(--blue); color:var(--blue); }
.mob-cat.active { background:var(--blue); border-color:var(--blue); color:#fff; }

.color-blue   { color:var(--blue); }      .icon-bg-blue   { background:rgba(30,91,255,.1); }
.color-green  { color:var(--green-acc); } .icon-bg-green  { background:rgba(13,181,122,.1); }
.color-red    { color:var(--red); }       .icon-bg-red    { background:rgba(239,68,68,.1); }
.color-orange { color:var(--orange); }    .icon-bg-orange { background:rgba(245,158,11,.1); }
.color-navy   { color:var(--navy); }      .icon-bg-navy   { background:rgba(8,30,82,.08); }

.faq-layout { display:grid; grid-template-columns:272px 1fr; gap:36px; padding:40px 0 80px; align-items:start; }

.faq-sidebar { position:sticky; top:80px; display:flex; flex-direction:column; gap:14px; }
.sidebar-card { background:var(--white); border:1.5px solid var(--border); border-radius:20px; overflow:hidden; }
.sc-head { padding:16px 20px 12px; font-family:'Outfit',sans-serif; font-size:.72rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:#536485; border-bottom:1px solid var(--border); }
.sc-body { padding:10px; }
.sc-link { display:flex; align-items:center; gap:10px; padding:8px 10px; border-radius:11px; font-size:.82rem; font-weight:600; color:#536485; text-decoration:none; cursor:pointer; transition:all .15s; margin-bottom:2px; }
.sc-link:last-child { margin-bottom:0; }
.sc-link:hover, .sc-link.active { color:var(--blue); background:rgba(30,91,255,.07); }
.sc-link-icon { width:30px; height:30px; border-radius:9px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.sc-link-icon svg { width:13px; height:13px; }
.sc-cnt { margin-left:auto; font-family:'Outfit',sans-serif; font-size:.68rem; font-weight:800; color:#536485; background:var(--bg); padding:2px 7px; border-radius:100px; flex-shrink:0; }
.sc-link.active .sc-cnt { background:rgba(30,91,255,.12); color:var(--blue-dark); }

.cc-title { font-family:'Outfit',sans-serif; font-size:1rem; font-weight:800; color:#fff; margin-bottom:6px; position:relative; }
.cc-sub { font-size:.75rem; color:rgba(255,255,255,.55); line-height:1.55; margin-bottom:14px; position:relative; }
.cc-btn { display:inline-flex; align-items:center; justify-content:center; gap:7px; width:100%; padding:11px 0; background:#fff; color:var(--navy); font-family:'Outfit',sans-serif; font-size:.84rem; font-weight:800; border-radius:11px; text-decoration:none; transition:all .18s; position:relative; }
.cc-btn:hover { background:var(--blue-pale); }
.cc-btn svg { width:14px; height:14px; }
.cc-time { font-size:.68rem; color:rgba(255,255,255,.4); margin-top:10px; position:relative; }

.search-banner {
    display:none; align-items:center; gap:10px;
    background:rgba(30,91,255,.07); border:1.5px solid rgba(30,91,255,.16);
    border-radius:12px; padding:10px 16px; margin-bottom:18px;
    font-size:.82rem; color:var(--navy);
}
.search-banner.show { display:flex; }
.sb-count { font-family:'Outfit',sans-serif; font-weight:800; color:var(--blue); }
.sb-reset { margin-left:auto; display:flex; align-items:center; gap:5px; font-family:'Outfit',sans-serif; font-size:.75rem; font-weight:700; color:var(--blue); background:none; border:none; cursor:pointer; padding:4px 8px; border-radius:7px; transition:background .15s; }
.sb-reset:hover { background:rgba(30,91,255,.1); }
.sb-reset svg { width:12px; height:12px; }

.faq-main { display:flex; flex-direction:column; gap:28px; }

.no-results { display:none; padding:52px 24px; text-align:center; background:var(--white); border:1.5px solid var(--border); border-radius:20px; }
.no-results.show { display:block; }
.nr-icon { width:64px; height:64px; background:var(--bg); border-radius:18px; display:flex; align-items:center; justify-content:center; margin:0 auto 16px; }
.nr-icon svg { width:28px; height:28px; color:var(--border-md); }
.nr-title { font-family:'Outfit',sans-serif; font-size:1.1rem; font-weight:800; color:var(--navy); margin-bottom:8px; }
.nr-sub { font-size:.85rem; color:#536485; margin-bottom:20px; line-height:1.6; }
.nr-btn { display:inline-flex; align-items:center; gap:7px; padding:10px 22px; background:var(--blue); color:#fff; font-family:'Outfit',sans-serif; font-size:.85rem; font-weight:700; border:none; border-radius:11px; cursor:pointer; transition:background .2s; }
.nr-btn:hover { background:var(--blue-dark); }

.faq-section { scroll-margin-top:80px; }
.faq-section-head { display:flex; align-items:center; gap:14px; margin-bottom:14px; }
.fsh-icon { width:44px; height:44px; border-radius:13px; flex-shrink:0; display:flex; align-items:center; justify-content:center; }
.fsh-icon svg { width:20px; height:20px; }
.fsh-title { font-family:'Outfit',sans-serif; font-size:1.12rem; font-weight:900; color:var(--navy); letter-spacing:-.03em; }
.fsh-count { font-size:.73rem; font-weight:700; color:#536485; margin-top:2px; }

.faq-item {
    background:var(--white); border:1.5px solid var(--border);
    border-radius:16px; margin-bottom:8px; overflow:hidden;
    transition:border-color .2s,box-shadow .2s;
}
.faq-item:last-child { margin-bottom:0; }
.faq-item:hover { border-color:rgba(30,91,255,.22); box-shadow:0 2px 14px rgba(8,30,82,.06); }
.faq-item.open { border-color:rgba(30,91,255,.32); box-shadow:0 4px 22px rgba(8,30,82,.09); }

.faq-q { display:flex; align-items:center; gap:14px; padding:17px 20px; cursor:pointer; user-select:none; -webkit-user-select:none; }
.faq-q-icon { width:28px; height:28px; border-radius:8px; background:var(--bg); border:1.5px solid var(--border); display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:all .22s; }
.faq-q-icon svg { width:12px; height:12px; color:#536485; transition:transform .28s var(--ease); }
.faq-item.open .faq-q-icon { background:var(--blue); border-color:var(--blue); }
.faq-item.open .faq-q-icon svg { color:#fff; transform:rotate(45deg); }
.faq-q-text { flex:1; font-family:'Outfit',sans-serif; font-size:.95rem; font-weight:700; color:var(--navy); line-height:1.35; }
.faq-item.open .faq-q-text { color:var(--blue); }

.faq-a { max-height:0; overflow:hidden; transition:max-height .4s var(--ease); padding:0 20px; }
.faq-a.open { max-height:800px; }
.faq-a-inner { padding:14px 0 20px; border-top:1px dashed var(--border); font-size:.88rem; color:#3d4f7a; line-height:1.8; }
.faq-a-inner a { color:var(--blue); font-weight:600; }
.faq-a-inner strong { color:var(--navy); font-weight:700; }

mark.hl { background:rgba(30,91,255,.13); color:inherit; border-radius:3px; padding:0 2px; font-weight:700; }

.faq-a-footer {
    display:flex; align-items:center; gap:10px; margin-top:16px;
    padding-top:14px; border-top:1px solid var(--border);
    flex-wrap:wrap;
}
.helpful-label { font-size:.72rem; color:#536485; font-weight:600; white-space:nowrap; }
.helpful-btn {
    display:inline-flex; align-items:center; gap:5px; padding:4px 11px;
    background:var(--bg); border:1.5px solid var(--border); border-radius:8px;
    font-size:.72rem; font-weight:700; color:#536485; cursor:pointer; transition:all .16s;
}
.helpful-btn:hover { border-color:var(--blue); color:var(--blue); background:var(--blue-pale); }
.helpful-btn.voted { pointer-events:none; opacity: 0.5; }
.helpful-btn.selected { pointer-events:none; opacity: 1; }
.helpful-btn.yes.selected { background:rgba(13,181,122,.1); border-color:var(--green-acc); color:var(--green-acc); }
.helpful-btn.no.selected  { background:rgba(239,68,68,.07); border-color:var(--red); color:var(--red); }
.helpful-btn svg { width:12px; height:12px; }
.copy-link-btn {
    margin-left:auto; display:inline-flex; align-items:center; gap:5px;
    font-size:.72rem; font-weight:700; color:#536485; cursor:pointer;
    background:none; border:none; padding:4px 8px; border-radius:7px; transition:all .15s;
}
.copy-link-btn:hover { color:var(--blue); background:var(--blue-pale); }
.copy-link-btn svg { width:12px; height:12px; }
.copy-link-btn.copied { color:var(--green-acc); }

.still-help {
    background:linear-gradient(135deg,var(--navy) 0%,#0a2466 55%,#1052c8 100%);
    border-radius:24px; padding:48px; position:relative; overflow:hidden;
    display:grid; grid-template-columns:1fr auto; gap:32px; align-items:center; margin-top:12px;
}
.still-help::before { content:''; position:absolute; right:-80px; top:-80px; width:300px; height:300px; background:rgba(255,255,255,.04); border-radius:50%; pointer-events:none; }
.still-help::after  { content:''; position:absolute; left:30%; bottom:-60px; width:220px; height:220px; background:rgba(30,91,255,.18); border-radius:50%; pointer-events:none; }
.sh-content { position:relative; z-index:2; }
.sh-label { display:inline-flex; align-items:center; gap:6px; font-family:'Outfit',sans-serif; font-size:.68rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.55); background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12); border-radius:100px; padding:4px 13px; margin-bottom:14px; }
.sh-title { font-family:'Outfit',sans-serif; font-size:1.6rem; font-weight:900; color:#fff; letter-spacing:-.03em; line-height:1.2; margin-bottom:10px; }
.sh-sub { font-size:.88rem; color:rgba(255,255,255,.55); line-height:1.65; max-width:420px; }
.sh-actions { position:relative; z-index:2; display:flex; flex-direction:column; gap:10px; flex-shrink:0; }
.sh-btn { display:flex; align-items:center; justify-content:center; gap:8px; padding:13px 24px; font-family:'Outfit',sans-serif; font-size:.88rem; font-weight:800; border-radius:13px; text-decoration:none; transition:all .2s; cursor:pointer; white-space:nowrap; border:none; }
.sh-btn.primary { background:#fff; color:var(--navy); box-shadow:0 4px 18px rgba(0,0,0,.15); }
.sh-btn.primary:hover { background:var(--blue-pale); }
.sh-btn.ghost { background:rgba(255,255,255,.1); color:#fff; border:1.5px solid rgba(255,255,255,.2); }
.sh-btn.ghost:hover { background:rgba(255,255,255,.18); }
.sh-btn svg { width:16px; height:16px; }

.fab-wrap {
    position:fixed; bottom:28px; left:28px; z-index:200;
    display:flex; flex-direction:column; gap:10px;
    align-items:flex-start; pointer-events:none;
}
.fab {
    pointer-events:all; display:flex; align-items:center; gap:8px;
    padding:11px 18px; border-radius:100px;
    font-family:'Outfit',sans-serif; font-size:.82rem; font-weight:800;
    cursor:pointer; border:none; transition:all .22s; box-shadow:0 4px 20px rgba(8,30,82,.18);
}
.fab svg { width:15px; height:15px; flex-shrink:0; }
.fab.search-fab { background:var(--blue); color:#fff; }
.fab.search-fab:hover { background:var(--blue-dark); transform:translateY(-2px); box-shadow:0 8px 28px rgba(30,91,255,.38); }
.fab.top-fab { background:var(--white); color:var(--navy); border:1.5px solid var(--border); padding:11px 14px; }
.fab.top-fab:hover { border-color:var(--blue); color:var(--blue); transform:translateY(-2px); }
.fab.top-fab.hidden { opacity:0; pointer-events:none; transform:translateY(10px); }

.toast {
    position:fixed; bottom:80px; left:50%; transform:translateX(-50%) translateY(16px);
    background:var(--navy); color:#fff; padding:10px 20px; border-radius:100px;
    font-family:'Outfit',sans-serif; font-size:.82rem; font-weight:700;
    z-index:300; opacity:0; transition:all .28s; pointer-events:none; white-space:nowrap;
    display:flex; align-items:center; gap:8px;
}
.toast.show { opacity:1; transform:translateX(-50%) translateY(0); }
.toast svg { width:14px; height:14px; color:var(--green-acc); }

.fade-up { opacity:0; transform:translateY(18px); transition:opacity .5s ease,transform .5s ease; }
.fade-up.visible { opacity:1; transform:translateY(0); }

@media (max-width: 1200px) {

    .container { padding: 0 20px; }

    .faq-layout {
    grid-template-columns: 236px 1fr;
    gap: 24px;
    }

    .page-hero { padding: 56px 0 64px; }

    .page-hero h1 { font-size: clamp(1.75rem, 3.6vw, 2.7rem); }

    .still-help { padding: 36px; }

    .sh-title { font-size: 1.4rem; }

    .sc-head { padding: 14px 16px 10px; }
    .sc-body  { padding: 8px;  }
    .sc-link  { font-size: .79rem; }
}

@media (max-width: 960px) {

    .faq-sidebar { display: none; }

    .faq-layout {
    grid-template-columns: 1fr;
    gap: 0;
    padding: 20px 0 60px;
    }

    .mobile-cats { display: flex; }

    .cat-tab { font-size: .78rem; padding: 12px 14px; gap: 6px; }
    .cat-tab svg { width: 13px; height: 13px; }
    .cat-count { font-size: .6rem; padding: 2px 6px; }

    .page-hero { padding: 48px 0 56px; }

    .page-hero h1 { font-size: clamp(1.6rem, 4vw, 2.4rem); }

    .hero-sub { font-size: .9rem; max-width: 460px; }

    .hero-search-wrap { max-width: 100%; }

    .hero-stats { gap: 18px; margin-top: 18px; }
    .hs-item    { font-size: .74rem; }

    .still-help {
    grid-template-columns: 1fr;
    padding: 32px;
    gap: 24px;
    }

    .sh-actions {
    flex-direction: row;
    gap: 10px;
    }

    .sh-btn { flex: 1; justify-content: center; font-size: .83rem; padding: 12px 16px; }

    .faq-q { padding: 15px 16px; gap: 12px; }
    .faq-q-text { font-size: .9rem; }

    .faq-a { padding: 0 16px; }
    .faq-a-inner { font-size: .86rem; }

    .fsh-icon  { width: 40px; height: 40px; border-radius: 12px; }
    .fsh-icon svg { width: 18px; height: 18px; }
    .fsh-title { font-size: 1.05rem; }

    .fab-wrap { bottom: 20px; left: 20px; right: auto; }
}

@media (max-width: 768px) {

    .container { padding: 0 16px; }

    .topbar { padding: 10px 0; }
    .breadcrumb { font-size: .73rem; gap: 5px; }

    .page-hero { padding: 36px 0 44px; }

    .hero-badge { font-size: .64rem; padding: 4px 12px; margin-bottom: 14px; }

    .page-hero h1 {
    font-size: clamp(1.65rem, 7vw, 2.2rem);
    letter-spacing: -.03em;
    margin-bottom: 14px;
    }

    .hero-sub { 
        font-size: 0.95rem;
        margin-bottom: 24px; 
        line-height: 1.6; 
        color: rgba(255,255,255,0.75); 
    }
    .hero-search-wrap {
    border-radius: 12px;
    flex-wrap: nowrap;
    padding: 0;
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.2);
    }

    #faq-search { 
    padding: 12px 0; 
    font-size: 16px;
    }

    .hs-btn {
    width: auto;
    border-radius: 0;
    padding: 0 20px;
    font-size: .85rem;
    }

    .hs-ico { padding: 0 8px 0 12px; }

    .quick-tags { gap: 6px; margin-top: 14px; }
    .qtag { 
        font-size: 0.78rem;
        padding: 6px 14px;
    }

    .hero-stats {
    gap: 12px 20px;
    flex-wrap: wrap;
    margin-top: 16px;
    }

    .hs-dot { display: none; }

    .hs-item { font-size: .72rem; gap: 5px; }
    .hs-item strong { font-size: .88rem; }

    .cat-nav-inner { padding: 0 16px; }
    .cat-tab { padding: 11px 12px; font-size: .74rem; }

    .mobile-cats { padding: 12px 16px 0; gap: 6px; }
    .mob-cat { font-size: .74rem; padding: 6px 12px; }

    .faq-layout { padding: 16px 0 50px; }

    .search-banner { padding: 8px 14px; font-size: .78rem; gap: 8px; }
    .sb-reset { font-size: .7rem; }

    .faq-section { scroll-margin-top: 60px; }

    .faq-section-head { gap: 12px; margin-bottom: 12px; }

    .fsh-icon { width: 38px; height: 38px; border-radius: 11px; }
    .fsh-icon svg { width: 16px; height: 16px; }

    .fsh-title { font-size: 1rem; }
    .fsh-count { font-size: .68rem; }

    .faq-item {
    border-radius: 14px;
    margin-bottom: 7px;
    }

    .faq-q { padding: 14px 14px; gap: 11px; }

    .faq-q-icon { width: 26px; height: 26px; border-radius: 7px; }
    .faq-q-icon svg { width: 11px; height: 11px; }

    .faq-q-text { font-size: .875rem; line-height: 1.38; }

    .faq-a { padding: 0 14px; }

    .faq-a-inner {
    padding: 12px 0 18px;
    font-size: .84rem;
    line-height: 1.75;
    }

    .faq-a-footer { gap: 8px; flex-wrap: wrap; }

    .helpful-label { font-size: .68rem; width: 100%; }

    .helpful-btn {
    font-size: .68rem;
    padding: 4px 10px;
    gap: 4px;
    }

    .copy-link-btn {
    font-size: .68rem;
    margin-left: 0;
    padding: 4px 7px;
    width: 100%;
    justify-content: center;
    background: var(--bg);
    border-radius: 8px;
    border: 1px solid var(--border);
    color: #536485;
    }

    .still-help {
    padding: 24px;
    border-radius: 18px;
    gap: 20px;
    margin-top: 20px;
    }

    .sh-label { font-size: .63rem; padding: 3px 11px; margin-bottom: 10px; }

    .sh-title { font-size: 1.25rem; }

    .sh-sub { font-size: .82rem; line-height: 1.6; }

    .sh-actions { flex-direction: column; gap: 9px; }

    .sh-btn { width: 100%; font-size: .84rem; padding: 13px 18px; border-radius: 12px; }

    .fab-wrap { bottom: 16px; left: 16px; right: auto; gap: 8px; }

    .fab.search-fab {
    font-size: .78rem;
    padding: 10px 16px;
    box-shadow: 0 3px 16px rgba(30,91,255,.32);
    }

    .fab.top-fab { padding: 10px 12px; }

    .no-results { padding: 40px 20px; border-radius: 16px; }

    .nr-icon { width: 56px; height: 56px; border-radius: 16px; }
    .nr-icon svg { width: 24px; height: 24px; }

    .nr-title { font-size: 1rem; }
    .nr-sub   { font-size: .8rem; }
}

@media (max-width: 560px) {

    .container { padding: 10px 12px; }

    .page-hero { padding: 28px 0 36px; }

    .hero-badge { display: none; }

    .page-hero h1 {
        font-size: clamp(1.5rem, 8vw, 1.9rem);
        margin-bottom: 12px;
    }
    .hero-sub { 
        font-size: 0.9rem;
        margin-bottom: 20px; 
    }

    .hero-search-wrap { border-radius: 10px; }

    #faq-search { 
        padding: 10px 0;
    }
    .qtag { 
        font-size: 0.75rem;
        padding: 5px 12px;
    }

    .hs-btn { font-size: .8rem; padding: 0 16px; }

    .quick-tags { gap: 5px; margin-top: 12px; }

    .hero-stats { gap: 10px 14px; margin-top: 14px; }
    .hs-item { font-size: .68rem; }
    .hs-item strong { font-size: .84rem; }

    .cat-tab { padding: 10px 10px; gap: 4px; font-size: .7rem; }
    .cat-tab svg { width: 12px; height: 12px; }

    .mobile-cats { padding: 10px 12px 0; }

    .faq-layout { padding: 12px 0 44px; }

    .faq-section { scroll-margin-top: 56px; }

    .faq-section-head { margin-bottom: 10px; gap: 10px; }

    .fsh-icon { width: 36px; height: 36px; border-radius: 10px; }
    .fsh-icon svg { width: 15px; height: 15px; }

    .fsh-title { font-size: .95rem; }

    .faq-item { border-radius: 13px; margin-bottom: 6px; }

    .faq-q { padding: 13px 12px; gap: 10px; }

    .faq-q-icon { width: 24px; height: 24px; border-radius: 6px; flex-shrink: 0; }
    .faq-q-icon svg { width: 10px; height: 10px; }

    .faq-q-text { font-size: .845rem; }

    .faq-a { padding: 0 12px; }

    .faq-a-inner {
    padding: 11px 0 16px;
    font-size: .82rem;
    line-height: 1.72;
    }

    .still-help { padding: 20px 18px; border-radius: 16px; }

    .sh-title { font-size: 1.15rem; }

    .sh-sub { font-size: .79rem; }

    .sh-btn { font-size: .82rem; padding: 12px 14px; }

    .no-results { padding: 32px 16px; }

    .nr-btn { font-size: .8rem; padding: 9px 18px; }

    .mobile-cats {
    display: none;
    }

    .sb-query-text {
    display: none;
    }
}

@media (max-width: 380px) {

    .container { padding: 0 10px; }

    .page-hero { padding: 22px 0 28px; }

    .page-hero h1 { 
        font-size: 1.45rem;
    }
    .hero-sub { 
        font-size: 0.85rem;
        margin-bottom: 16px; 
        line-height: 1.55; 
    }
    .quick-tags { 
        gap: 5px; 
        margin-top: 12px; 
    }
    .qtag { 
        font-size: 0.72rem;
        padding: 4px 10px;
    }

    .hero-stats .hs-item:last-child { display: none; }

    .cat-tab-label { display: none; }
    .cat-tab { padding: 10px 8px; }

    .faq-item { border-left: none; border-right: none; border-radius: 0; margin-bottom: 0; border-bottom-color: var(--border); }
    .faq-item:first-child { border-top: none; }
    .faq-main { gap: 20px; }

    .faq-section { border-top: 2px solid var(--border); padding-top: 16px; }
    .faq-section:first-child { border-top: none; }

    .faq-q { padding: 12px 10px; }

    .faq-a { padding: 0 10px; }
    .faq-a-inner { font-size: .8rem; line-height: 1.68; }

    .still-help { padding: 18px 14px; border-radius: 14px; }

    .sh-title { font-size: 1.05rem; }

    .sh-btn { font-size: .78rem; border-radius: 10px; padding: 11px 12px; }
}

@media (hover: none) {
    .faq-item:hover   { border-color: var(--border); box-shadow: none; }
    .cat-tab:hover    { color: #536485; border-color: transparent; }
    .sc-link:hover    { color: #536485; background: none; }
    .helpful-btn:hover { border-color: var(--border); color: #536485; background: var(--bg); }
    .copy-link-btn:hover { color: #536485; background: transparent; }
    .sh-btn.primary:hover { background: #fff; }
    .sh-btn.ghost:hover   { background: rgba(255,255,255,.1); }
}

@media print {

    .cat-nav,
    .mobile-cats,
    .faq-sidebar,
    .fab-wrap,
    .toast,
    .page-hero .hero-search-wrap,
    .quick-tags,
    .still-help,
    .faq-a-footer { display: none !important; }

    body { background: #fff; color: #000; }

    .container { max-width: 100%; padding: 0 16px; }

    .page-hero {
    background: #081e52;
    padding: 28px 0 32px;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
    }

    .faq-layout {
    grid-template-columns: 1fr;
    padding: 20px 0;
    }

    .faq-item {
    border: 1px solid #e0e0e0;
    break-inside: avoid;
    margin-bottom: 8px;
    }

    .faq-a { max-height: none !important; }
    .faq-a.open, .faq-a { display: block; }

    .faq-a-inner { padding: 10px 0 14px; font-size: .82rem; }

    .faq-section { break-inside: avoid; page-break-inside: avoid; }
}