.projects-hero{background:linear-gradient(135deg,#b91c1c,#dc2626 52%,#ef4444);padding:120px 0 80px;position:relative;overflow:hidden}.hero-content{animation:fadeInUp .8s ease-out}.hero-subtitle{font-size:clamp(1rem,1.55vw,1.12rem);opacity:.95;line-height:1.6}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.projects-filter-section{background:#f8fafc}.project-filter-panel{margin:0;padding:.8rem;border-radius:14px;border:1px solid #e5e7eb;background:#fff;box-shadow:0 10px 26px #0f172a0f}.project-filter-panel .input-group-text,.project-filter-panel .form-control,.project-filter-panel .form-select{height:2.8rem;border-color:#e5e7eb;font-size:.95rem}.project-filter-panel .form-control:focus,.project-filter-panel .form-select:focus,.project-filter-panel .input-group-text:focus{border-color:#fecaca;box-shadow:0 0 0 .2rem #dc26261f}.project-filter-submit-btn,.project-filter-reset-btn{height:2.8rem}.projects-gallery-section{background:linear-gradient(180deg,#f8fafc,#fff 35%)}.portfolio-card{border-radius:16px;overflow:hidden;border:1px solid #e5e7eb;box-shadow:0 10px 24px #0f172a14;background:#fff;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.portfolio-card:hover{transform:translateY(-6px);border-color:#fecaca;box-shadow:0 22px 40px #0f172a24}.portfolio-open-btn{display:block;width:100%;height:100%;border:0;padding:0;background:#fff;cursor:pointer}.portfolio-open-btn:focus-visible{outline:3px solid rgba(220,38,38,.3);outline-offset:-3px}.portfolio-thumb-wrap{position:relative;width:100%;aspect-ratio:4 / 3;overflow:hidden;background:linear-gradient(180deg,#f8fafc,#e2e8f0)}.portfolio-thumb-wrap:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#02061700 30%,#0206175c);opacity:.6;transition:opacity .25s ease}.portfolio-thumb{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.portfolio-open-btn:hover .portfolio-thumb{transform:scale(1.05)}.portfolio-open-btn:hover .portfolio-thumb-wrap:after{opacity:.25}.portfolio-count{position:absolute;top:10px;right:10px;z-index:2;background:#0f172ad1;color:#fff;font-size:.78rem;font-weight:700;padding:4px 10px;border-radius:999px}.portfolio-empty{min-height:220px;background:#f8fafc;color:#64748b;display:flex;align-items:center;justify-content:center;border:1px dashed #cbd5e1;border-radius:16px}.portfolio-empty-inner{text-align:center}.project-gallery-modal .modal-dialog{max-width:min(1080px,calc(100% - 2rem));margin:1rem auto}.project-gallery-modal{z-index:13000}.modal-backdrop.show{z-index:12990}.project-gallery-modal .modal-content{border:0;border-radius:18px;background:#f8fafc;box-shadow:0 24px 60px #02061759}.project-gallery-modal-header{padding:.7rem .9rem .2rem}.project-gallery-close{opacity:.55;transition:transform .2s ease,opacity .2s ease}.project-gallery-close:hover{opacity:1;transform:rotate(90deg)}.project-gallery-modal-body{padding:0 1rem 1rem}.project-gallery-carousel{background:#0f172a;border-radius:14px;overflow:hidden}#projectGalleryCarousel .carousel-inner{border-radius:14px;overflow:hidden}#projectGalleryCarousel .carousel-item{background:#0f172a}#projectGalleryCarousel img{width:100%;height:min(72vh,620px);object-fit:cover}#projectGalleryCarousel .carousel-control-prev,#projectGalleryCarousel .carousel-control-next{width:11%}#projectGalleryCarousel .carousel-control-prev-icon,#projectGalleryCarousel .carousel-control-next-icon{width:2.6rem;height:2.6rem;border-radius:999px;background-color:#0206177a;background-size:54%}#projectGalleryCarousel .carousel-indicators{margin-bottom:12px}#projectGalleryCarousel .carousel-indicators button{width:7px;height:7px;border-radius:999px;border:0;background:#ffffff75}#projectGalleryCarousel .carousel-indicators .active{background:#fff;opacity:1}.project-switch-row{margin-top:.9rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.project-switch-control{width:100%;height:2.7rem;padding:0 1rem;border:1px solid transparent;border-radius:12px;background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;display:inline-flex;align-items:center;box-shadow:0 10px 24px #0f172a33;font-size:.9rem;font-weight:600;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}.project-switch-control-prev{justify-content:flex-start}.project-switch-control-next{justify-content:flex-end}.project-switch-control:hover{transform:translateY(-1px);box-shadow:0 14px 28px #0f172a3d}.project-switch-control:disabled{opacity:1;cursor:not-allowed;background:#e5e7eb;color:#94a3b8;border-color:#d1d5db;box-shadow:none}.project-switch-control:disabled:hover{transform:none}.scroll-to-top-btn{position:fixed;bottom:25px;right:25px;width:52px;height:52px;border-radius:50%;background:#dc2626;color:#fff;display:flex!important;align-items:center;justify-content:center;font-size:1.3rem;border:none;cursor:pointer;box-shadow:0 4px 16px #dc26266b;transition:all .35s ease;z-index:9999;opacity:0;transform:translate(100px) scale(.8);pointer-events:none;visibility:hidden}.scroll-to-top-btn.show{opacity:1;transform:translate(0) scale(1);pointer-events:auto;visibility:visible}.scroll-to-top-btn:hover{background:#b91c1c;transform:translateY(-6px) scale(1.06);box-shadow:0 10px 28px #dc26267a}@media(max-width:991.98px){.projects-hero{padding:92px 0 64px}#projectGalleryCarousel img{height:min(58vh,460px)}}@media(max-width:767.98px){.hero-subtitle{font-size:1rem}.project-filter-panel{padding:.7rem;border-radius:12px}.project-filter-panel .input-group-text,.project-filter-panel .form-control,.project-filter-panel .form-select,.project-filter-submit-btn,.project-filter-reset-btn{height:2.65rem}.project-gallery-modal .modal-dialog{max-width:calc(100% - 1.25rem);margin:.65rem auto}.project-gallery-modal-body{padding:0 .75rem .75rem}#projectGalleryCarousel img{height:52vh}#projectGalleryCarousel .carousel-control-prev,#projectGalleryCarousel .carousel-control-next{width:15%}#projectGalleryCarousel .carousel-control-prev-icon,#projectGalleryCarousel .carousel-control-next-icon{width:2.35rem;height:2.35rem}.project-switch-control{height:2.45rem;font-size:.84rem;padding:0 .8rem}.scroll-to-top-btn{bottom:90px;right:18px;width:48px;height:48px;font-size:1.1rem}}@media(max-width:575.98px){.portfolio-thumb-wrap{aspect-ratio:1 / 1}.project-gallery-modal .modal-content{border-radius:14px}#projectGalleryCarousel img{height:44vh}.project-switch-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.project-switch-control{height:2.3rem;padding:0 .6rem;font-size:.78rem}.project-switch-control-prev{justify-content:flex-start}.project-switch-control-next{justify-content:flex-end}}
