.section-badge{display:inline-flex;align-items:center;gap:var(--space-3);padding:8px 16px 8px 14px;border-radius:var(--radius-full);background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border-brand);box-shadow:var(--glass-shadow),var(--glow-primary);margin-bottom:var(--space-6);position:relative;overflow:hidden;align-self:flex-start;max-width:max-content}.section-badge__icon{width:18px;height:18px;color:var(--color-primary);flex-shrink:0;display:block}.section-badge__text{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text);line-height:1;white-space:nowrap}.section-badge:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.14) 50%,transparent 60%);background-size:200% 100%;animation:badge-shimmer 1.8s ease-out .4s 1 forwards;pointer-events:none}@keyframes badge-shimmer{0%{background-position:200% center}to{background-position:-200% center}}@media(max-width:600px){.section-badge{padding:7px 14px 7px 12px}.section-badge__text{letter-spacing:.08em}}@media(prefers-reduced-motion:reduce){.section-badge:after{animation:none}}.tr-word{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.12em;margin-bottom:-.12em}.tr-word__inner{display:inline-block;will-change:transform}.tilt-card{position:relative;transform-style:preserve-3d;will-change:transform}.tilt-card__glow{position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:0;opacity:0;transition:opacity .35s ease;background:radial-gradient(240px circle at var(--mx, 50%) var(--my, 50%),rgba(238,116,55,.18),transparent 62%)}.tilt-card:hover .tilt-card__glow{opacity:1}.tilt-card>*:not(.tilt-card__glow){position:relative;z-index:1}.projects__grid{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-5)}.projects__card{flex:0 1 calc((100% - 2 * var(--space-5)) / 3);min-width:0;padding:0;overflow:hidden;display:flex;flex-direction:column;cursor:pointer;color:inherit;text-decoration:none}.projects__card--draft{cursor:default}.projects__img{width:100%;height:100%;object-fit:cover;object-position:top;display:block;transition:transform var(--transition-slow)}.projects__card:not(.projects__card--draft):hover .projects__img{transform:scale(1.05)}.projects__img-wrap{aspect-ratio:4 / 3;overflow:hidden;background:#ee74370a;border-bottom:1px solid var(--glass-border);position:relative}.projects__img-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);background:linear-gradient(135deg,#ee743712,#1a0f0733),repeating-linear-gradient(45deg,transparent,transparent 20px,rgba(255,255,255,.02) 20px,rgba(255,255,255,.02) 21px);transition:background var(--transition)}.projects__card:hover .projects__img-placeholder{background:linear-gradient(135deg,#ee74371f,#1a0f0747),repeating-linear-gradient(45deg,transparent,transparent 20px,rgba(255,255,255,.03) 20px,rgba(255,255,255,.03) 21px)}.projects__img-icon{font-size:2rem;color:#ee743773;font-weight:200;line-height:1}.projects__img-hint{color:#e8eaf04d;letter-spacing:.08em}.projects__card-body{padding:var(--space-5) var(--space-6);display:flex;flex-direction:column;gap:var(--space-2)}.projects__meta{display:flex;align-items:center;justify-content:space-between}.projects__category{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--cat-color, var(--color-primary));background:color-mix(in srgb,var(--cat-color, var(--color-primary)) 12%,transparent);border:1px solid color-mix(in srgb,var(--cat-color, var(--color-primary)) 30%,transparent);padding:3px 10px;border-radius:var(--radius-full)}.projects__year{color:#e8eaf066}.projects__name{font-size:var(--text-lg);font-weight:700;color:#ffffffd9;letter-spacing:-.01em}.projects__all{display:flex;justify-content:center;margin-top:var(--space-12)}@media(max-width:1024px){.projects__card{flex-basis:calc((100% - var(--space-5)) / 2)}}@media(max-width:600px){.projects__card{flex-basis:100%}}@media(prefers-reduced-motion:reduce){.projects__img{transition:none}.projects__card:not(.projects__card--draft):hover .projects__img{transform:none}}
