/* AISEL — Projects premium portfolio */
#projects{--pn:#16233a;--pn2:#263a5b;--pb:#6078d8;--pg:#ffd34f;--green:#27b978;--text:#172238;--muted:#647188;--line:#e2e8ef;position:relative;overflow:hidden;color:var(--text);background:#f8fafc}#projects *{box-sizing:border-box}#projects .wrap{width:min(1120px,calc(100% - 48px));margin:auto}
#projects .projects-hero{position:relative;min-height:625px;display:grid;place-items:center;overflow:hidden;isolation:isolate;color:#fff;background:radial-gradient(circle at 50% 44%,rgba(95,127,228,.2),transparent 28%),linear-gradient(135deg,#16233a,#1d2e4a 55%,#263a5b)}#projects .projects-hero:after{content:"";position:absolute;inset:auto 0 0;height:130px;background:linear-gradient(to top,rgba(8,15,28,.24),transparent);z-index:1}#projects .projects-hero-grid{position:absolute;inset:-60px;opacity:.2;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:52px 52px;mask-image:radial-gradient(circle at center,#000 15%,transparent 80%);animation:pgrid 28s linear infinite}@keyframes pgrid{to{transform:translate(52px,52px)}}#projects .projects-hero-glow{position:absolute;border-radius:50%;pointer-events:none}#projects .projects-hero-glow-1{width:530px;height:530px;left:50%;top:18%;transform:translateX(-50%);background:radial-gradient(circle,rgba(120,149,235,.18),transparent 68%);animation:pglow 8s ease-in-out infinite}@keyframes pglow{50%{opacity:1;transform:translateX(-50%) scale(1.08)}}#projects .projects-hero-glow-2{width:420px;height:420px;right:-210px;bottom:-240px;background:radial-gradient(circle,rgba(70,190,200,.13),transparent 68%);animation:pglow2 11s ease-in-out infinite}@keyframes pglow2{50%{transform:translate(-25px,-20px)}}#projects .projects-hero-shape{position:absolute;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.045);z-index:1;pointer-events:none}#projects .projects-hero-shape-1{width:116px;height:116px;left:2.5%;top:12%;border-radius:15px;transform:rotate(18deg);animation:ps1 10s ease-in-out infinite}#projects .projects-hero-shape-2{width:88px;height:88px;right:5%;top:21%;border-radius:50%;animation:ps2 8s ease-in-out infinite}#projects .projects-hero-shape-3{width:72px;height:72px;left:25%;bottom:17%;border-radius:10px;animation:ps3 7s ease-in-out infinite}@keyframes ps1{50%{transform:translateY(18px) rotate(25deg)}}@keyframes ps2{50%{transform:translateY(-16px) scale(1.06)}}@keyframes ps3{50%{transform:translateY(-14px) rotate(6deg)}}
#projects .projects-hero-content{position:relative;z-index:3;padding:90px 0 94px;text-align:center}#projects .projects-hero-icon{width:84px;height:84px;display:grid;place-items:center;margin:0 auto 25px;border:1px solid rgba(255,255,255,.12);border-radius:24px;color:var(--pg);background:rgba(255,255,255,.055);font-size:38px;box-shadow:0 0 70px rgba(255,211,79,.13);animation:rocket 4s ease-in-out infinite}@keyframes rocket{50%{transform:translateY(-9px) rotate(3deg)}}#projects .projects-hero-kicker{display:inline-flex;align-items:center;gap:12px;margin-bottom:17px;color:#bfcadd;font-size:10px;font-weight:800;letter-spacing:.24em}#projects .projects-hero-kicker span{width:27px;height:1px;background:#8298dd}#projects .projects-hero-title{margin:0;color:#fff;font-size:clamp(54px,7.2vw,86px);line-height:.98;letter-spacing:-.065em;font-weight:850}#projects .projects-hero-description{max-width:760px;margin:27px auto 0;color:#c9d3e3;font-size:14px;line-height:1.85}#projects .projects-hero-description strong{color:#fff;text-shadow:0 0 16px rgba(255,255,255,.18)}#projects .projects-hero-tags{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:25px}#projects .projects-hero-tags span{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border:1px solid rgba(255,255,255,.11);border-radius:999px;color:#dce5f2;background:rgba(255,255,255,.045);font-size:9px;font-weight:700;transition:.3s}#projects .projects-hero-tags span:hover{transform:translateY(-3px);background:rgba(255,255,255,.09);border-color:rgba(145,168,255,.45)}#projects .projects-hero-tags i{color:#a6b8ff}#projects .projects-scroll-btn{display:inline-flex;align-items:center;gap:9px;margin-top:30px;padding:10px 15px;border:1px solid rgba(255,255,255,.14);border-radius:10px;color:#e2e8f2;background:rgba(255,255,255,.045);text-decoration:none;font-size:10px;font-weight:800;transition:.3s}#projects .projects-scroll-btn:hover{transform:translateY(-3px);background:rgba(255,255,255,.09);color:#fff}#projects .projects-scroll-btn i{animation:parrow 1.6s ease-in-out infinite}@keyframes parrow{50%{transform:translateY(4px)}}#projects .projects-scroll-indicator{position:absolute;z-index:4;bottom:23px;left:50%;width:23px;height:39px;transform:translateX(-50%);border:1px solid rgba(255,255,255,.27);border-radius:20px}#projects .projects-scroll-indicator span{position:absolute;top:7px;left:50%;width:4px;height:7px;transform:translateX(-50%);border-radius:50%;background:#fff;animation:pdot 1.7s ease-in-out infinite}@keyframes pdot{50%{transform:translate(-50%,13px);opacity:1}}
#projects .project-library{position:relative;padding:83px 0 105px;background:radial-gradient(circle at 95% 14%,rgba(85,116,220,.045),transparent 24%),linear-gradient(180deg,#fff,#f8fafc)}#projects .project-intro{display:grid;grid-template-columns:.95fr 1.05fr;gap:70px;align-items:end;margin-bottom:35px}#projects .project-section-kicker{display:inline-flex;align-items:center;gap:9px;color:#7d899c;font-size:9px;font-weight:900;letter-spacing:.2em}#projects .project-section-kicker span{width:29px;height:1px;background:#7188d5}#projects .project-intro h2{margin:12px 0 0;color:var(--pn);font-size:clamp(31px,4vw,46px);line-height:1.08;letter-spacing:-.05em}#projects .project-intro h2 span{color:#6179d1}#projects .project-intro>p{margin:0;color:var(--muted);font-size:13px;line-height:1.85}
#projects .project-controls{display:grid;grid-template-columns:.62fr 1.38fr;gap:20px;align-items:center;margin-bottom:20px}#projects .project-search{min-height:56px;display:flex;align-items:center;gap:11px;padding:0 15px;border:1px solid #d7dee8;border-radius:14px;background:#fff;box-shadow:0 7px 20px rgba(18,31,52,.035);transition:.3s}#projects .project-search:focus-within{border-color:#aebce0;box-shadow:0 12px 30px rgba(45,65,105,.08);transform:translateY(-1px)}#projects .project-search>i{color:#8995a7}#projects .project-search input{flex:1;min-width:0;border:0;outline:0;color:var(--text);background:transparent;font:inherit;font-size:13px}#projects .project-search input::placeholder{color:#98a3b2}#projects .project-search button{width:28px;height:28px;display:grid;place-items:center;border:0;border-radius:50%;color:#78859a;background:#f0f3f7;cursor:pointer;opacity:0;pointer-events:none;transition:.2s}#projects .project-search button.visible{opacity:1;pointer-events:auto}#projects .project-search button:hover{transform:rotate(90deg)}#projects .project-filters{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px}#projects .project-filter{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 13px;border:1px solid #dfe5ed;border-radius:11px;color:#56647a;background:#fff;cursor:pointer;font:inherit;font-size:10px;font-weight:800;transition:.28s}#projects .project-filter:hover{transform:translateY(-2px);border-color:#bdc9df;color:var(--pn)}#projects .project-filter span{color:#9ba5b3;font-size:8px}#projects .project-filter.active{color:#fff;border-color:#162238;background:linear-gradient(135deg,#162238,#2a3c58);box-shadow:0 9px 20px rgba(22,34,56,.16)}#projects .project-filter.active span{color:#c9d4e4}#projects .project-result-bar{display:flex;justify-content:space-between;align-items:center;margin:0 0 16px;color:#7c8799;font-size:9px}#projects .project-result-bar strong{color:var(--pn)}#projects .project-live{display:inline-flex;align-items:center;gap:7px}#projects .project-live i{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(39,185,120,.09);animation:live 2s ease-in-out infinite}@keyframes live{50%{box-shadow:0 0 0 7px rgba(39,185,120,0)}}
#projects .project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}#projects .project-card{position:relative;display:flex;flex-direction:column;min-height:570px;overflow:hidden;border:1px solid #dfe5ed;border-radius:16px;background:#fff;box-shadow:0 10px 28px rgba(17,29,53,.055);opacity:0;transform:translateY(20px);transition:opacity .6s ease var(--project-delay),transform .6s cubic-bezier(.22,1,.36,1) var(--project-delay),box-shadow .35s,border-color .35s}#projects .project-card.project-card-visible{opacity:1;transform:translateY(0)}#projects .project-card:hover{transform:translateY(-7px);border-color:#cbd5e4;box-shadow:0 23px 48px rgba(17,29,53,.105)}#projects .project-card:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,#6078d8,#90a5f0);opacity:.75}#projects .project-accent-violet:before{background:linear-gradient(90deg,#8069db,#b3a3ff)}#projects .project-accent-cyan:before{background:linear-gradient(90deg,#2eaabb,#83d7e0)}#projects .project-accent-gold:before{background:linear-gradient(90deg,#e3ae21,#ffe083)}#projects .project-accent-green:before{background:linear-gradient(90deg,#25aa70,#7bdbad)}#projects .project-card-top{display:flex;justify-content:space-between;align-items:flex-start;padding:24px 22px 0}#projects .project-mark{position:relative;width:92px;height:92px;display:grid;place-items:center;overflow:hidden;border:1px solid #edf0f4;border-radius:17px;color:#375075;background:linear-gradient(145deg,#fff,#f8fafc);box-shadow:0 10px 22px rgba(17,29,53,.075);font-size:30px;transition:.35s}#projects .project-mark:before,#projects .project-mark:after{content:"";position:absolute;border:1px solid rgba(91,119,196,.12);border-radius:50%}#projects .project-mark:before{width:72px;height:72px}#projects .project-mark:after{width:48px;height:48px}#projects .project-mark span{position:absolute;width:7px;height:7px;right:17px;top:17px;border-radius:50%;background:#607bd9;box-shadow:0 0 0 5px rgba(96,123,217,.08)}#projects .project-card:hover .project-mark{transform:translateY(-3px) scale(1.02)}#projects .project-accent-violet .project-mark{color:#7661c7}#projects .project-accent-cyan .project-mark{color:#2e98aa}#projects .project-accent-gold .project-mark{color:#c28b0f}#projects .project-accent-green .project-mark{color:#259762}#projects .project-card-status{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border-radius:999px;color:#718096;background:#f5f7f9;font-size:7px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}#projects .project-card-status i{width:5px;height:5px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px rgba(39,185,120,.08)}
#projects .project-card-body{padding:22px 22px 0;flex:1}#projects .project-category{display:inline-flex;padding:6px 9px;border-radius:999px;color:#53637a;background:#f1f3f6;font-size:8px;font-weight:800}#projects .project-card h3{margin:15px 0 4px;color:#192238;font-size:22px;line-height:1.15;letter-spacing:-.035em}#projects .project-card h4{margin:0 0 12px;color:#63718a;font-size:11px;line-height:1.45;font-weight:700}#projects .project-card p{ text-align: justify;margin:0;color:#647188;font-size:11px;line-height:1.7}#projects .project-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}#projects .project-tags span{padding:5px 8px;border-radius:999px;color:#59667a;background:#f3f5f8;font-size:7.5px;font-weight:700}#projects .project-key-label{margin:20px 0 9px;color:#7d8797;font-size:8px;font-weight:900;letter-spacing:.12em}#projects .project-features{display:grid;gap:8px;margin:0;padding:0;list-style:none}#projects .project-features li{display:grid;grid-template-columns:12px 1fr;gap:6px;color:#5d6a7e;font-size:9.5px;line-height:1.55}#projects .project-features li i{padding-top:2px;color:#36bb7d;font-size:7px}#projects .project-card-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:22px 22px 0;padding:17px 0 20px;border-top:1px solid #edf0f4}#projects .project-focus{min-width:0;display:inline-flex;align-items:center;gap:6px;color:#8a95a5;font-size:7.5px;line-height:1.4}#projects .project-focus i{color:#788bd0}#projects .project-details-btn{display:inline-flex;align-items:center;gap:7px;padding:9px 11px;border:0;border-radius:8px;color:#fff;background:linear-gradient(135deg,#30435f,#22344f);cursor:pointer;font:inherit;font-size:8px;font-weight:800;transition:.28s}#projects .project-details-btn:hover{transform:translateY(-2px);box-shadow:0 9px 19px rgba(35,52,79,.18)}#projects .project-details-btn i{transition:.25s}#projects .project-details-btn:hover i{transform:translateX(3px)}
#projects .project-empty{padding:60px 20px;text-align:center;border:1px dashed #cdd6e3;border-radius:16px;background:#fff}#projects .project-empty[hidden]{display:none}#projects .project-empty-icon{width:52px;height:52px;display:grid;place-items:center;margin:0 auto 14px;border-radius:14px;color:#73819a;background:#eef2f7}#projects .project-empty h3{margin:0;color:var(--pn);font-size:18px}#projects .project-empty p{margin:7px 0 17px;color:#788499;font-size:10px}#projects .project-empty button{padding:9px 13px;border:0;border-radius:8px;color:#fff;background:#30425f;cursor:pointer;font:inherit;font-size:9px;font-weight:800}#projects .project-footer-card{display:flex;align-items:center;gap:14px;margin-top:37px;padding:18px;border:1px solid #e1e6ee;border-radius:15px;background:#fff;box-shadow:0 8px 25px rgba(17,29,53,.04)}#projects .project-footer-icon{width:43px;height:43px;flex:0 0 43px;display:grid;place-items:center;border-radius:11px;color:#637bc8;background:#edf2ff}#projects .project-footer-card>div:nth-child(2){flex:1}#projects .project-footer-card strong{display:block;color:var(--pn);font-size:11px}#projects .project-footer-card p{margin:4px 0 0;color:#7b8798;font-size:9px;line-height:1.5}#projects .project-footer-card>a{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border-radius:8px;color:#fff;background:#30425f;text-decoration:none;font-size:8px;font-weight:800;transition:.25s}#projects .project-footer-card>a:hover{transform:translateY(-2px);box-shadow:0 9px 18px rgba(35,52,79,.18)}
#projects .projects-reveal{opacity:0;transform:translateY(22px);transition:opacity .75s ease,transform .75s cubic-bezier(.22,1,.36,1)}#projects .projects-reveal.project-visible{opacity:1;transform:translateY(0)}
#projects .project-modal{width:min(720px,calc(100% - 30px));max-height:calc(100vh - 30px);padding:0;border:0;border-radius:18px;color:var(--text);background:#fff;box-shadow:0 35px 90px rgba(0,0,0,.28);overflow:auto}#projects .project-modal::backdrop{background:rgba(10,18,32,.68);backdrop-filter:blur(6px)}#projects .project-modal-inner{position:relative;padding:32px}#projects .project-modal-close{position:absolute;right:15px;top:15px;width:33px;height:33px;display:grid;place-items:center;border:0;border-radius:50%;color:#657188;background:#f0f3f7;cursor:pointer;transition:.25s}#projects .project-modal-close:hover{transform:rotate(90deg)}#projects .project-modal-top{display:flex;align-items:center;gap:13px}#projects .project-modal-mark{width:52px;height:52px;display:grid;place-items:center;border-radius:14px;color:#6179ce;background:#edf2ff;font-size:21px}#projects .project-modal-category{display:block;color:#65758e;font-size:9px;font-weight:800}#projects .project-modal-status{display:inline-flex;align-items:center;gap:5px;margin-top:5px;color:#2d9b6b;font-size:8px;font-weight:800}#projects .project-modal-status i{width:5px;height:5px;border-radius:50%;background:#27b978}#projects .project-modal h2{margin:20px 0 0;color:var(--pn);font-size:26px;line-height:1.3;letter-spacing:-.035em}#projects .project-modal-description{margin:12px 0 0;color:#657188;font-size:11px;line-height:1.8}#projects .project-modal-divider{height:1px;margin:21px 0;background:#e6ebf2}#projects .project-modal-section{margin-top:18px}#projects .project-modal-section>span{color:#8792a3;font-size:8px;font-weight:900;letter-spacing:.13em}#projects .project-modal-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}#projects .project-modal-tags span{padding:6px 8px;border-radius:999px;color:#596a87;background:#f1f4f8;font-size:8px;font-weight:700}#projects .project-modal-features{display:grid;gap:9px;margin:9px 0 0;padding:0;list-style:none}#projects .project-modal-features li{display:grid;grid-template-columns:14px 1fr;gap:7px;color:#5e6c80;font-size:10px;line-height:1.55}#projects .project-modal-features i{color:#32b77b;font-size:7px;padding-top:2px}#projects .project-modal-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:25px}#projects .project-modal-focus{color:#8792a3;font-size:8px}#projects .project-modal-bottom button{padding:9px 12px;border:0;border-radius:8px;color:#fff;background:#30425f;cursor:pointer;font:inherit;font-size:8px;font-weight:800}
@media(max-width:1020px){#projects .project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#projects .project-controls{grid-template-columns:1fr}#projects .project-filters{justify-content:flex-start}}@media(max-width:760px){#projects .wrap{width:calc(100% - 28px)}#projects .projects-hero{min-height:580px}#projects .projects-hero-content{padding:74px 0 82px}#projects .projects-hero-title{font-size:clamp(46px,13vw,68px)}#projects .projects-hero-description{text-align: justify;font-size:12px;line-height:1.75}#projects .project-intro{grid-template-columns:1fr;gap:18px}#projects .project-grid{grid-template-columns:1fr}#projects .project-card{min-height:auto}#projects .project-footer-card{flex-wrap:wrap}#projects .project-footer-card>a{width:100%;justify-content:center}}@media(max-width:500px){#projects .projects-hero-tags span{padding:7px 8px;font-size:8px}#projects .project-filters{display:grid;grid-template-columns:repeat(2,1fr)}#projects .project-filter{width:100%}#projects .project-result-bar{align-items:flex-start;flex-direction:column;gap:8px}#projects .project-card-top{padding-inline:17px}#projects .project-card-body{padding-inline:17px}#projects .project-card-footer{margin-inline:17px}#projects .project-mark{width:82px;height:82px}#projects .project-card h3{font-size:20px}#projects .project-modal-inner{padding:24px 20px}#projects .project-modal-bottom{flex-direction:column;align-items:stretch}#projects .project-modal-bottom button{width:100%}}@media(prefers-reduced-motion:reduce){#projects *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}#projects .projects-reveal,#projects .project-card{opacity:1;transform:none}}
