/* ============ FileSnag design system — zero dependencies ============ */
    :root{
      --navy:#0a0e27; --navy2:#11163a; --violet:#7c3aed; --cyan:#06b6d4;
      --ink:#1d2240; --muted:#5d6484; --bg:#f5f6fb; --line:#e9ecf6;
      --grad:linear-gradient(135deg,#7c3aed 0%,#5b5ff0 55%,#06b6d4 100%);
      --shadow:0 20px 60px -18px rgba(28,25,90,.25);
      --r:1.25rem;
      --font-h:'Plus Jakarta Sans',-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
      --font-b:'Inter',-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
    }
    *,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
    html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:clip;}
    body{font-family:var(--font-b);color:var(--ink);background:#fff;line-height:1.6;overflow-x:hidden;}
    h1,h2,h3,h4{font-family:var(--font-h);line-height:1.2;}
    img,svg{display:inline-block;vertical-align:middle;}
    a{color:var(--violet);}
    ::selection{background:var(--violet);color:#fff;}
    .wrap{width:100%;max-width:1140px;margin:0 auto;padding-left:20px;padding-right:20px;}
    section{scroll-margin-top:84px;}
    .icon{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;}
    .icon.fill{fill:currentColor;stroke:none;}

    /* ---------- header ---------- */
    .site-header{position:sticky;top:0;z-index:1200;}
    .announce{background:var(--grad);color:#fff;text-align:center;font-size:.82rem;font-weight:600;letter-spacing:.02em;padding:.55rem 1rem;}
    .navbar{background:rgba(10,14,39,.97);border-bottom:1px solid rgba(255,255,255,.08);}
    .nav-inner{display:flex;align-items:center;justify-content:space-between;padding:.8rem 0;gap:1rem;}
    .brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;}
    .brand-mark{width:38px;height:38px;border-radius:11px;background:var(--grad);display:inline-flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 8px 20px -6px rgba(124,58,237,.6);}
    .brand-mark .icon{width:20px;height:20px;fill:#fff;stroke:none;}
    .brand-name{font-family:var(--font-h);font-weight:800;font-size:1.35rem;color:#fff;letter-spacing:-.02em;}
    .brand-name em{font-style:normal;background:linear-gradient(90deg,#a78bfa,#22d3ee);-webkit-background-clip:text;background-clip:text;color:transparent;}
    .nav-links{display:flex;align-items:center;gap:.4rem;list-style:none;}
    .nav-links a{color:rgba(255,255,255,.82);text-decoration:none;font-weight:500;font-size:.95rem;padding:.5rem .8rem;border-radius:.6rem;position:relative;transition:color .2s;}
    .nav-links a:hover{color:#fff;background:rgba(255,255,255,.06);}
    .nav-toggle{display:none;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);color:#fff;border-radius:.7rem;width:44px;height:44px;cursor:pointer;align-items:center;justify-content:center;}
    .nav-toggle .icon{width:22px;height:22px;}

    /* ---------- buttons ---------- */
    .btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--font-h);font-weight:700;text-decoration:none;cursor:pointer;border:0;border-radius:999px;padding:.7rem 1.6rem;font-size:.95rem;transition:transform .18s ease,box-shadow .18s ease,background .18s;}
    .btn-grad{background:var(--grad);color:#fff;box-shadow:0 12px 28px -10px rgba(124,58,237,.65);}
    .btn-grad:hover{transform:translateY(-2px);box-shadow:0 18px 34px -10px rgba(124,58,237,.75);color:#fff;}
    .btn-green{background:#16a34a;color:#fff;border-radius:.8rem;padding:.75rem 1.5rem;}
    .btn-green:hover{background:#15803d;transform:translateY(-2px);color:#fff;}
    .btn-outline{background:#fff;border:2px solid #e4e7f2;color:var(--ink);border-radius:.8rem;padding:.65rem 1.25rem;font-size:.9rem;}
    .btn-outline:hover{border-color:var(--violet);color:var(--violet);}
    .btn-light{background:#fff;color:var(--violet);padding:.9rem 2.2rem;font-size:1.02rem;}
    .btn-light:hover{transform:translateY(-2px) scale(1.02);color:var(--violet);}
    .btn-sm{padding:.5rem 1rem;font-size:.82rem;}

    /* ---------- hero ---------- */
    .hero{background:var(--navy);color:#fff;position:relative;overflow:hidden;padding:4.5rem 0 0;}
    .hero::before{content:'';position:absolute;inset:0;background:radial-gradient(640px 420px at 12% 8%,rgba(124,58,237,.38),transparent 60%),radial-gradient(720px 460px at 88% 18%,rgba(6,182,212,.28),transparent 60%),radial-gradient(500px 380px at 55% 110%,rgba(124,58,237,.22),transparent 60%);}
    .hero::after{content:'';position:absolute;inset:0;opacity:.55;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(ellipse 90% 70% at 50% 30%,#000 30%,transparent 75%);mask-image:radial-gradient(ellipse 90% 70% at 50% 30%,#000 30%,transparent 75%);}
    .hero-inner{position:relative;z-index:2;text-align:center;}
    .hero-badge{display:inline-flex;align-items:center;gap:.55rem;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);color:#dbe4ff;font-size:.82rem;font-weight:600;padding:.45rem 1rem;border-radius:999px;}
    .hero-badge .dot{width:8px;height:8px;border-radius:50%;background:#34d399;box-shadow:0 0 0 4px rgba(52,211,153,.2);animation:pulse 2s infinite;}
    @keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.3)}}
    .hero h1{font-weight:800;letter-spacing:-.03em;font-size:clamp(2.1rem,5.2vw,3.8rem);margin:1.2rem auto 0;max-width:900px;}
    .hero h1 .grad{background:linear-gradient(92deg,#c4b5fd,#67e8f9);-webkit-background-clip:text;background-clip:text;color:transparent;}
    .hero-sub{color:#aab3d6;font-size:1.06rem;max-width:640px;margin:1rem auto 0;}

    /* ---------- downloader widget ---------- */
    .dl-card{background:#fff;color:var(--ink);border-radius:1.5rem;box-shadow:0 30px 80px -20px rgba(0,0,0,.55);overflow:hidden;max-width:860px;margin:2rem auto 0;text-align:left;}
    .dl-head{background:var(--grad);color:#fff;padding:1rem 1.5rem;display:flex;align-items:center;gap:.8rem;}
    .dl-head .hb-ico{width:40px;height:40px;border-radius:12px;background:rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
    .dl-head .hb-ico .icon{width:20px;height:20px;}
    .dl-head strong{font-family:var(--font-h);display:block;font-size:1.02rem;}
    .dl-head small{opacity:.8;font-size:.8rem;}
    .dl-body{padding:1.5rem;}
    .dl-row{display:flex;gap:.6rem;}
    .dl-row input{flex:1;min-width:0;border:2px solid #e4e7f2;border-radius:.9rem;padding:.9rem 1.1rem;font-size:1rem;font-family:var(--font-b);transition:border-color .2s,box-shadow .2s;}
    .dl-row input:focus{border-color:var(--violet);box-shadow:0 0 0 .22rem rgba(124,58,237,.14);outline:0;}
    .dl-row input.bad{border-color:#ef4444;animation:shake .35s;}
    @keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
    .btn-snag{background:var(--grad);color:#fff;font-family:var(--font-h);font-weight:700;font-size:1.02rem;border:0;border-radius:.9rem;padding:.9rem 2rem;cursor:pointer;box-shadow:0 14px 30px -10px rgba(124,58,237,.6);white-space:nowrap;transition:transform .18s;}
    .btn-snag:hover{transform:translateY(-2px);}
    .dl-error{display:none;color:#dc2626;font-size:.88rem;font-weight:500;margin-top:.6rem;}
    .dl-samples{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem;align-items:center;font-size:.85rem;color:var(--muted);}
    .dl-progress{display:none;}
    .pstep{display:flex;align-items:center;gap:.8rem;padding:.5rem 0;color:var(--muted);font-size:.94rem;font-weight:500;}
    .pstep .sic{width:30px;height:30px;border-radius:50%;background:#eef0f8;display:flex;align-items:center;justify-content:center;color:#9aa1c2;flex-shrink:0;transition:all .3s;}
    .pstep.active{color:var(--ink);}
    .pstep.active .sic{background:var(--grad);color:#fff;}
    .pstep.done .sic{background:#dcfce7;color:#16a34a;}
    .pbar{height:10px;border-radius:999px;background:#eef0f8;margin-top:1rem;overflow:hidden;}
    .pbar > div{height:100%;width:0;background:var(--grad);border-radius:999px;transition:width .5s ease;}
    .dl-result{display:none;}
    .file-row{display:flex;align-items:center;gap:1rem;background:var(--bg);border:1px solid #e7eaf5;border-radius:1rem;padding:1rem 1.15rem;flex-wrap:wrap;}
    .file-ico{width:52px;height:52px;border-radius:14px;background:var(--grad);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
    .file-ico .icon{width:26px;height:26px;}
    .file-meta{flex:1;min-width:180px;}
    .file-name{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
    .file-sub{color:var(--muted);font-size:.85rem;}
    .dl-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem;}
    .trust-row{display:flex;flex-wrap:wrap;gap:.6rem 1.5rem;justify-content:center;color:#c3cbe8;font-size:.9rem;font-weight:500;margin-top:1.6rem;padding-bottom:.4rem;}
    .trust-row .icon{color:#34d399;margin-right:.35rem;}

    /* ---------- stats band ---------- */
    .stats-band{background:rgba(255,255,255,.05);border-top:1px solid rgba(255,255,255,.1);margin-top:3rem;position:relative;z-index:2;}
    .stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;text-align:center;padding:1.8rem 0;}
    .stat-num{font-family:var(--font-h);font-weight:800;font-size:clamp(1.5rem,3vw,2.3rem);background:linear-gradient(92deg,#c4b5fd,#67e8f9);-webkit-background-clip:text;background-clip:text;color:transparent;}
    .stat-label{color:#aab3d6;font-size:.86rem;font-weight:500;}

    /* ---------- sections ---------- */
    .section{padding:5rem 0;}
    .section.alt{background:var(--bg);}
    .center{text-align:center;}
    .kicker{display:inline-block;font-size:.76rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--violet);background:rgba(124,58,237,.09);border:1px solid rgba(124,58,237,.22);padding:.42rem .95rem;border-radius:999px;margin-bottom:1rem;}
    .section h2{font-weight:800;letter-spacing:-.025em;font-size:clamp(1.65rem,3.4vw,2.5rem);margin-bottom:.8rem;}
    .section .lead{color:var(--muted);font-size:1.05rem;max-width:640px;}
    .center .lead{margin-left:auto;margin-right:auto;}
    .grid{display:grid;gap:1.4rem;}
    .grid-3{grid-template-columns:repeat(3,1fr);}
    .card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.9rem 1.6rem;height:100%;transition:transform .25s ease,box-shadow .25s ease,border-color .25s;}
    .card:hover{transform:translateY(-7px);box-shadow:var(--shadow);border-color:rgba(124,58,237,.35);}
    .step-num{width:52px;height:52px;border-radius:16px;background:var(--grad);color:#fff;font-family:var(--font-h);font-weight:800;font-size:1.3rem;display:flex;align-items:center;justify-content:center;margin-bottom:1.1rem;box-shadow:0 12px 26px -10px rgba(124,58,237,.55);}
    .card h3{font-size:1.12rem;font-weight:700;margin-bottom:.5rem;}
    .card p{color:var(--muted);font-size:.93rem;}
    .feat-ico{width:54px;height:54px;border-radius:16px;display:flex;align-items:center;justify-content:center;color:#fff;margin-bottom:1.1rem;background:var(--grad);box-shadow:0 12px 26px -10px rgba(124,58,237,.5);}
    .feat-ico .icon{width:26px;height:26px;}

    /* comparison table */
    .cmp-wrap{overflow-x:auto;border-radius:var(--r);box-shadow:var(--shadow);border:1px solid var(--line);background:#fff;}
    table.cmp{width:100%;border-collapse:collapse;min-width:560px;}
    table.cmp th,table.cmp td{padding:1rem 1.25rem;text-align:left;border-bottom:1px solid #eef0f8;}
    table.cmp thead th{background:var(--navy);color:#fff;font-family:var(--font-h);border:0;}
    table.cmp thead th.hl{background:linear-gradient(135deg,#7c3aed,#06b6d4);}
    table.cmp thead th:not(:first-child),table.cmp tbody td:not(:first-child){text-align:center;}
    table.cmp tbody th{font-weight:600;}
    table.cmp tbody tr:last-child th,table.cmp tbody tr:last-child td{border-bottom:0;}
    .tick{color:#16a34a;} .cross{color:#ef4444;}
    .tick .icon,.cross .icon{width:20px;height:20px;}
    .fineprint{color:var(--muted);font-size:.82rem;text-align:center;margin-top:1rem;}
    .type-chips{text-align:center;margin-top:1.2rem;}
    .type-chip{display:inline-flex;align-items:center;gap:.5rem;background:#fff;border:1px solid #e4e7f2;border-radius:999px;padding:.55rem 1.1rem;font-weight:600;font-size:.88rem;margin:.3rem;transition:all .2s;color:var(--ink);}
    .type-chip:hover{border-color:var(--violet);color:var(--violet);transform:translateY(-2px);}
    .type-chip .icon{color:var(--violet);width:16px;height:16px;}

    /* testimonials */
    .stars{color:#f59e0b;letter-spacing:.18em;margin-bottom:.8rem;font-size:.95rem;}
    .tst-user{display:flex;align-items:center;gap:.9rem;margin-top:1.2rem;}
    .avatar{width:48px;height:48px;border-radius:50%;background:var(--grad);color:#fff;font-family:var(--font-h);font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.95rem;}
    .tst-name{font-weight:700;font-size:.95rem;}
    .tst-role{color:var(--muted);font-size:.82rem;}

    /* faq */
    .faq{max-width:820px;margin:0 auto;}
    .acc-item{border:1px solid var(--line);border-radius:1rem;overflow:hidden;margin-bottom:.9rem;background:#fff;box-shadow:0 6px 18px -10px rgba(28,25,90,.12);}
    .acc-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;background:none;border:0;cursor:pointer;font-family:var(--font-h);font-weight:700;font-size:1rem;color:var(--ink);padding:1.15rem 1.4rem;text-align:left;}
    .acc-btn .chev{transition:transform .3s;color:var(--violet);flex-shrink:0;}
    .acc-item.open .acc-btn{color:var(--violet);}
    .acc-item.open .chev{transform:rotate(180deg);}
    .acc-panel{max-height:0;overflow:hidden;transition:max-height .35s ease;}
    .acc-panel p{color:var(--muted);font-size:.95rem;line-height:1.7;padding:0 1.4rem 1.3rem;}

    /* blog */
    .blog-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:2.5rem;}
    .blog-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;height:100%;transition:transform .25s,box-shadow .25s;display:flex;flex-direction:column;}
    .blog-card:hover{transform:translateY(-8px);box-shadow:var(--shadow);}
    .blog-thumb{height:180px;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.92);position:relative;overflow:hidden;}
    .blog-thumb::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 80% 20%,rgba(255,255,255,.25),transparent 55%);}
    .blog-thumb .icon{width:56px;height:56px;position:relative;z-index:1;}
    .blog-thumb.t1{background:linear-gradient(135deg,#7c3aed,#4f46e5);}
    .blog-thumb.t2{background:linear-gradient(135deg,#06b6d4,#0284c7);}
    .blog-thumb.t3{background:linear-gradient(135deg,#f59e0b,#ef4444);}
    .blog-body{padding:1.5rem;display:flex;flex-direction:column;flex:1;}
    .blog-tag{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--violet);}
    .blog-card h3{font-size:1.08rem;font-weight:700;margin:.6rem 0;line-height:1.4;}
    .blog-card h3 a{color:var(--ink);text-decoration:none;}
    .blog-card h3 a:hover{color:var(--violet);}
    .blog-card .ex{color:var(--muted);font-size:.9rem;flex:1;}
    .blog-meta{display:flex;gap:1rem;color:#9aa1c2;font-size:.8rem;border-top:1px solid #eef0f8;padding-top:1rem;margin-top:1rem;}
    .read-more{font-weight:700;color:var(--violet);text-decoration:none;font-size:.9rem;display:inline-flex;align-items:center;gap:.35rem;}
    .read-more:hover{color:var(--cyan);}

    /* cta */
    .cta-banner{background:var(--grad);border-radius:2rem;color:#fff;padding:3.8rem 2rem;text-align:center;position:relative;overflow:hidden;box-shadow:0 30px 70px -25px rgba(124,58,237,.6);}
    .cta-banner::before{content:'';position:absolute;inset:0;background:radial-gradient(500px 300px at 85% 15%,rgba(255,255,255,.22),transparent 60%);}
    .cta-banner > *{position:relative;z-index:1;}
    .cta-banner h2{color:#fff;margin-bottom:.8rem;}
    .cta-banner p{color:rgba(255,255,255,.88);max-width:560px;margin:0 auto 1.6rem;}
    .cta-note{margin-top:1rem;font-size:.85rem;opacity:.8;}

    /* footer */
    footer{background:var(--navy);color:#aab3d6;}
    .foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1fr;gap:2rem;padding:3.5rem 0 2.5rem;}
    footer h4{color:#fff;font-size:.95rem;font-weight:700;margin-bottom:1.1rem;}
    .foot-links{list-style:none;}
    .foot-links li{margin-bottom:.6rem;}
    .foot-links a{color:#aab3d6;text-decoration:none;font-size:.9rem;}
    .foot-links a:hover{color:#67e8f9;}
    footer p{font-size:.92rem;}
    .socials{display:flex;gap:.6rem;margin-top:1rem;}
    .social-btn{width:40px;height:40px;border-radius:12px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);display:inline-flex;align-items:center;justify-content:center;color:#dbe4ff;transition:all .2s;text-decoration:none;}
    .social-btn:hover{background:var(--grad);color:#fff;transform:translateY(-3px);}
    .social-btn .icon{width:18px;height:18px;}
    .news{margin-top:1.4rem;}
    .news label{display:block;font-size:.82rem;font-weight:600;color:#fff;margin-bottom:.5rem;}
    .news-row{display:flex;gap:.5rem;}
    .news-row input{flex:1;min-width:0;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.15);border-radius:.7rem;color:#fff;padding:.6rem .9rem;font-family:var(--font-b);font-size:.9rem;}
    .news-row input::placeholder{color:#7c86ad;}
    .news-row input:focus{outline:0;border-color:var(--cyan);}
    .foot-bottom{border-top:1px solid rgba(255,255,255,.1);padding:1.1rem 0;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem;align-items:center;}
    .foot-bottom small{font-size:.82rem;}
    .disclaimer{font-size:.76rem;color:#7c86ad;}

    /* floating ui */
    #toTop{position:fixed;right:1.3rem;bottom:1.3rem;width:48px;height:48px;border-radius:14px;background:var(--grad);color:#fff;border:0;display:none;align-items:center;justify-content:center;cursor:pointer;z-index:1050;box-shadow:0 14px 30px -8px rgba(124,58,237,.6);}
    #toTop .icon{width:20px;height:20px;}
    #cookieBar{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:1060;background:#fff;border:1px solid var(--line);border-radius:1.1rem;box-shadow:var(--shadow);padding:1.1rem 1.25rem;display:none;max-width:440px;}
    #cookieBar .ck-row{display:flex;gap:.9rem;align-items:flex-start;}
    #cookieBar .icon{width:28px;height:28px;color:var(--violet);flex-shrink:0;}
    #cookieBar p{font-size:.85rem;color:var(--muted);margin:.2rem 0 .8rem;}
    .ck-btns{display:flex;gap:.6rem;}
    .toasts{position:fixed;top:1rem;right:1rem;z-index:2000;display:flex;flex-direction:column;gap:.6rem;max-width:min(92vw,380px);}
    .toast{background:#fff;border:1px solid var(--line);border-left:4px solid #16a34a;border-radius:.8rem;box-shadow:var(--shadow);padding:.85rem 1rem;font-size:.88rem;display:flex;gap:.6rem;align-items:flex-start;animation:tin .3s ease;}
    .toast.err{border-left-color:#ef4444;}
    .toast .icon{width:18px;height:18px;flex-shrink:0;margin-top:.15rem;}
    .toast.ok .icon{color:#16a34a;} .toast.err .icon{color:#ef4444;}
    .toast button{margin-left:auto;background:none;border:0;cursor:pointer;color:var(--muted);font-size:1rem;line-height:1;}
    @keyframes tin{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:none}}

    /* reveal */
    .reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease;}
    .reveal.visible{opacity:1;transform:none;}

    /* responsive */
    @media(max-width:992px){
      .foot-grid{grid-template-columns:1fr 1fr;}
      .nav-toggle{display:inline-flex;}
      .nav-links{position:absolute;top:100%;left:0;right:0;background:var(--navy);flex-direction:column;align-items:stretch;padding:1rem 1.25rem 1.4rem;gap:.2rem;border-bottom:1px solid rgba(255,255,255,.1);display:none;box-shadow:0 30px 40px -20px rgba(0,0,0,.5);}
      .nav-links.open{display:flex;}
      .nav-links a{display:block;padding:.75rem .5rem;}
      .nav-links .btn{margin-top:.6rem;}
      .navbar{position:relative;}
    }
    @media(max-width:900px){.grid-3{grid-template-columns:1fr 1fr;}}
    @media(max-width:640px){
      .grid-3{grid-template-columns:1fr;}
      .stats-grid{grid-template-columns:1fr 1fr;}
      .dl-row{flex-direction:column;}
      .btn-snag{width:100%;}
      .section{padding:3.5rem 0;}
      .hero{padding-top:3rem;}
      .foot-grid{grid-template-columns:1fr;}
      #cookieBar{left:.75rem;right:.75rem;}
    }

/* ---------- multi-page additions ---------- */
.nav-links a.active{color:#fff;background:rgba(255,255,255,.09);}
.page-hero{background:linear-gradient(135deg,#0a0e27,#1a1f4d);color:#fff;padding:4rem 0 3rem;position:relative;overflow:hidden;}
.page-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(600px 300px at 80% 10%,rgba(124,58,237,.4),transparent 60%),radial-gradient(500px 300px at 10% 90%,rgba(6,182,212,.3),transparent 60%);}
.page-hero .wrap{position:relative;z-index:2;}
.page-hero h1{font-size:clamp(1.9rem,4vw,2.8rem);font-weight:800;letter-spacing:-.02em;}
.page-hero p{color:#aab3d6;max-width:640px;margin-top:.6rem;}
.breadcrumb{display:flex;gap:.5rem;align-items:center;font-size:.85rem;color:#aab3d6;margin-bottom:1rem;}
.breadcrumb a{color:#67e8f9;text-decoration:none;}
.prose{max-width:820px;}
.prose h2{font-size:1.4rem;font-weight:800;margin:2.2rem 0 .8rem;letter-spacing:-.01em;}
.prose h3{font-size:1.1rem;font-weight:700;margin:1.6rem 0 .6rem;}
.prose p,.prose li{color:var(--muted);line-height:1.75;margin-bottom:.7rem;}
.prose ul,.prose ol{padding-left:1.4rem;}
.prose a{color:var(--violet);}
.post-content{font-size:1.02rem;}
.post-content h2{font-size:1.5rem;font-weight:800;margin:2rem 0 .8rem;letter-spacing:-.01em;color:var(--ink);}
.post-content h3{font-size:1.2rem;font-weight:700;margin:1.6rem 0 .6rem;color:var(--ink);}
.post-content p{color:#3c4260;line-height:1.8;margin-bottom:1rem;}
.post-content ul,.post-content ol{padding-left:1.5rem;margin-bottom:1.2rem;color:#3c4260;}
.post-content li{margin-bottom:.45rem;line-height:1.7;}
.post-content blockquote{border-left:4px solid var(--violet);background:rgba(124,58,237,.06);padding:1rem 1.3rem;border-radius:.6rem;margin:1.4rem 0;color:#3c4260;font-style:italic;}
.post-content pre{background:var(--navy);color:#dbe4ff;padding:1.1rem 1.3rem;border-radius:.8rem;overflow-x:auto;margin:1.4rem 0;font-size:.88rem;}
.post-content img{max-width:100%;height:auto;border-radius:.8rem;margin:1.2rem 0;}
.post-content a{color:var(--violet);}
.post-meta{display:flex;flex-wrap:wrap;gap:1.2rem;color:#9aa1c2;font-size:.88rem;margin:1rem 0 2rem;}
.post-meta .icon{width:15px;height:15px;color:var(--violet);margin-right:.3rem;}
.share-row{display:flex;gap:.6rem;align-items:center;margin:2.5rem 0;padding:1.2rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-wrap:wrap;}
.share-row span{font-weight:700;font-family:var(--font-h);font-size:.92rem;margin-right:.4rem;}
.form-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:2rem;box-shadow:var(--shadow);}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.form-grid .full{grid-column:1/-1;}
.field label{display:block;font-weight:600;font-size:.9rem;margin-bottom:.4rem;}
.field input,.field textarea,.field select{width:100%;border:2px solid #e4e7f2;border-radius:.8rem;padding:.8rem 1rem;font-family:var(--font-b);font-size:.95rem;transition:border-color .2s;color:var(--ink);}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--violet);outline:0;box-shadow:0 0 0 .2rem rgba(124,58,237,.12);}
.field textarea{min-height:140px;resize:vertical;}
.form-msg{display:none;border-radius:.8rem;padding:.9rem 1.1rem;font-size:.92rem;font-weight:500;margin-bottom:1.2rem;}
.form-msg.ok{display:block;background:#dcfce7;color:#15803d;border:1px solid #bbf7d0;}
.form-msg.err{display:block;background:#fee2e2;color:#b91c1c;border:1px solid #fecaca;}
.info-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.6rem;display:flex;gap:1rem;align-items:flex-start;}
.grid > .info-card{height:100%;}
.info-card .feat-ico{margin-bottom:0;width:48px;height:48px;flex-shrink:0;}
.info-card .feat-ico .icon{width:22px;height:22px;}
.info-card h3{font-size:1rem;font-weight:700;margin-bottom:.3rem;}
.info-card p{color:var(--muted);font-size:.9rem;margin:0;}
.alert-note{background:rgba(124,58,237,.07);border:1px solid rgba(124,58,237,.25);border-radius:1rem;padding:1.1rem 1.3rem;font-size:.92rem;color:#3c4260;}
.empty-state{text-align:center;padding:3rem 1rem;color:var(--muted);}
@media(max-width:640px){.form-grid{grid-template-columns:1fr;}}

/* ============ WordPress compatibility (appended for the WP theme) ============ */
.nav-links li.current-menu-item > a,
.nav-links li.current_page_item > a,
.nav-links li.current-page-ancestor > a{color:#fff;background:rgba(255,255,255,.09);}
.nav-links .menu-cta{margin-left:.5rem;}
@media(max-width:900px){.nav-links .menu-cta{margin-left:0;margin-top:.4rem;}}
.fsn-pager{margin-top:2.5rem;text-align:center;}
.fsn-pager .page-numbers{display:inline-block;min-width:2.6rem;padding:.55rem .9rem;margin:.2rem;border-radius:.7rem;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);color:#e2e8f0;font-weight:600;text-decoration:none;}
.fsn-pager .page-numbers.current{background:linear-gradient(135deg,#7c3aed,#06b6d4);color:#fff;border-color:transparent;}
.fsn-pager a.page-numbers:hover{background:rgba(255,255,255,.12);}
.share-row{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;margin-top:2rem;color:var(--muted,#94a3b8);}
.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.1);}
.post-nav a{color:#e2e8f0;text-decoration:none;font-weight:600;}
.post-nav a:hover{color:#67e8f9;}
.comments-area{margin-top:3rem;}
.comment-list{list-style:none;margin:0 0 2rem;padding:0;}
.comment-list .children{list-style:none;margin:1rem 0 0 2rem;padding:0;}
.comment-body{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:1rem;padding:1.2rem 1.4rem;margin-bottom:1rem;}
.comment-meta{font-size:.85rem;color:var(--muted,#94a3b8);margin-bottom:.5rem;}
.comment-author .avatar{border-radius:50%;margin-right:.5rem;vertical-align:middle;}
.reply{margin-top:.6rem;}
.search-form{display:flex;gap:.6rem;max-width:480px;}
.search-form .search-field{flex:1;padding:.8rem 1rem;border-radius:.8rem;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.06);color:#fff;}
.search-form .search-submit{padding:.8rem 1.4rem;border:none;border-radius:.8rem;background:linear-gradient(135deg,#7c3aed,#06b6d4);color:#fff;font-weight:700;cursor:pointer;}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}
.prose img,.prose figure{max-width:100%;height:auto;border-radius:.8rem;}
.prose .aligncenter{display:block;margin-left:auto;margin-right:auto;}
.prose .alignleft{float:left;margin:0 1.2rem 1rem 0;}
.prose .alignright{float:right;margin:0 0 1rem 1.2rem;}
.prose blockquote{border-left:3px solid #7c3aed;padding:.4rem 0 .4rem 1.2rem;margin:1.6rem 0;color:#cbd5e1;font-style:italic;}
.prose ul,.prose ol{margin:0 0 1.4rem 1.4rem;}
.prose li{margin-bottom:.45rem;}
.prose code{background:rgba(124,58,237,.15);padding:.15em .45em;border-radius:.35em;font-size:.9em;}
.prose pre{background:#0d1230;border:1px solid rgba(255,255,255,.1);border-radius:.8rem;padding:1.2rem;overflow-x:auto;margin-bottom:1.4rem;}
.prose pre code{background:none;padding:0;}

/* ============ FileSnag v1.1 — UI polish, footer restyle & light-surface fixes ============ */

/* page hero: extra depth */
.page-hero{padding:4.5rem 0 3.5rem;border-bottom:3px solid transparent;border-image:linear-gradient(90deg,#7c3aed,#06b6d4) 1;}
.page-hero::after{content:'';position:absolute;inset:0;opacity:.5;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(ellipse 80% 90% at 50% 10%,#000 20%,transparent 70%);mask-image:radial-gradient(ellipse 80% 90% at 50% 10%,#000 20%,transparent 70%);}
.breadcrumb a{font-weight:600;}
.breadcrumb a:hover{text-decoration:underline;}

/* cards: gradient accent sweep on hover */
.card{position:relative;overflow:hidden;}
.card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:var(--grad);transform:scaleX(0);transform-origin:left;transition:transform .3s ease;}
.card:hover::before{transform:scaleX(1);}
.info-card{transition:transform .25s ease,box-shadow .25s ease;}
.info-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);}

/* buttons: tactile press */
.btn:active{transform:scale(.97);}

/* faq: hover + open states */
.acc-btn:hover{background:rgba(124,58,237,.05);}
.acc-item{transition:border-color .25s,box-shadow .25s;}
.acc-item.open{border-color:rgba(124,58,237,.4);box-shadow:0 10px 26px -12px rgba(124,58,237,.35);}

/* blog: thumbnail zoom */
.blog-thumb img{transition:transform .5s ease;}
.blog-card:hover .blog-thumb img{transform:scale(1.06);}

/* forms */
.field label{color:var(--ink);}

/* comparison table: row highlight */
table.cmp tbody tr{transition:background .2s;}
table.cmp tbody tr:hover{background:rgba(124,58,237,.045);}

/* ---------- footer restyle ---------- */
footer{background:#090d24;position:relative;}
footer::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--grad);}
.foot-grid{padding:4rem 0 3rem;}
footer h4{position:relative;padding-bottom:.7rem;margin-bottom:1.3rem;}
footer h4::after{content:'';position:absolute;left:0;bottom:0;width:34px;height:3px;border-radius:2px;background:var(--grad);}
.foot-links a{display:inline-flex;align-items:center;gap:.5rem;transition:color .2s,transform .2s;}
.foot-links a:hover{color:#67e8f9;transform:translateX(4px);}
.social-btn{width:44px;height:44px;border-radius:14px;}
.social-btn:hover{box-shadow:0 10px 22px -8px rgba(124,58,237,.7);}
.news{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:1rem;padding:1.1rem;}
.news-row .btn{flex-shrink:0;}
.foot-bottom{border-top:1px solid rgba(255,255,255,.08);padding:1.25rem 0;background:rgba(0,0,0,.25);}
.foot-bottom-inner{display:flex;justify-content:center;text-align:center;}
.foot-bottom small{font-size:.85rem;color:#8b94b8;}
.foot-bottom a{color:#c4b5fd;text-decoration:none;font-weight:700;}
.foot-bottom a:hover{color:#67e8f9;}

/* ---------- light-surface fixes (were dark-on-light bugs) ---------- */
.fsn-pager .page-numbers{background:#fff;border:1px solid #e4e7f2;color:var(--ink);}
.fsn-pager .page-numbers.current{background:var(--grad);color:#fff;border-color:transparent;}
.fsn-pager a.page-numbers:hover{background:rgba(124,58,237,.08);border-color:var(--violet);}
.post-nav{border-top:1px solid var(--line);}
.post-nav a{color:var(--ink);}
.post-nav a:hover{color:var(--violet);}
.comment-body{background:#fff;border:1px solid var(--line);box-shadow:0 8px 20px -12px rgba(28,25,90,.15);}
.comment-meta{color:var(--muted);}
.prose blockquote{color:#3c4260;background:rgba(124,58,237,.06);border-left:4px solid var(--violet);padding:1rem 1.3rem;border-radius:.6rem;font-style:italic;}
.share-row{margin:2.5rem 0;padding:1.2rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--ink);}

/* ---------- responsive extras ---------- */
@media(max-width:992px){
  .section{padding:4rem 0;}
}
@media(max-width:640px){
  .post-nav{grid-template-columns:1fr;}
  .post-nav div:last-child{text-align:left !important;}
  .page-hero{padding:3rem 0 2.5rem;}
  .cta-banner{padding:2.6rem 1.4rem;border-radius:1.5rem;}
  .dl-body{padding:1.1rem;}
  .comment-list .children{margin-left:1rem;}
  .share-row .btn{flex:1 1 auto;justify-content:center;}
  .foot-grid{padding:2.8rem 0 2rem;}
}

/* ============ FileSnag v1.2 — mobile drawer menu + mobile polish ============ */
.nav-close-li{display:none;}
.nav-backdrop{position:fixed;inset:0;z-index:1150;background:rgba(4,6,18,.62);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);opacity:0;pointer-events:none;transition:opacity .26s ease;}
.nav-backdrop.show{opacity:1;pointer-events:auto;}
body.nav-open{overflow:hidden;}

@media(max-width:992px){
  /* slide-in drawer replaces the old dropdown */
  .nav-links{
    position:fixed;top:0;right:0;left:auto;height:100vh;height:100dvh;width:min(86vw,360px);
    display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;
    gap:.3rem;padding:1.1rem 1.25rem 2rem;margin:0;
    background:linear-gradient(165deg,#121941 0%,#0a0e27 78%);
    border-left:1px solid rgba(255,255,255,.1);
    box-shadow:-30px 0 70px rgba(0,0,0,.55);
    transform:translateX(104%);visibility:hidden;will-change:transform;
    transition:transform .26s cubic-bezier(.3,.7,.3,1),visibility 0s linear .26s;
    z-index:1200;overflow-y:auto;overflow-x:hidden;
  }
  .nav-links.open{transform:translateX(0);visibility:visible;transition:transform .26s cubic-bezier(.3,.7,.3,1),visibility 0s linear 0s;}
  .nav-close-li{display:flex;align-items:center;justify-content:space-between;list-style:none;margin-bottom:.7rem;padding:.2rem .2rem .9rem;border-bottom:1px solid rgba(255,255,255,.09);}
  .nav-drawer-title{font-family:var(--font-h);font-weight:800;color:#fff;font-size:1.05rem;letter-spacing:-.01em;}
  .nav-close-li button{width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,transform .2s;}
  .nav-close-li button:hover{background:rgba(255,255,255,.16);transform:rotate(90deg);}
  .nav-close-li .icon{width:20px;height:20px;}
  .nav-links a{display:flex;align-items:center;padding:.95rem 1.05rem;font-size:1.02rem;border-radius:.85rem;}
  .nav-links li.current-menu-item > a,.nav-links li.current_page_item > a{background:linear-gradient(135deg,rgba(124,58,237,.30),rgba(6,182,212,.20));color:#fff;}
  .nav-links .menu-cta{margin:.9rem 0 0;list-style:none;}
  .nav-links .menu-cta .btn{width:100%;justify-content:center;padding:.95rem 1.2rem;margin-top:0;}
}

@media(max-width:640px){
  .dl-head{padding:.9rem 1.1rem;}
  .dl-head small{font-size:.74rem;}
  .hero h1{font-size:clamp(1.9rem,8.5vw,2.4rem);}
  .blog-thumb{height:160px;}
  .cta-banner h2{font-size:1.5rem;}
  .news-row{flex-direction:column;}
  .news-row .btn{width:100%;}
  table.cmp th,table.cmp td{padding:.8rem .9rem;font-size:.88rem;}
  .file-row{gap:.8rem;}
  .file-meta{min-width:140px;}
}

/* ============ FileSnag v1.2.1 — drawer hardening ============ */
@media(max-width:992px){
  .nav-links{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;}
}

/* ============ FileSnag v1.2.6 — attractive comments & post nav ============ */
.comments-area{margin-top:3.5rem;}
.comments-title{font-size:1.4rem;font-weight:800;letter-spacing:-.01em;margin:0 0 1.2rem;color:var(--ink);}
.comment-list .comment-body{background:#fff;border:1px solid var(--line);border-radius:1rem;padding:1.2rem 1.4rem;margin-bottom:1rem;box-shadow:0 6px 20px -12px rgba(28,25,90,.18);}
.comment-author{font-weight:700;color:var(--ink);}
.comment-author .avatar{border-radius:50%;margin-right:.6rem;vertical-align:middle;box-shadow:0 2px 8px rgba(28,25,90,.15);}
.comment-meta{font-size:.82rem;color:var(--muted);margin:.3rem 0 .6rem;}
.comment-meta a{color:var(--muted);text-decoration:none;}
.comment-meta a:hover{color:var(--violet);}
.comment-content p{margin:0 0 .8rem;color:var(--ink);}
.comment-reply-link{display:inline-block;margin-top:.4rem;font-size:.85rem;font-weight:700;color:var(--violet);text-decoration:none;border:1px solid rgba(124,58,237,.3);padding:.35rem .9rem;border-radius:999px;transition:background .2s;}
.comment-reply-link:hover{background:rgba(124,58,237,.08);}
.comment-respond{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:2rem;box-shadow:var(--shadow);margin-top:2rem;}
.comment-reply-title{font-size:1.35rem;font-weight:800;letter-spacing:-.01em;margin:0 0 .3rem;color:var(--ink);}
.comment-subtitle{color:var(--muted);font-size:.9rem;margin:0 0 1.4rem;}
.comment-form{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.comment-form .field.full{grid-column:1/-1;}
.comment-form .comment-form-cookies-consent{grid-column:1/-1;display:flex;gap:.6rem;align-items:flex-start;font-size:.88rem;color:var(--muted);margin:0;}
.comment-form .comment-form-cookies-consent input{margin-top:.25rem;width:1.05rem;height:1.05rem;accent-color:#7c3aed;flex-shrink:0;cursor:pointer;}
.comment-form .form-submit{grid-column:1/-1;margin:.4rem 0 0;}
.comment-form .form-submit .btn .icon{width:1.1em;height:1.1em;}
.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2.5rem;padding-top:0;border-top:0;}
.post-nav a.post-nav-card{color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:1rem;padding:1.1rem 1.3rem;text-decoration:none;display:block;font-weight:400;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;}
.post-nav a.post-nav-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:rgba(124,58,237,.35);color:var(--ink);}
.post-nav-card small{display:block;font-size:.72rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:.35rem;}
.post-nav-card span{font-weight:700;color:var(--ink);line-height:1.45;display:block;}
.post-nav-card.next{text-align:right;}
@media(max-width:640px){
  .comment-form{grid-template-columns:1fr;}
  .comment-respond{padding:1.4rem;}
  .post-nav{grid-template-columns:1fr;}
}

/* ============ FileSnag v1.2.8 — honest demo badge ============ */
.demo-badge{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#92400e;background:#fef3c7;border:1px solid #fcd34d;padding:.28rem .75rem;border-radius:999px;margin-bottom:.9rem;}

/* ============ FileSnag v1.3.0 — language switcher ============ */
.lang-switch{position:relative;flex:none;}
.lang-btn{display:inline-flex;align-items:center;gap:.45rem;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);color:#fff;border-radius:.7rem;padding:.52rem .7rem;cursor:pointer;font-family:var(--font-h);font-weight:700;font-size:.82rem;letter-spacing:.04em;transition:background .2s;}
.lang-btn:hover{background:rgba(255,255,255,.15);}
.lang-btn .icon{width:16px;height:16px;}
.lang-menu{position:absolute;top:calc(100% + .55rem);right:0;min-width:200px;margin:0;background:#141b45;border:1px solid rgba(255,255,255,.13);border-radius:.9rem;padding:.4rem;list-style:none;box-shadow:0 24px 50px -12px rgba(0,0,0,.65);z-index:1300;max-height:min(62vh,400px);overflow:auto;}
.lang-menu[hidden]{display:none;}
.lang-menu a{display:flex;align-items:center;justify-content:space-between;color:rgba(255,255,255,.85);text-decoration:none;font-size:.9rem;font-weight:500;padding:.55rem .8rem;border-radius:.55rem;}
.lang-menu a:hover{background:rgba(255,255,255,.08);color:#fff;}
.lang-menu a.active{color:#fff;background:linear-gradient(135deg,rgba(124,58,237,.38),rgba(6,182,212,.22));}
.lang-menu a.active::after{content:"✓";font-size:.8rem;color:#67e8f9;}
.lang-drawer-li{display:none;}
@media(max-width:992px){
  .lang-switch{display:none;}
  .nav-links .lang-drawer-li{display:flex;align-items:flex-start;gap:.7rem;list-style:none;padding:1rem .2rem .5rem;margin-top:.7rem;border-top:1px solid rgba(255,255,255,.09);}
  .nav-links .lang-globe{color:#8b93c9;flex:none;margin-top:.3rem;}
  .nav-links .lang-globe .icon{width:20px;height:20px;}
  .nav-links .lang-chips{display:flex;flex-wrap:wrap;gap:.45rem;}
  .nav-links .lang-chips a{display:inline-flex;align-items:center;color:rgba(255,255,255,.82);text-decoration:none;font-size:.8rem;font-weight:600;padding:.42rem .72rem;border-radius:999px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.05);}
  .nav-links .lang-chips a.active{color:#fff;background:linear-gradient(135deg,#7c3aed,#06b6d4);border-color:transparent;}
}

/* ============ FileSnag v1.3.3 — mobile navbar gutter ============ */
/* .nav-inner's padding shorthand was overriding .wrap's side padding,
   pinning the logo and hamburger to the screen edges on mobile. */
@media(max-width:992px){
  .nav-inner{padding-left:1.25rem;padding-right:1.25rem;}
}

/* ============ FileSnag v1.3.4 — compact mobile footer ============ */
@media(max-width:640px){
  .foot-grid{grid-template-columns:1fr 1fr;gap:.9rem;padding:2.5rem 0 1.8rem;}
  .foot-grid > div:first-child{grid-column:1/-1;}
  .foot-grid > div:not(:first-child){background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.09);border-radius:1rem;padding:1.05rem 1.1rem;min-width:0;}
  .foot-grid > div:not(:first-child) h4{font-size:.85rem;margin-bottom:.75rem;}
  .foot-grid .foot-links li{margin-bottom:.45rem;}
  .foot-grid .foot-links a{font-size:.85rem;overflow-wrap:anywhere;}
  .foot-grid .news{margin-top:1.1rem;}
}

/* ============ FileSnag v1.4.0 — footer redesign ============ */
.site-footer{position:relative;overflow:hidden;}
.site-footer::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(620px 320px at 6% 0%,rgba(124,58,237,.13),transparent 60%),
             radial-gradient(720px 360px at 96% 100%,rgba(6,182,212,.10),transparent 60%);}
.foot-shell{position:relative;padding:3.5rem 0 0;}
.foot-top{display:grid;grid-template-columns:1.12fr 1fr;gap:2rem;align-items:stretch;margin-bottom:2rem;}
.foot-brand .brand{margin-bottom:1rem;}
.foot-tag{color:#aab3d6;max-width:34rem;}
.foot-badges{list-style:none;margin:1.4rem 0 0;padding:0;display:flex;gap:1.7rem;flex-wrap:wrap;}
.foot-badges li{display:flex;align-items:center;gap:.7rem;}
.fbadge-ico{width:2.6rem;height:2.6rem;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;}
.fbadge-ico .icon{width:1.2rem;height:1.2rem;}
.fb-purple{background:rgba(168,85,247,.15);color:#c084fc;box-shadow:inset 0 0 0 1px rgba(168,85,247,.4);}
.fb-blue{background:rgba(59,130,246,.15);color:#93c5fd;box-shadow:inset 0 0 0 1px rgba(59,130,246,.4);}
.fb-pink{background:rgba(236,72,153,.15);color:#f9a8d4;box-shadow:inset 0 0 0 1px rgba(236,72,153,.4);}
.fbadge-txt{display:flex;flex-direction:column;line-height:1.3;}
.fbadge-txt b{color:#fff;font-size:.92rem;font-family:var(--font-h);font-weight:700;}
.fbadge-txt i{font-style:normal;color:#8b94bb;font-size:.76rem;}

/* gradient-border card */
.grad-card{position:relative;background:rgba(17,22,58,.72);border-radius:1.25rem;}
.grad-card::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.5px;
  background:linear-gradient(135deg,rgba(168,85,247,.7),rgba(59,130,246,.25) 42%,rgba(6,182,212,.55));
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  pointer-events:none;}

.foot-news{padding:1.6rem;overflow:hidden;}
.foot-news::after{content:"";position:absolute;width:230px;height:230px;right:-70px;top:-70px;border-radius:50%;
  background:radial-gradient(circle,rgba(124,58,237,.32),transparent 70%);pointer-events:none;}
.pill-grad{display:inline-block;background:var(--grad);color:#fff;font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;padding:.35rem .85rem;border-radius:999px;margin-bottom:.85rem;}
.foot-news h3{color:#fff;font-size:1.18rem;margin:0 0 .4rem;font-family:var(--font-h);font-weight:800;}
.foot-news p{font-size:.88rem;color:#aab3d6;margin:0;}
.foot-news .news{background:none;border:0;border-radius:0;padding:0;margin:1.15rem 0 0;}
.foot-news .news-row{position:relative;align-items:stretch;}
.news-ico{position:absolute;left:.95rem;top:50%;transform:translateY(-50%);color:#7c86ad;pointer-events:none;display:inline-flex;z-index:1;}
.news-ico .icon{width:1.05rem;height:1.05rem;}
.foot-news .news-row input{padding-left:2.7rem;border-radius:.8rem;background:rgba(255,255,255,.06);}
.foot-news .news-row .btn{border-radius:.8rem;padding:.7rem 1.25rem;display:inline-flex;align-items:center;gap:.45rem;white-space:nowrap;flex-shrink:0;}

/* link cards */
.foot-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;margin-bottom:2.2rem;}
.foot-card{background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.09);border-radius:1.1rem;padding:1.25rem;min-width:0;}
.foot-card-head{display:flex;align-items:center;gap:.8rem;width:100%;background:none;border:0;padding:0;margin:0 0 1rem;cursor:default;text-align:start;color:inherit;font:inherit;}
.fcard-ico{width:2.5rem;height:2.5rem;border-radius:.8rem;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;}
.fcard-ico .icon{width:1.2rem;height:1.2rem;}
.fc-purple .fcard-ico{background:rgba(168,85,247,.15);color:#c084fc;box-shadow:inset 0 0 0 1px rgba(168,85,247,.4);}
.fc-blue .fcard-ico{background:rgba(59,130,246,.15);color:#93c5fd;box-shadow:inset 0 0 0 1px rgba(59,130,246,.4);}
.fc-teal .fcard-ico{background:rgba(45,212,191,.15);color:#5eead4;box-shadow:inset 0 0 0 1px rgba(45,212,191,.4);}
.fc-pink .fcard-ico{background:rgba(236,72,153,.15);color:#f9a8d4;box-shadow:inset 0 0 0 1px rgba(236,72,153,.4);}
.fcard-titles{display:flex;flex-direction:column;line-height:1.3;flex:1;min-width:0;}
.fcard-titles b{color:#fff;font-size:.95rem;font-family:var(--font-h);font-weight:700;}
.fcard-titles i{font-style:normal;color:#8b94bb;font-size:.76rem;}
.fcard-chev{display:none;color:#8b94bb;transition:transform .25s;flex-shrink:0;}
.fcard-chev .icon{width:1.1rem;height:1.1rem;}
.site-footer .foot-links{list-style:none;margin:0;padding:0;}
.site-footer .foot-links li{margin:0;}
.site-footer .foot-links a{display:flex;align-items:center;gap:.65rem;padding:.5rem .3rem;color:#aab3d6;text-decoration:none;font-size:.88rem;border-radius:.55rem;transition:color .2s,background .2s;}
.site-footer .foot-links a:hover{color:#fff;background:rgba(255,255,255,.05);transform:none;}
.fl-ico{display:inline-flex;flex-shrink:0;opacity:.9;}
.fc-purple .fl-ico{color:#c084fc;}.fc-blue .fl-ico{color:#93c5fd;}.fc-teal .fl-ico{color:#5eead4;}.fc-pink .fl-ico{color:#f9a8d4;}
.fl-ico .icon{width:1rem;height:1rem;}
.fl-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.fl-chev{display:inline-flex;color:#5d6484;flex-shrink:0;transition:transform .2s,color .2s;}
.fl-chev .icon{width:.95rem;height:.95rem;}
.site-footer .foot-links a:hover .fl-chev{color:#67e8f9;transform:translateX(3px);}

/* bottom bar */
.site-footer .foot-bottom{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.1);padding:1.25rem 0;}
.site-footer .foot-bottom small{font-size:.82rem;color:#8b94bb;}
.site-footer .foot-bottom small a{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;font-weight:800;text-decoration:none;}
.site-footer .socials{display:flex;gap:.6rem;margin:0;}
.site-footer .social-btn{width:2.4rem;height:2.4rem;border-radius:50%;}
.site-footer .social-btn .icon{width:1rem;height:1rem;}
.to-top-pill{display:inline-flex;align-items:center;gap:.5rem;background:rgba(124,58,237,.12);border:1px solid rgba(168,85,247,.55);color:#fff;font-weight:700;font-size:.85rem;font-family:var(--font-b);padding:.62rem 1.25rem;border-radius:999px;cursor:pointer;transition:background .2s,transform .2s;}
.to-top-pill:hover{background:rgba(124,58,237,.28);transform:translateY(-2px);}
.to-top-pill .icon{flex-shrink:0;}

@media(max-width:992px){
  .foot-top{grid-template-columns:1fr;}
  .foot-cards{grid-template-columns:1fr 1fr;}
}
@media(max-width:640px){
  .foot-shell{background:rgba(13,17,44,.88);border-radius:1.5rem;padding:1.5rem 1.15rem 1.2rem;margin-bottom:1.5rem;}
  .foot-shell::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.5px;
    background:linear-gradient(160deg,rgba(168,85,247,.75),rgba(59,130,246,.2) 45%,rgba(6,182,212,.55));
    -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
    -webkit-mask-composite:xor;mask-composite:exclude;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
    pointer-events:none;}
  .foot-top{margin-bottom:1.3rem;}
  .foot-tag{font-size:.88rem;}
  .foot-badges{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin-top:1.2rem;}
  .foot-badges li{gap:.55rem;min-width:0;}
  .fbadge-ico{width:2.2rem;height:2.2rem;}
  .fbadge-txt b{font-size:.82rem;}
  .fbadge-txt i{font-size:.68rem;}
  .foot-news{padding:1.25rem;}
  .foot-news h3{font-size:1.05rem;}
  .foot-news .news-row{flex-direction:row;}
  .foot-news .news-row .btn{width:auto;padding:.7rem 1rem;font-size:.85rem;}
  .foot-cards{grid-template-columns:1fr;gap:.7rem;margin-bottom:1.4rem;}
  .foot-card{padding:0;overflow:hidden;}
  .foot-card-head{cursor:pointer;padding:1rem 1.1rem;margin:0;}
  .fcard-chev{display:inline-flex;}
  .foot-card.open .fcard-chev{transform:rotate(180deg);}
  .foot-card-body{max-height:0;overflow:hidden;transition:max-height .32s ease;}
  .foot-card-body .foot-links{padding:.1rem 1.1rem 1.1rem;}
  .site-footer .foot-bottom{flex-direction:column;justify-content:center;text-align:center;border-top:0;padding:1.2rem 0 .4rem;}
  .site-footer .socials{order:-1;margin-bottom:.2rem;}
  .to-top-pill{width:100%;justify-content:center;padding:.8rem;}
}

/* ============ FileSnag v1.4.1 — mobile footer integration ============ */
/* The big outer card read as a separate floating panel; let the footer
   flow on the page background and keep only the inner accent cards. */
@media(max-width:640px){
  .site-footer::before{
    background:radial-gradient(620px 320px at 6% 0%,rgba(124,58,237,.08),transparent 60%),
               radial-gradient(720px 360px at 96% 100%,rgba(6,182,212,.07),transparent 60%);}
  .foot-shell{background:none;border-radius:0;padding:2.4rem 0 .6rem;margin-bottom:0;
    border-top:1px solid rgba(255,255,255,.08);}
  .foot-shell::before{display:none;}
  .foot-news{background:rgba(17,22,58,.94);}
  .foot-news::after{opacity:.45;}
}

/* ============ FileSnag v1.4.2 — footer bottom bar ============ */
/* Back-to-top pill removed (floating arrow covers it); copyright centered
   on desktop via a 3-column grid, socials pinned right. */
.site-footer .foot-bottom{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;}
.site-footer .foot-bottom small{grid-column:2;justify-self:center;text-align:center;}
.site-footer .foot-bottom .socials{grid-column:3;justify-self:end;}
@media(max-width:640px){
  .site-footer .foot-bottom{display:flex;}
}
