@font-face{font-family:Instrument Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/fc0a7394b875fa43-s.614a1c00.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/7ebf22b5a21034f8-s.p.d8bad3ab.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ccf27e5a7366fb23-s.262b87c4.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e41d5df559864f9e-s.p.380d09ea.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Serif Fallback;src:local(Times New Roman);ascent-override:117.94%;descent-override:36.93%;line-gap-override:0.0%;size-adjust:83.94%}.instrument_serif_555eb564-module__yJhIsW__className{font-family:Instrument Serif,Instrument Serif Fallback;font-weight:400}
.Projects-module__I8N56G__page{isolation:isolate;color:#f0f4ff;min-height:100vh;padding:8rem clamp(1.12rem,4vw,2.75rem) 6rem;position:relative}.Projects-module__I8N56G__bg{z-index:-1;background-color:#060912;background-image:radial-gradient(80% 55% at 20% 25%,#6c63ff1f 0%,#0000 55%),radial-gradient(70% 50% at 80% 75%,#00d4ff17 0%,#0000 55%),radial-gradient(#ffffff0a 1px,#0000 1px);background-size:auto,auto,32px 32px;position:fixed;inset:0}.Projects-module__I8N56G__inner{max-width:1200px;margin:0 auto}.Projects-module__I8N56G__head{margin-bottom:2.5rem}.Projects-module__I8N56G__title{color:#f0f4ff;margin-bottom:.6rem;font-size:clamp(2.24rem,4vw,3.52rem);font-weight:400;line-height:1.1}.Projects-module__I8N56G__title em{color:#00d4ff;font-style:italic}.Projects-module__I8N56G__sub{color:#a0b9e699;font-size:1.07rem}.Projects-module__I8N56G__controls{flex-wrap:wrap;align-items:center;gap:.7rem;margin-bottom:1.2rem;display:flex}.Projects-module__I8N56G__searchWrap{flex:1;min-width:200px;max-width:420px;position:relative}.Projects-module__I8N56G__searchIcon{color:#a0b9e673;pointer-events:none;position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}.Projects-module__I8N56G__search{color:#f0f4ff;width:100%;height:42px;font-family:var(--font,sans-serif);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:11px;outline:none;padding:0 2.5rem 0 2.3rem;font-size:1rem;transition:border-color .2s,box-shadow .2s}.Projects-module__I8N56G__search::placeholder{color:#a0b9e66b}.Projects-module__I8N56G__search:focus{border-color:#00d4ff99;box-shadow:0 0 0 3px #00d4ff1c}.Projects-module__I8N56G__clearBtn{color:#c8d7ffcc;cursor:pointer;background:#ffffff1a;border:0;border-radius:6px;place-items:center;width:22px;height:22px;font-size:1rem;transition:background .16s;display:grid;position:absolute;top:50%;right:.55rem;transform:translateY(-50%)}.Projects-module__I8N56G__clearBtn:hover{background:#ffffff2e}.Projects-module__I8N56G__sortSelect{color:#f0f4ff;height:42px;font-family:var(--font,sans-serif);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:11px;outline:none;padding:0 .8rem;font-size:.98rem;transition:border-color .2s}.Projects-module__I8N56G__sortSelect:focus{border-color:#00d4ff8c}.Projects-module__I8N56G__sortSelect option{background:#0b1220}.Projects-module__I8N56G__countBadge{font-family:var(--font-mono,monospace);letter-spacing:.07em;color:#00d4ffb8;white-space:nowrap;background:#00d4ff17;border:1px solid #00d4ff33;border-radius:7px;padding:.28rem .65rem;font-size:.86rem}.Projects-module__I8N56G__tags{flex-wrap:wrap;gap:.4rem;margin-bottom:2.2rem;display:flex}.Projects-module__I8N56G__tagBtn{font-family:var(--font-mono,monospace);letter-spacing:.08em;text-transform:uppercase;color:#a0b9e6a6;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff17;border-radius:7px;padding:.28rem .72rem;font-size:.8rem;transition:background .18s,border-color .18s,color .18s}.Projects-module__I8N56G__tagBtn:hover{color:#f0f4ff;background:#ffffff1a}.Projects-module__I8N56G__tagActive{color:#00d4ff!important;background:#00d4ff1f!important;border-color:#00d4ff59!important}.Projects-module__I8N56G__grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.3rem;display:grid}.Projects-module__I8N56G__card{opacity:0;filter:blur(3px);transition:opacity .52s cubic-bezier(.22,1,.36,1),transform .52s cubic-bezier(.34,1.56,.64,1),filter .4s,box-shadow .3s,border-color .3s,background .3s;transition-delay:calc(var(--i,0)*70ms);color:inherit;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;border-radius:16px;flex-direction:column;text-decoration:none;display:flex;position:relative;overflow:hidden;transform:translateY(28px)scale(.97)}.Projects-module__I8N56G__card[data-in]{opacity:1;filter:blur();transform:none}.Projects-module__I8N56G__card[data-in]:hover{box-shadow:0 24px 60px #00000080,0 0 0 1px #00d4ff2e inset,0 0 32px rgba(var(--ta,0,212,255),.08);background:#ffffff12;border-color:#00d4ff66;transform:translateY(-6px)scale(1.018)}.Projects-module__I8N56G__cardTopLine{z-index:2;background:linear-gradient(90deg,transparent,var(--ta,#00d4ff)30%,var(--ta2,#6c63ff)70%,transparent);opacity:0;height:2px;transition:opacity .28s;position:absolute;top:0;left:0;right:0;overflow:hidden}.Projects-module__I8N56G__cardTopLine:after{content:"";background:linear-gradient(90deg,#0000 20%,#fff9 50%,#0000 80%);transition:transform;position:absolute;inset:0;transform:translate(-100%)}.Projects-module__I8N56G__card[data-in]:hover .Projects-module__I8N56G__cardTopLine{opacity:1}.Projects-module__I8N56G__card[data-in]:hover .Projects-module__I8N56G__cardTopLine:after{transition:transform .65s;transform:translate(200%)}.Projects-module__I8N56G__thumb{aspect-ratio:16/9;background:#060912;width:100%;position:relative;overflow:hidden}.Projects-module__I8N56G__thumbInner{transition:transform .5s;position:absolute;inset:0}.Projects-module__I8N56G__card[data-in]:hover .Projects-module__I8N56G__thumbInner{transform:scale(1.04)}.Projects-module__I8N56G__thumbShimmer{z-index:3;pointer-events:none;opacity:0;background:linear-gradient(135deg,#0000 30%,#ffffff0a 50%,#0000 70%);transition:none;position:absolute;inset:0;transform:translate(-100%)skew(-15deg)}.Projects-module__I8N56G__card[data-in]:hover .Projects-module__I8N56G__thumbShimmer{opacity:1;transition:transform .6s,opacity .1s;transform:translate(200%)skew(-15deg)}.Projects-module__I8N56G__cardBody{flex-direction:column;flex:1;gap:.4rem;padding:1rem 1.1rem 1.2rem;display:flex}.Projects-module__I8N56G__cardTags{flex-wrap:wrap;gap:.3rem;display:flex}.Projects-module__I8N56G__cardTag{font-family:var(--font-mono,monospace);letter-spacing:.08em;text-transform:uppercase;color:#00d4ffc7;background:#00d4ff14;border:1px solid #00d4ff2e;border-radius:5px;padding:.18rem .48rem;font-size:.82rem}.Projects-module__I8N56G__cardTitle{color:#f0f4ff;font-size:1.08rem;font-weight:700;line-height:1.3;transition:color .2s}.Projects-module__I8N56G__card[data-in]:hover .Projects-module__I8N56G__cardTitle{color:#00d4ff}.Projects-module__I8N56G__cardDesc{color:#a0b9e6a6;flex:1;font-size:.94rem;line-height:1.55}.Projects-module__I8N56G__cardLink{font-family:var(--font-mono,monospace);letter-spacing:.08em;text-transform:uppercase;color:#00d4ff00;margin-top:.5rem;font-size:.8rem;transition:color .25s,letter-spacing .25s;display:block}.Projects-module__I8N56G__card[data-in]:hover .Projects-module__I8N56G__cardLink{color:#00d4ffbf;letter-spacing:.14em}.Projects-module__I8N56G__empty{text-align:center;font-family:var(--font-mono,monospace);color:#a0b9e680;letter-spacing:.1em;grid-column:1/-1;padding:4rem 2rem;font-size:1rem}.Projects-module__I8N56G__loadWrap{justify-content:center;margin-top:2.8rem;display:flex}.Projects-module__I8N56G__loadBtn{color:#c8d7ffd1;font-family:var(--font,sans-serif);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:12px;align-items:center;gap:.45rem;padding:.76rem 1.8rem;font-size:1rem;font-weight:600;transition:background .22s,border-color .22s,color .22s,transform .22s cubic-bezier(.34,1.56,.64,1);display:inline-flex}.Projects-module__I8N56G__loadBtn:hover{color:#00d4ff;background:#00d4ff1a;border-color:#00d4ff59;transform:translateY(-2px)}@media (max-width:768px){.Projects-module__I8N56G__page{padding-top:6rem;padding-bottom:4rem}.Projects-module__I8N56G__grid{grid-template-columns:1fr;gap:1rem}.Projects-module__I8N56G__searchWrap{min-width:100%;max-width:100%}.Projects-module__I8N56G__tags{gap:.32rem}.Projects-module__I8N56G__card{transition-delay:calc(var(--i,0)*40ms)}}@media (min-width:769px) and (max-width:1024px){.Projects-module__I8N56G__grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1400px){.Projects-module__I8N56G__grid{grid-template-columns:repeat(4,1fr)}}@media (prefers-reduced-motion:reduce){.Projects-module__I8N56G__card{opacity:1!important;filter:none!important;transition-delay:0s!important;transform:none!important}.Projects-module__I8N56G__thumbInner,.Projects-module__I8N56G__thumbShimmer{transition:none}}
.Footer-module__as8s1W__footer{background:#040810;border-top:1px solid #ffffff12;padding:3rem clamp(1.12rem,5vw,3.3rem) 2rem}.Footer-module__as8s1W__inner{max-width:1100px;margin:0 auto}.Footer-module__as8s1W__top{border-bottom:1px solid #ffffff0f;grid-template-columns:1fr auto auto;align-items:center;gap:2rem;margin-bottom:1.5rem;padding-bottom:2rem;display:grid}.Footer-module__as8s1W__brand{align-items:center;gap:.85rem;display:flex}.Footer-module__as8s1W__mark{letter-spacing:.04em;color:#060912;background:linear-gradient(135deg,#00d4ff,#6c63ff);border-radius:11px;flex-shrink:0;place-items:center;width:40px;height:40px;font-size:.96rem;font-weight:800;display:grid}.Footer-module__as8s1W__name{color:#f0f4ff;font-size:1.04rem;font-weight:700}.Footer-module__as8s1W__role{color:#a0b9e68c;letter-spacing:.04em;margin-top:.1rem;font-size:.86rem}.Footer-module__as8s1W__nav{gap:1.4rem;display:flex}.Footer-module__as8s1W__navLink{color:#c8d7ffa6;font-size:.97rem;font-weight:500;transition:color .18s}.Footer-module__as8s1W__navLink:hover{color:#00d4ff}.Footer-module__as8s1W__social{gap:1rem;display:flex}.Footer-module__as8s1W__socialLink{color:#00d4ffb3;background:#00d4ff14;border:1px solid #00d4ff33;border-radius:8px;padding:.3rem .7rem;font-size:.96rem;font-weight:600;transition:background .18s,border-color .18s,color .18s}.Footer-module__as8s1W__socialLink:hover{color:#00d4ff;background:#00d4ff29;border-color:#00d4ff73}.Footer-module__as8s1W__bottom{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;display:flex}.Footer-module__as8s1W__copy{color:#a0b9e673;font-size:.88rem}.Footer-module__as8s1W__stack{font-family:var(--font-mono,monospace);letter-spacing:.06em;color:#a0b9e652;font-size:.86rem}@media (max-width:768px){.Footer-module__as8s1W__top{grid-template-columns:1fr;gap:1.4rem}.Footer-module__as8s1W__nav{flex-wrap:wrap;gap:.8rem}.Footer-module__as8s1W__bottom{flex-direction:column;align-items:flex-start}}
