.portfolio-hero[data-v-b7d98e03]{align-items:center;display:flex;justify-content:center;min-height:90vh;min-height:90dvh;overflow:hidden;padding:var(--spacing-24) var(--spacing-lg) var(--spacing-16);position:relative;text-align:center}@media(max-width:767px){.portfolio-hero[data-v-b7d98e03]{min-height:auto;padding:var(--spacing-16) var(--spacing-md) var(--spacing-12)}}.portfolio-hero__bg[data-v-b7d98e03]{inset:0;pointer-events:none;position:absolute;z-index:0}.portfolio-hero__grain[data-v-b7d98e03]{background:repeating-conic-gradient(hsla(0,0%,50%,.08) 0 25%,transparent 0 50%) 0 0/2px 2px;inset:0;opacity:.025;position:absolute}.portfolio-hero__orb[data-v-b7d98e03]{border-radius:50%;filter:blur(100px);opacity:0;position:absolute;will-change:opacity}[data-motion=full] .portfolio-hero__orb[data-v-b7d98e03]{animation:orbPulse-b7d98e03 8s ease-in-out infinite;animation-play-state:var(--motion-play-state,running)}@media(prefers-reduced-motion:reduce){.portfolio-hero__orb[data-v-b7d98e03]{animation:none!important}}.portfolio-hero__orb--blue[data-v-b7d98e03]{background:radial-gradient(circle,rgba(0,84,247,.12) 0,transparent 70%);height:500px;opacity:.6;right:-8%;top:-10%;width:500px}[data-motion=full] .portfolio-hero__orb--blue[data-v-b7d98e03]{animation-delay:0s}.portfolio-hero__orb--magenta[data-v-b7d98e03]{background:radial-gradient(circle,rgba(255,0,229,.1) 0,transparent 70%);bottom:-5%;height:400px;left:-6%;opacity:.5;width:400px}[data-motion=full] .portfolio-hero__orb--magenta[data-v-b7d98e03]{animation-delay:4s}.portfolio-hero__grid[data-v-b7d98e03]{background-image:linear-gradient(var(--color-border) 1px,transparent 1px),linear-gradient(90deg,var(--color-border) 1px,transparent 1px);background-size:60px 60px;inset:0;mask-image:radial-gradient(ellipse 70% 70% at 50% 50%,#000 20%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 70% 70% at 50% 50%,#000 20%,transparent 100%);opacity:.03;position:absolute}.portfolio-hero__content[data-v-b7d98e03]{margin:0 auto;max-width:820px;position:relative;z-index:2}.portfolio-hero__badge[data-v-b7d98e03]{align-items:center;background:linear-gradient(135deg,#0054f70f,#ff00e50f);border:1px solid var(--color-border-light);border-radius:var(--radius-full);color:var(--color-text-secondary);display:inline-flex;font-size:.8125rem;font-weight:700;gap:var(--spacing-sm);letter-spacing:.04em;margin-bottom:var(--spacing-xl);padding:var(--spacing-xs) var(--spacing-lg);text-transform:uppercase}.portfolio-hero__badge-dot[data-v-b7d98e03]{background:linear-gradient(135deg,#0054f7,#ff00e5);border-radius:50%;flex-shrink:0;height:8px;width:8px}[data-motion=full] .portfolio-hero__badge-dot[data-v-b7d98e03]{animation:badgePulse-b7d98e03 2.5s ease-in-out infinite;animation-play-state:var(--motion-play-state,running)}@media(prefers-reduced-motion:reduce){.portfolio-hero__badge-dot[data-v-b7d98e03]{animation:none!important}}.portfolio-hero__title[data-v-b7d98e03]{color:var(--color-text-primary);font-size:clamp(2.5rem,6.5vw,4.5rem);font-weight:800;letter-spacing:-.025em;line-height:1.08;margin-bottom:var(--spacing-xl)}.portfolio-hero__title-gradient[data-v-b7d98e03]{background:var(--gradient-brand);-webkit-background-clip:text;background-clip:text;background-size:200% 200%;-webkit-text-fill-color:transparent;animation:text-gradient-animation var(--motion-duration,4s) linear infinite;animation-play-state:var(--motion-play-state,running)}@media(prefers-reduced-motion:reduce){.portfolio-hero__title-gradient[data-v-b7d98e03]{animation:none;background:linear-gradient(240.51deg,#0054f7,#ff00e5);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}}.portfolio-hero__subtitle[data-v-b7d98e03]{color:var(--color-text-secondary);font-size:clamp(1.0625rem,2.2vw,1.3125rem);line-height:1.7;margin:0 auto var(--spacing-2xl);max-width:660px}.portfolio-hero__actions[data-v-b7d98e03]{display:flex;flex-wrap:wrap;gap:var(--spacing-md);justify-content:center;margin-bottom:var(--spacing-2xl)}.portfolio-hero__count[data-v-b7d98e03]{align-items:center;display:flex;flex-direction:column;gap:2px;opacity:.5;transition:opacity .3s ease}.portfolio-hero__count[data-v-b7d98e03]:hover{opacity:.8}.portfolio-hero__count-number[data-v-b7d98e03]{background:linear-gradient(240.51deg,#0054f7,#ff00e5);-webkit-background-clip:text;font-size:1.5rem;font-weight:800;-webkit-text-fill-color:transparent;background-clip:text}.portfolio-hero__count-label[data-v-b7d98e03]{color:var(--color-text-tertiary);font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.portfolio-hero__showcase[data-v-b7d98e03]{inset:0;pointer-events:none;position:absolute;z-index:1}@media(max-width:1023px){.portfolio-hero__showcase[data-v-b7d98e03]{display:none}}.portfolio-hero__frame[data-v-b7d98e03]{background:linear-gradient(135deg,#0054f705,#ff00e505);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);opacity:.25;position:absolute}[data-motion=full] .portfolio-hero__frame[data-v-b7d98e03]{animation:frameFloat-b7d98e03 12s ease-in-out infinite;animation-play-state:var(--motion-play-state,running)}@media(prefers-reduced-motion:reduce){.portfolio-hero__frame[data-v-b7d98e03]{animation:none!important}}.portfolio-hero__frame--1[data-v-b7d98e03]{height:140px;left:4%;top:15%;transform:rotate(-6deg);width:200px}[data-motion=full] .portfolio-hero__frame--1[data-v-b7d98e03]{animation-delay:0s}.portfolio-hero__frame--2[data-v-b7d98e03]{height:110px;right:5%;top:22%;transform:rotate(4deg);width:160px}[data-motion=full] .portfolio-hero__frame--2[data-v-b7d98e03]{animation-delay:-4s}.portfolio-hero__frame--3[data-v-b7d98e03]{bottom:18%;height:120px;left:7%;transform:rotate(3deg);width:180px}[data-motion=full] .portfolio-hero__frame--3[data-v-b7d98e03]{animation-delay:-8s}@keyframes orbPulse-b7d98e03{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.6;transform:scale(1.08)}}@keyframes badgePulse-b7d98e03{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}@keyframes frameFloat-b7d98e03{0%,to{transform:translateY(0) rotate(var(--frame-rotate,0deg))}50%{transform:translateY(-12px) rotate(var(--frame-rotate,0deg))}}.portfolio-page[data-v-e64cde6b]{min-height:100vh;min-height:100dvh;overflow-x:hidden}.intro-section[data-v-e64cde6b]{background:var(--color-bg-secondary);padding:var(--spacing-24) var(--spacing-lg);text-align:center}@media(max-width:767px){.intro-section[data-v-e64cde6b]{padding:var(--spacing-16) var(--spacing-md)}}.intro-container[data-v-e64cde6b]{margin:0 auto;max-width:860px}.intro-badge[data-v-e64cde6b]{align-items:center;background:linear-gradient(135deg,#0054f70f,#ff00e50f);border:1px solid var(--color-border-light);border-radius:var(--radius-full);color:var(--color-text-secondary);display:inline-flex;font-size:.875rem;font-weight:600;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);padding:var(--spacing-sm) var(--spacing-lg)}.intro-badge i[data-v-e64cde6b]{background:linear-gradient(135deg,#0054f7,#ff00e5);-webkit-background-clip:text;background-clip:text}.intro-badge i[data-v-e64cde6b],.intro-title[data-v-e64cde6b]{-webkit-text-fill-color:transparent}.intro-title[data-v-e64cde6b]{animation:text-gradient-animation var(--motion-duration,4s) linear infinite;animation-play-state:var(--motion-play-state,running);background:var(--gradient-brand);-webkit-background-clip:text;background-clip:text;background-size:200% 200%;font-size:clamp(1.75rem,4vw,2.75rem);font-weight:800;line-height:1.2;margin-bottom:var(--spacing-xl)}@media(prefers-reduced-motion:reduce){.intro-title[data-v-e64cde6b]{animation:none}}.intro-text[data-v-e64cde6b]{color:var(--color-text-secondary);font-size:clamp(1rem,2vw,1.125rem);line-height:1.75;margin-bottom:var(--spacing-2xl)}.intro-stats[data-v-e64cde6b]{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-2xl);justify-content:center}.intro-stat[data-v-e64cde6b]{text-align:center}.intro-stat-value[data-v-e64cde6b]{background:var(--gradient-brand);-webkit-background-clip:text;background-clip:text;background-size:200% 200%;-webkit-text-fill-color:transparent;animation:text-gradient-animation var(--motion-duration,4s) linear infinite;animation-play-state:var(--motion-play-state,running);display:block;font-size:clamp(1.75rem,3.5vw,2.25rem);font-weight:800;line-height:1.1}@media(prefers-reduced-motion:reduce){.intro-stat-value[data-v-e64cde6b]{animation:none}}.intro-stat-label[data-v-e64cde6b]{color:var(--color-text-tertiary);display:block;font-size:.8125rem;font-weight:600;letter-spacing:.06em;margin-top:var(--spacing-xs);text-transform:uppercase}.intro-stat-divider[data-v-e64cde6b]{background:var(--color-border);height:48px;width:1px}@media(max-width:480px){.intro-stat-divider[data-v-e64cde6b]{display:none}}.section-header[data-v-e64cde6b]{margin-bottom:var(--spacing-2xl);text-align:center}.section-badge[data-v-e64cde6b]{align-items:center;background:linear-gradient(135deg,#0054f70f,#ff00e50f);border:1px solid var(--color-border-light);border-radius:var(--radius-full);color:var(--color-text-secondary);display:inline-flex;font-size:.875rem;font-weight:600;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);padding:var(--spacing-sm) var(--spacing-lg)}.section-badge i[data-v-e64cde6b]{background:linear-gradient(135deg,#0054f7,#ff00e5);-webkit-background-clip:text;background-clip:text}.section-badge i[data-v-e64cde6b],.section-title[data-v-e64cde6b]{-webkit-text-fill-color:transparent}.section-title[data-v-e64cde6b]{animation:text-gradient-animation var(--motion-duration,4s) linear infinite;animation-play-state:var(--motion-play-state,running);background:var(--gradient-brand);-webkit-background-clip:text;background-clip:text;background-size:200% 200%;font-size:clamp(2rem,4.5vw,3rem);font-weight:800;letter-spacing:-.02em;line-height:1.15;margin-bottom:var(--spacing-lg)}@media(prefers-reduced-motion:reduce){.section-title[data-v-e64cde6b]{animation:none}}.section-description[data-v-e64cde6b]{color:var(--color-text-secondary);font-size:clamp(1rem,2vw,1.125rem);line-height:1.7;margin:0 auto;max-width:700px}.projects-list[data-v-e64cde6b]{display:flex;flex-direction:column;gap:var(--spacing-3xl)}.project-card[data-v-e64cde6b]{align-items:center;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-2xl);display:grid;gap:var(--spacing-3xl);grid-template-columns:1fr;overflow:hidden;transition:box-shadow .35s ease,border-color .35s ease}.project-card[data-v-e64cde6b]:hover{border-color:var(--color-brand-blue);box-shadow:var(--shadow-2xl)}@media(min-width:1024px){.project-card[data-v-e64cde6b]{grid-template-columns:5fr 6fr}.project-card.project-card--reversed[data-v-e64cde6b]{grid-template-columns:6fr 5fr}.project-card.project-card--reversed .project-card-visual[data-v-e64cde6b]{order:2}.project-card.project-card--reversed .project-card-body[data-v-e64cde6b]{order:1}}@media(prefers-reduced-motion:reduce){.project-card[data-v-e64cde6b]{transition:none}}.project-card-visual[data-v-e64cde6b]{background:var(--color-bg-tertiary);padding:var(--spacing-2xl);position:relative}@media(max-width:1023px){.project-card-visual[data-v-e64cde6b]{padding:var(--spacing-xl) var(--spacing-lg)}}.project-card-image-wrapper[data-v-e64cde6b]{border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);overflow:hidden;position:relative}.project-card-image[data-v-e64cde6b]{border-radius:var(--radius-xl);display:block;height:auto;width:100%}.project-card-image-glow[data-v-e64cde6b]{background:linear-gradient(135deg,rgba(0,84,247,.08),transparent 60%);border-radius:var(--radius-xl);inset:0;pointer-events:none;position:absolute}.project-card-category-strip[data-v-e64cde6b]{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-top:var(--spacing-lg)}.category-chip[data-v-e64cde6b]{align-items:center;background:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:var(--radius-full);color:var(--color-text-secondary);display:inline-flex;font-size:.8125rem;font-weight:600;padding:var(--spacing-xs) var(--spacing-md);transition:border-color .25s ease,color .25s ease}.category-chip[data-v-e64cde6b]:hover{background:linear-gradient(135deg,#0054f71a,#ff00e51a);border-color:var(--color-brand-blue);color:var(--color-brand-blue)}.project-card-body[data-v-e64cde6b]{display:flex;flex-direction:column;gap:var(--spacing-lg);padding:var(--spacing-2xl) var(--spacing-2xl) var(--spacing-2xl) 0}@media(max-width:1023px){.project-card-body[data-v-e64cde6b]{padding:0 var(--spacing-xl) var(--spacing-2xl)}}.project-card-eyebrow[data-v-e64cde6b]{align-items:center;color:var(--color-brand-blue);display:inline-flex;font-size:.8125rem;font-weight:700;gap:var(--spacing-sm);letter-spacing:.06em;text-transform:uppercase}.project-card-eyebrow i[data-v-e64cde6b]{font-size:.75rem}.project-card-title[data-v-e64cde6b]{background:var(--gradient-brand);-webkit-background-clip:text;background-clip:text;background-size:200% 200%;-webkit-text-fill-color:transparent;animation:text-gradient-animation var(--motion-duration,4s) linear infinite;animation-play-state:var(--motion-play-state,running);font-size:clamp(1.75rem,3.5vw,2.5rem);font-weight:800;line-height:1.15}@media(prefers-reduced-motion:reduce){.project-card-title[data-v-e64cde6b]{animation:none}}.project-card-excerpt[data-v-e64cde6b]{color:var(--color-text-secondary);font-size:clamp(1rem,1.8vw,1.0625rem);line-height:1.7}.project-card-highlights[data-v-e64cde6b]{display:flex;flex-direction:column;gap:var(--spacing-sm);list-style:none;margin:0;padding:0}.project-card-highlights li[data-v-e64cde6b]{align-items:center;color:var(--color-text-primary);display:flex;font-size:.9375rem;font-weight:500;gap:var(--spacing-sm)}.project-card-highlights li i[data-v-e64cde6b]{color:var(--color-success);flex-shrink:0}.project-card-metrics[data-v-e64cde6b]{border-top:1px solid var(--color-border-light);display:flex;flex-wrap:wrap;gap:var(--spacing-2xl);padding-top:var(--spacing-md)}.metric[data-v-e64cde6b]{text-align:center}.metric-value[data-v-e64cde6b]{background:linear-gradient(240.51deg,#0054f7,#ff00e5);-webkit-background-clip:text;display:block;font-size:1.5rem;font-weight:800;-webkit-text-fill-color:transparent;background-clip:text}.metric-label[data-v-e64cde6b]{color:var(--color-text-tertiary);display:block;font-size:.75rem;font-weight:600;letter-spacing:.05em;margin-top:2px;text-transform:uppercase}
