.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@font-face{font-family:"font awesome 5 brands";font-style:normal;font-weight:400;font-display:swap;src:url(/css/fonts/fontawesome-free-5.12.1-web/webfonts/fa-brands-400.woff2)format("woff2")}@font-face{font-family:"font awesome 5 free";font-style:normal;font-weight:400;font-display:swap;src:url(/css/fonts/fontawesome-free-5.12.1-web/webfonts/fa-regular-400.woff2)format("woff2")}@font-face{font-family:"font awesome 5 free";font-style:normal;font-weight:900;font-display:swap;src:url(/css/fonts/fontawesome-free-5.12.1-web/webfonts/fa-solid-900.woff2)format("woff2")}@font-face{font-family:linearicons-free;font-style:normal;font-weight:400;font-display:swap;src:url(/css/fonts/linear-icons-font/fonts/Linearicons-Free.woff2)format("woff2")}.single-page-area{padding:0}.portfolio-hero{background-size:cover;background-position:50%;filter:saturate(1.1)}.single-page-area .ajax-page-wrapper{background:0 0;backdrop-filter:none;border-radius:20px;box-shadow:none;padding:clamp(24px,4vw,52px);border:none;color:#f8fafc}.post-breadcrumbs,.portfolio-breadcrumbs{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:13px;text-transform:uppercase;letter-spacing:.14em;color:rgba(226,232,240,.7);margin-bottom:clamp(12px,2.5vw,20px)}.post-breadcrumbs a,.portfolio-breadcrumbs a{color:rgba(226,232,240,.85);text-decoration:none;transition:color .2s ease}.post-breadcrumbs a:hover,.post-breadcrumbs a:focus,.portfolio-breadcrumbs a:hover,.portfolio-breadcrumbs a:focus{color:#93c5fd}.post-breadcrumbs .current,.portfolio-breadcrumbs .current{color:#f8fafc}.single-page-content{overflow:hidden}.ajax-page-title h1{font-size:clamp(28px,4vw,40px);margin-bottom:clamp(18px,3vw,32px);line-height:1.15}.project-overview{display:flex;flex-wrap:wrap;gap:clamp(20px,3vw,42px);background:linear-gradient(200deg,rgba(15,23,42,.95) 0%,rgba(30,41,59,.85) 100%);border-radius:22px;padding:clamp(24px,4vw,40px);box-shadow:inset 0 1px rgba(148,163,184,.18),0 22px 60px rgba(15,23,42,.35);border:1px solid rgba(148,163,184,.28);margin-bottom:clamp(28px,4vw,48px);color:rgba(241,245,249,.92)}.project-thumb{flex:1 1 320px;max-width:420px}.project-thumb img{width:100%;height:auto;border-radius:20px;box-shadow:0 26px 70px rgba(15,23,42,.45)}.project-meta{flex:1 1 340px;min-width:280px}.project-meta .block-title h3{font-size:18px;text-transform:uppercase;letter-spacing:.12em;color:rgba(226,232,240,.85);margin-bottom:14px}.project-general-info{margin-bottom:18px}.project-general-info li+li{margin-top:8px}.project-meta .project-summary{margin:16px 0 8px;line-height:1.7}.project-meta .tags-block{margin-top:24px}.project-meta .tags li{background:rgba(96,165,250,.18);color:#93c5fd;border-radius:999px;padding:6px 14px;font-size:13px;margin:4px 10px 4px 0}.portfolio-page-carousel{margin-bottom:clamp(20px,3vw,36px)}.portfolio-page-carousel .item img{border-radius:18px;box-shadow:0 22px 55px rgba(15,23,42,.35);width:100%;height:auto}.portfolio-gallery{margin-bottom:clamp(32px,5vw,56px);text-align:center}.project-content .col-inner{margin-top:clamp(28px,4vw,44px);font-size:17px;line-height:1.78;color:rgba(241,245,249,.92)}.project-content .col-inner h2,.project-content .col-inner h3,.project-content .col-inner h4{margin-top:clamp(28px,4vw,44px);margin-bottom:14px;color:#f8fafc}.project-content .col-inner img{border-radius:16px;box-shadow:0 26px 70px rgba(15,23,42,.45);margin:24px 0;display:block;margin-left:auto;margin-right:auto}.post-content pre,.post-content code{font-family:fira code,source code pro,Menlo,Monaco,Consolas,courier new,monospace}.post-content pre{background:linear-gradient(135deg,rgba(15,23,42,.94) 0%,rgba(29,78,216,.82) 100%);border:1px solid rgba(96,165,250,.35);border-radius:20px;padding:clamp(28px,5vw,40px)clamp(30px,6vw,48px)clamp(30px,5vw,42px);margin:clamp(32px,5vw,48px)0;box-shadow:0 28px 70px rgba(15,23,42,.45);position:relative;color:rgba(226,232,240,.95);overflow-x:auto}.post-content pre code{display:block;font-size:14px;line-height:1.75;color:inherit;background:0 0;padding:0}.post-content pre::-webkit-scrollbar{height:10px}.post-content pre::-webkit-scrollbar-thumb{background:rgba(59,130,246,.45);border-radius:999px}@media(max-width:767px){.page-content{padding:10px}}.post-content pre::-webkit-scrollbar-track{background:rgba(15,23,42,.25)}.post-content code:not(pre code){background:rgba(147,197,253,.18);color:#e0f2fe;border-radius:8px;padding:2px 6px;border:1px solid rgba(147,197,253,.35);font-size:90%}.post-content pre::before{display:none}.post-content pre[data-lang]::before{content:attr(data-lang);position:absolute;top:16px;right:70px;font-size:12px;text-transform:uppercase;letter-spacing:.26em;color:rgba(191,219,254,.85);display:inline-flex}.post-content .code-copy-btn{position:absolute;top:12px;right:16px;border:1px solid rgba(148,163,184,.35);background:rgba(15,23,42,.55);color:rgba(226,232,240,.9);border-radius:12px;padding:6px 12px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:all .2s ease}.post-content .code-copy-btn:hover,.post-content .code-copy-btn:focus{background:rgba(59,130,246,.45);color:#f8fafc;border-color:rgba(59,130,246,.6)}.post-content .code-copy-btn.copied{background:rgba(34,197,94,.4);border-color:rgba(34,197,94,.6);color:#ecfdf5}.pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:clamp(32px,4vw,48px);font-size:13px;text-transform:uppercase;letter-spacing:.16em;color:rgba(226,232,240,.7)}.pagination__item,.pagination__number{display:inline-flex;align-items:center;justify-content:center;padding:10px 18px;border-radius:999px;border:1px solid rgba(148,163,184,.3);color:rgba(226,232,240,.85);text-decoration:none;transition:all .2s ease}.pagination__item:hover,.pagination__number:hover,.pagination__item:focus,.pagination__number:focus{border-color:rgba(147,197,253,.6);color:#f8fafc;box-shadow:0 12px 28px rgba(15,23,42,.28)}.pagination__item--disabled{opacity:.35;pointer-events:none;border-style:dashed}.pagination__numbers{display:inline-flex;gap:8px}.pagination__number--current{background:rgba(147,197,253,.18);border-color:rgba(147,197,253,.6);color:#f8fafc;box-shadow:0 12px 28px rgba(15,23,42,.28)}@media(max-width:768px){.pagination{flex-direction:column;gap:10px}.pagination__numbers{gap:6px}.pagination__item,.pagination__number{width:100%;max-width:260px}}@media(min-width:992px){.project-overview{align-items:stretch}}@media(max-width:991px){.single-page-area{padding:10px 0}.single-page-content{padding:0!important;background:0 0!important}.ajax-page-wrapper{padding:0!important}.ajax-page-content{padding:10px!important}.project-thumb{max-width:100%}.portfolio-breadcrumbs{margin-bottom:12px;font-size:12px;gap:4px}.post-breadcrumbs{margin-bottom:12px;font-size:12px;gap:4px}.page-content{padding:10px!important}}@media(min-width:1024px){.portfolio-grid.three-columns figure{width:50%;padding:12px}.portfolio-grid.three-columns{margin-left:-12px;margin-right:-12px}}@media(max-width:768px){.section-content{padding-left:20px!important;padding-right:20px!important}.single-page-area{padding:10px 0!important}.portfolio-grid{margin-left:0!important;margin-right:0!important}.portfolio-grid figure{padding:0 0 24px!important}}@media(max-width:480px){.section-content{padding-left:16px!important;padding-right:16px!important}.single-page-area{padding:10px 0!important}.portfolio-grid figure{padding-bottom:20px!important}}.animated-section,.single-page-content{-ms-overflow-style:none;scrollbar-width:none}.animated-section::-webkit-scrollbar,.single-page-content::-webkit-scrollbar{display:none}