@import"https://fonts.googleapis.com/css2?family=Crimson+Text:ital,wght@0,400;0,600;0,700;1,400;1,600;1,700&display=swap";@import"https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,700&display=swap";@import"https://api.fontshare.com/v2/css?f[]=satoshi@1&display=swap";@font-face{font-family:Mona Sans;src:url(/fonts/MonaSans.woff2) format("woff2");font-weight:200 900;font-style:normal;font-display:swap}:root{--primitive-white: #ffffff;--primitive-gray-50: #f7f9f4;--primitive-gray-100: #eef0eb;--primitive-gray-200: #e0e0e0;--primitive-gray-300: #a0a0a0;--primitive-gray-400: #595959;--primitive-gray-700: #2a2a2a;--primitive-gray-800: #111111;--primitive-gray-900: #0a0a0a;--primitive-image-bg-light: #e8e8e8;--primitive-image-bg-dark: #252525;--primitive-accent-600: #cc3520;--primitive-accent-500: #ff584a;--primitive-accent-400: #ff6a5d;--primitive-green-600: #16a34a;--primitive-green-400: #4ade80;--primitive-red-600: #dc2626;--primitive-red-400: #f87171;--primitive-amber-600: #d97706;--primitive-amber-400: #fbbf24;--primitive-blue-600: #2563eb;--primitive-blue-400: #60a5fa;--primitive-teal: #0097a7;--primitive-teal-light: #26b6c7;--primitive-violet: #6b5ce7;--primitive-violet-light: #8879ff;--primitive-graphite: #3b3b3b;--primitive-graphite-light: #c9c9c9;--primitive-lavender: #bfb0e8;--primitive-pink: #f5c5d7;--primitive-orange: #eb9760;--primitive-lime: #c4df54;--primitive-font-serif: "Crimson Text", serif;--primitive-font-sans: "Satoshi", "Mona Sans", sans-serif}:root{--color-bg: var(--primitive-gray-50);--color-bg-secondary: var(--primitive-gray-100);--color-image-contain-bg: var(--primitive-image-bg-light);--color-text: #22211f;--color-text-muted: var(--primitive-gray-400);--color-accent: var(--primitive-accent-600);--color-accent-strong: var(--primitive-accent-600);--color-accent-vivid: var(--primitive-accent-500);--color-accent-contrast: var(--primitive-white);--color-accent-soft: rgba(204, 53, 32, .12);--color-border: var(--primitive-gray-200);--color-border-soft: var(--primitive-gray-100);--color-success: var(--primitive-green-600);--color-success-soft: rgba(22, 163, 74, .12);--color-error: var(--primitive-red-600);--color-error-soft: rgba(220, 38, 38, .12);--color-warning: var(--primitive-amber-600);--color-warning-soft: rgba(217, 119, 6, .12);--color-info: var(--primitive-blue-600);--color-info-soft: rgba(37, 99, 235, .12);--accent-warm: var(--primitive-accent-500);--accent-cool: var(--primitive-teal);--accent-violet: var(--primitive-violet);--accent-graphite: var(--primitive-graphite);--showcase-lavender: var(--primitive-lavender);--showcase-pink: var(--primitive-pink);--showcase-orange: var(--primitive-orange);--showcase-lime: var(--primitive-lime);--font-display: var(--primitive-font-serif);--font-body: var(--primitive-font-sans);--text-display: clamp(3rem, 5vw + 1rem, 5.5rem);--text-hero: clamp(2rem, 4vw + .5rem, 4.5rem);--text-stat: clamp(2rem, 4vw + .5rem, 4rem);--text-h1: clamp(1.6rem, 3vw + .4rem, 3rem);--text-h2: clamp(1.5rem, 2.5vw + .5rem, 2.75rem);--text-h3: clamp(1.35rem, 2vw + .5rem, 2.25rem);--text-h4: clamp(1.2rem, 1.5vw + .5rem, 1.85rem);--text-body: clamp(.95rem, .5vw + .7rem, 1.125rem);--text-body-sm: clamp(.875rem, .4vw + .65rem, 1.05rem);--text-subtitle: clamp(1.15rem, .8vw + .75rem, 1.5rem);--text-caption: clamp(.8rem, .3vw + .6rem, .95rem);--text-hero-name: clamp(3.6rem, 8vw, 6.25rem);--text-hero-role: clamp(1.75rem, 3.5vw, 2.75rem);--text-stat-value: clamp(1.5rem, 2.5vw, 2.1rem);--text-marquee: clamp(1rem, 1.6vw, 1.45rem);--text-page-title: clamp(2.5rem, 6vw, 4.5rem);--text-playground-title: clamp(2.25rem, 1.4rem + 4vw, 4rem);--text-section-title: clamp(1.9rem, 4.5vw, 3.25rem);--text-footer-cta: clamp(2.25rem, 5.5vw, 4rem);--text-nav-menu: clamp(2rem, 8vw, 3.5rem);--text-card-title: 1rem;--text-label: .7rem;--lh-tight: 1;--lh-snug: 1.3;--lh-heading: 1.1;--lh-body: 1.7;--fw-heading: 500;--fw-body: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--ls-heading: -.02em;--ls-tight: -.01em;--ls-meta: .02em;--ls-wide: .04em;--ls-caps: .1em;--ls-label: .15em;--spacing-xs: .5rem;--spacing-sm: .75rem;--spacing-md: clamp(1rem, .85rem + .4vw, 1.5rem);--spacing-lg: clamp(1.5rem, 1.15rem + 1.5vw, 3rem);--spacing-xl: clamp(2rem, 1.3rem + 3vw, 5rem);--spacing-2xl: clamp(3rem, 2rem + 4vw, 7rem);--container-2xl: 1800px;--container-xl: 1600px;--container-lg: 1200px;--container-md: 960px;--container-sm: 720px;--w-grid: var(--container-xl);--w-content: var(--container-lg);--w-work-grid: 1080px;--measure: 66ch;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--nav-height: 72px;--transition-fast: .2s ease;--transition-medium: .4s cubic-bezier(.4, 0, .2, 1);--transition-slow: .8s cubic-bezier(.4, 0, .2, 1)}[data-theme=dark]{--color-bg: var(--primitive-gray-900);--color-bg-secondary: var(--primitive-gray-800);--color-image-contain-bg: var(--primitive-image-bg-dark);--color-text: var(--primitive-white);--color-text-muted: var(--primitive-gray-300);--color-accent: var(--primitive-accent-500);--color-accent-strong: var(--primitive-accent-500);--color-accent-vivid: var(--primitive-accent-500);--color-accent-contrast: var(--primitive-white);--color-accent-soft: rgba(255, 88, 74, .18);--color-border: var(--primitive-gray-700);--color-border-soft: var(--primitive-gray-800);--color-success: var(--primitive-green-400);--color-success-soft: rgba(74, 222, 128, .18);--color-error: var(--primitive-red-400);--color-error-soft: rgba(248, 113, 113, .18);--color-warning: var(--primitive-amber-400);--color-warning-soft: rgba(251, 191, 36, .18);--color-info: var(--primitive-blue-400);--color-info-soft: rgba(96, 165, 250, .18);--accent-warm: var(--primitive-accent-400);--accent-cool: var(--primitive-teal-light);--accent-violet: var(--primitive-violet-light);--accent-graphite: var(--primitive-graphite-light)}@media(min-width:1920px){:root{--spacing-lg: 3rem;--spacing-xl: 4.5rem;--spacing-2xl: 6rem;--container-xl: 1760px;--container-2xl: 2000px;--w-content: 1320px}}@media(min-width:2560px){:root{--container-xl: 1920px;--container-2xl: 2200px;--w-content: 1440px}}@media(max-width:480px){:root{--spacing-sm: .625rem}}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;font-size:16px;overflow-x:clip;max-width:100%}@media(min-width:1920px){html{font-size:18px}}@media(max-width:1535.98px){html{font-size:15.5px}}@media(max-width:1279.98px){html{font-size:15px}}@media(max-width:767.98px){html{font-size:14.5px}}@media(max-width:480px){html{font-size:14px}}body{font-family:var(--font-body);font-size:clamp(.9375rem,1.1vw,1rem);background-color:var(--color-bg);color:var(--color-text);line-height:1.6;overflow-x:clip;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--transition-medium),color var(--transition-medium)}body.case-study-active{overflow:hidden}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none}img{max-width:100%;height:auto;object-fit:cover}::selection{background-color:var(--color-accent);color:var(--color-accent-contrast)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.container{width:100%;max-width:var(--container-xl);margin:0 auto;padding:0 var(--spacing-lg)}@media(min-width:1920px){.container{max-width:var(--container-2xl);padding:0 var(--spacing-xl)}}@media(max-width:767.98px){.container{padding:0 var(--spacing-md)}}@media(max-width:480px){.container{padding:0 var(--spacing-sm)}}@media(max-width:767.98px){html .container,html .about-container,html .playground-container,html .projects-container,html .services-section-container,html .hero-container,html .footer{padding-left:1.25rem;padding-right:1.25rem}}@media(max-width:480px){html .container,html .about-container,html .playground-container,html .projects-container,html .services-section-container,html .hero-container,html .footer{padding-left:1rem;padding-right:1rem}}@media(max-width:767.98px){:root{--text-caption: clamp(.8125rem, 2.4vw, .9375rem);--text-body-sm: clamp(.875rem, 2.6vw, 1rem);--text-body: clamp(.9375rem, 2.8vw, 1rem);--text-eyebrow: .9375rem;--text-h1: clamp(2rem, 8vw, 2.5rem);--text-h2: clamp(1.625rem, 6vw, 2rem);--text-h3: clamp(1.25rem, 5vw, 1.5rem);--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 3rem;--spacing-2xl: 4rem}html{font-size:15px}}.section-label{display:inline-block;font-family:var(--font-body);font-size:var(--text-caption);font-weight:var(--fw-heading);text-transform:none;letter-spacing:normal;color:var(--color-text-muted);margin-bottom:var(--spacing-sm)}@media(max-width:767.98px){.section-label{font-size:var(--text-eyebrow);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted)}}button,button *,[role=button],[role=button] *{font-weight:var(--fw-medium)!important}.animated-btn,.animated-btn *{font-weight:var(--fw-semibold)!important}.animated-btn{display:inline-flex;align-items:center;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--text-body-sm);font-weight:var(--fw-medium);border-radius:100px;cursor:pointer;position:relative;overflow:hidden;transition:transform var(--transition-medium),box-shadow var(--transition-medium)}.animated-btn.primary{background:var(--color-accent);color:var(--color-accent-contrast)}.animated-btn.primary:hover{transform:translateY(-2px)}.animated-btn.outline,.animated-btn.secondary{background:transparent;border:1px solid var(--color-border);color:var(--color-text)}.animated-btn.outline:hover,.animated-btn.secondary:hover{border-color:var(--color-text);color:var(--color-text)}.btn-inner{display:flex;align-items:center;gap:var(--spacing-sm);pointer-events:none}.btn-text{display:flex;overflow:hidden}.char-wrapper{display:inline-block;position:relative;overflow:hidden;vertical-align:bottom}.char-inner{display:inline-block;position:relative;transition:transform .4s cubic-bezier(.4,0,.2,1)}.char-clone{position:absolute;top:100%;left:0;display:block}.animated-btn:hover .char-inner{transform:translateY(-100%)}.animated-btn .char-wrapper:nth-child(1) .char-inner{transition-delay:0ms}.animated-btn .char-wrapper:nth-child(2) .char-inner{transition-delay:15ms}.animated-btn .char-wrapper:nth-child(3) .char-inner{transition-delay:30ms}.animated-btn .char-wrapper:nth-child(4) .char-inner{transition-delay:45ms}.animated-btn .char-wrapper:nth-child(5) .char-inner{transition-delay:60ms}.animated-btn .char-wrapper:nth-child(6) .char-inner{transition-delay:75ms}.animated-btn .char-wrapper:nth-child(7) .char-inner{transition-delay:90ms}.animated-btn .char-wrapper:nth-child(8) .char-inner{transition-delay:105ms}.animated-btn .char-wrapper:nth-child(9) .char-inner{transition-delay:.12s}.animated-btn .char-wrapper:nth-child(10) .char-inner{transition-delay:135ms}.animated-btn .char-wrapper:nth-child(11) .char-inner{transition-delay:.15s}.animated-btn .char-wrapper:nth-child(12) .char-inner{transition-delay:165ms}.animated-btn .char-wrapper:nth-child(13) .char-inner{transition-delay:.18s}.animated-btn .char-wrapper:nth-child(14) .char-inner{transition-delay:195ms}.animated-btn .char-wrapper:nth-child(15) .char-inner{transition-delay:.21s}.btn-icon-wrapper{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;width:1.25em;height:1.25em}.btn-icon{display:block;transition:transform .4s cubic-bezier(.4,0,.2,1)}.btn-icon-clone{position:absolute;left:0;top:0;transform:translate(-130%)}.animated-btn:hover .btn-icon:not(.btn-icon-clone){transform:translate(130%)}.animated-btn:hover .btn-icon-clone{transform:translate(0)}@media(min-width:1920px){.animated-btn{padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--text-body)}}@media(max-width:767.98px){.animated-btn:hover .char-inner{transform:translateY(0)}.animated-btn:hover .btn-icon:not(.btn-icon-clone){transform:translate(0)}.animated-btn:hover .btn-icon-clone{transform:translate(-130%)}.animated-btn:active .char-inner{transform:translateY(-100%)}.animated-btn:active .btn-icon:not(.btn-icon-clone){transform:translate(130%)}.animated-btn:active .btn-icon-clone{transform:translate(0)}}@media(max-width:480px){.btn-inner{gap:var(--spacing-xs)}}@media(max-width:767.98px){.animated-btn{min-height:44px;padding:.75rem 1.25rem}}.theme-toggle{display:none}.toggle-track{position:relative;width:48px;height:26px;background:transparent;border:1px solid transparent;border-radius:100px;display:flex;align-items:center;padding:2px;transition:background-color var(--transition-medium),border-color var(--transition-medium)}.toggle-thumb{position:absolute;left:2px;width:20px;height:20px;background:var(--color-accent);border-radius:50%;z-index:2}.toggle-icon{position:absolute;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);transition:color var(--transition-fast),opacity var(--transition-fast);z-index:1}.toggle-icon.sun{left:5px}.toggle-icon.moon{right:5px}[data-theme=light] .toggle-icon.sun{color:var(--color-accent-contrast);opacity:1}[data-theme=light] .toggle-icon.moon,[data-theme=dark] .toggle-icon.sun{opacity:.5}[data-theme=dark] .toggle-icon.moon{color:var(--color-bg);opacity:1}.theme-toggle:hover .toggle-track{border-color:transparent}@media(max-width:767.98px){.toggle-track{width:44px;height:24px}.toggle-thumb{width:18px;height:18px}.toggle-icon svg{width:12px;height:12px}}@media(max-width:767.98px){.theme-toggle{min-width:44px;min-height:44px;padding:10px}}.navigation{position:fixed;top:0;left:0;right:0;z-index:1000;padding:var(--spacing-sm) var(--spacing-lg);transition:padding var(--transition-medium),background var(--transition-medium),backdrop-filter var(--transition-medium),-webkit-backdrop-filter var(--transition-medium);background:#f7f9f4e0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}[data-theme=dark] .navigation{background:#0a0a0ae0}.navigation.nav-transparent{background:transparent;backdrop-filter:blur(0px);-webkit-backdrop-filter:blur(0px)}[data-theme=dark] .navigation.nav-transparent{background:transparent}.navigation.menu-open{background:#f7f9f4fa}[data-theme=dark] .navigation.menu-open{background:#0a0a0afa}.nav-container{max-width:var(--container-xl);margin:0 auto;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--spacing-lg)}.nav-logo{display:flex;align-items:center;gap:var(--spacing-xs);text-decoration:none;z-index:1001}.nav-logo img{height:36px;width:auto}.logo-text{font-family:var(--font-display);font-size:1.25rem;font-weight:var(--fw-heading);font-style:normal;color:var(--color-text);letter-spacing:var(--ls-heading);transition:color var(--transition-fast)}.nav-logo:hover .logo-text{color:var(--color-accent)}.nav-links{display:flex;align-items:center;justify-content:center;gap:1.5rem}.nav-link{font-size:var(--text-body-sm);font-weight:var(--fw-medium);letter-spacing:normal;color:var(--color-text-muted);transition:color var(--transition-fast)}.nav-link:hover{color:var(--color-text)}.nav-link.active{color:var(--color-text);font-weight:var(--fw-semibold)}.nav-right{display:flex;align-items:center;gap:var(--spacing-md)}.nav-mobile-right{display:none;align-items:center;gap:var(--spacing-sm)}.nav-cta-btn{padding:.625rem 1.25rem!important;font-size:.85rem!important;border-radius:100px!important}.hamburger{display:none;flex-direction:column;justify-content:center;align-items:center;width:44px;height:44px;cursor:pointer;z-index:1001;position:relative;background:transparent;border:none}.hamburger-line{position:absolute;width:24px;height:2px;background-color:var(--color-text);transition:all .3s cubic-bezier(.4,0,.2,1);transform-origin:center center}.line-1{transform:translateY(-8px)}.line-2{transform:translateY(0)}.line-3{transform:translateY(8px)}.hamburger.active .line-1{transform:translateY(0) rotate(45deg)}.hamburger.active .line-2{opacity:0;transform:scaleX(0)}.hamburger.active .line-3{transform:translateY(0) rotate(-45deg)}.mobile-menu{position:fixed;inset:0;z-index:999;background:var(--color-bg);display:flex;align-items:center;justify-content:center}.mobile-menu-content{width:100%;max-width:500px;padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-xl)}.mobile-nav-links{display:flex;flex-direction:column;gap:var(--spacing-xs)}.mobile-nav-link{display:flex;align-items:baseline;gap:var(--spacing-sm);padding:var(--spacing-sm) 0;transition:all var(--transition-fast)}.mobile-nav-link:hover{padding-left:var(--spacing-sm);border-color:var(--color-accent)}.mobile-link-number{font-family:var(--font-body);font-size:var(--text-body-sm);color:var(--color-accent)}.mobile-link-text{font-family:var(--font-body);font-size:var(--text-nav-menu);font-weight:var(--fw-heading);transition:color var(--transition-fast)}.mobile-nav-link:hover .mobile-link-text{color:var(--color-accent)}.mobile-menu-footer{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-lg)}.mobile-cta-btn{width:100%;justify-content:center}.mobile-social-links{display:flex;gap:var(--spacing-lg)}.mobile-social-links a{font-size:var(--text-caption);color:var(--color-text-muted);transition:color var(--transition-fast)}.mobile-social-links a:hover{color:var(--color-accent)}.desktop-only{display:flex}@media(min-width:1920px){.navigation{padding:var(--spacing-sm) var(--spacing-xl)}.nav-container{max-width:var(--container-2xl);gap:var(--spacing-xl)}.nav-logo img{height:42px}.logo-text{font-size:1.4rem}.nav-link{font-size:var(--text-body)}.nav-cta-btn{padding:.75rem 1.5rem!important;font-size:.95rem!important}}@media(max-width:1535.98px){.navigation{padding:var(--spacing-sm) var(--spacing-lg)}.nav-links{gap:1.5rem}}@media(max-width:1279.98px){.navigation{padding:var(--spacing-sm) var(--spacing-lg)}.nav-links{gap:var(--spacing-lg)}}@media(max-width:1023.98px){.navigation{padding:var(--spacing-sm) var(--spacing-md)}.nav-container{grid-template-columns:auto 1fr}.desktop-only{display:none}.nav-mobile-right{display:flex;justify-content:flex-end}.hamburger{display:flex}}@media(max-width:767.98px){.navigation{padding:var(--spacing-sm) var(--spacing-md)}.logo-text{font-size:1.35rem}.nav-logo img{height:38px}.hamburger{width:40px;height:40px}.hamburger-line{width:22px}.line-1{transform:translateY(-7px)}.line-3{transform:translateY(7px)}.mobile-menu-content{padding:var(--spacing-md);gap:var(--spacing-lg)}.mobile-nav-link{padding:var(--spacing-sm) 0;gap:var(--spacing-sm)}.mobile-social-links{gap:var(--spacing-md)}}@media(max-width:480px){.navigation{padding:var(--spacing-sm) var(--spacing-sm)}.logo-text{font-size:1.25rem}.nav-logo img{height:32px}.hamburger{width:44px;height:44px}.hamburger-line{width:20px}.line-1{transform:translateY(-6px)}.line-3{transform:translateY(6px)}.mobile-menu-content{padding:var(--spacing-md);gap:var(--spacing-lg)}.mobile-nav-link{gap:var(--spacing-xs)}.mobile-social-links{gap:var(--spacing-sm);flex-wrap:wrap;justify-content:center}}@media(max-width:767.98px){.hamburger{width:44px;height:44px}.nav-cta-btn{font-size:.9375rem!important;padding:.6875rem 1.125rem!important}.mobile-nav-link{min-height:48px;padding:var(--spacing-sm) 0;align-items:center}.mobile-social-links a{min-height:44px;display:inline-flex;align-items:center;padding:0 var(--spacing-xs)}.cv-link-input-wrapper{min-width:0;width:min(calc(100vw - 2 * var(--spacing-md)),320px);right:0}}@media(max-width:360px){.navigation{padding:var(--spacing-xs) var(--spacing-sm)}.nav-logo img{height:28px}.logo-text{font-size:1.1rem}.hamburger{width:44px;height:44px}.mobile-link-text{font-size:clamp(1.5rem,10vw,2.5rem)}}.cv-link-editor{position:relative;display:flex;align-items:center;gap:var(--spacing-xs)}.cv-link-input-wrapper{position:absolute;top:calc(100% + var(--spacing-xs));right:0;display:flex;gap:var(--spacing-xs);background:var(--color-bg);padding:var(--spacing-xs);border-radius:var(--radius-sm);box-shadow:0 4px 12px #0000001a;border:1px solid var(--color-border);z-index:10;min-width:300px}[data-theme=dark] .cv-link-input-wrapper{box-shadow:0 4px 12px #0000004d}.cv-link-input{flex:1;padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);font-size:.85rem;font-family:var(--font-body)}.cv-link-input:focus{outline:none;border-color:var(--color-accent)}.cv-link-done{padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:1rem;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;min-width:36px}.cv-link-done:hover{transform:scale(1.05);box-shadow:0 2px 8px #ff584a4d}.footer{padding:var(--spacing-xl) var(--spacing-lg);background:var(--color-bg);position:relative;overflow:hidden}.footer-container{max-width:var(--w-work-grid);margin:0 auto;width:100%;position:relative;z-index:2;padding:0;box-sizing:border-box}.footer-cta-wrapper{position:relative;display:flex;align-items:center;justify-content:space-between;min-height:280px}.footer-cta{flex:1;max-width:800px;padding-bottom:var(--spacing-sm)}.cta-line-wrapper{overflow:hidden;padding-bottom:.15em}.cta-line{display:flex;align-items:center;gap:clamp(.75rem,1.5vw,1.5rem);flex-wrap:wrap;will-change:transform}.cta-line.with-button{gap:.5rem;margin-bottom:var(--spacing-xs)}.cta-text{font-size:var(--text-footer-cta);font-weight:var(--fw-medium);line-height:1.15;color:var(--color-text);letter-spacing:var(--ls-heading)}.cta-text.sans{font-family:var(--font-body);font-weight:var(--fw-medium)}.cta-text.serif{font-family:var(--font-display);font-style:italic;font-weight:600}.cta-text.highlight{color:var(--color-accent)}.cta-text--cap{text-transform:capitalize}.cta-line .animated-btn{flex-shrink:0}.footer-cta-mobile-btn{display:none}.footer-sitemap{display:flex;gap:clamp(2.5rem,5vw,4.5rem);flex-shrink:0;z-index:2}.footer-sitemap-col{display:flex;flex-direction:column;gap:.7rem}.footer-sitemap-title{font-family:var(--font-body);font-size:var(--text-caption);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--ls-caps);color:var(--color-text-muted);margin-bottom:.35rem}.footer-sitemap-link{font-family:var(--font-body);font-size:var(--text-body-sm);color:var(--color-text-muted);width:fit-content;transition:color var(--transition-fast)}.footer-sitemap-link:hover{color:var(--color-accent)}.footer-sitemap-link:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:3px}@media(max-width:767.98px){.footer-sitemap-col{gap:.4rem}.footer-sitemap-link{padding:6px 0;font-size:var(--text-body)}}.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:var(--spacing-xl)}.footer-copyright{font-family:var(--font-body);font-size:var(--text-body-sm);color:var(--color-text-muted);margin:0}@media(min-width:1920px){.footer{padding:var(--spacing-2xl) var(--spacing-xl)}.footer-container{max-width:var(--w-work-grid)}.footer-cta-wrapper{min-height:320px}.cta-text{font-size:clamp(2.5rem,4vw,4.5rem)}.footer-bottom{padding-top:var(--spacing-2xl)}}@media(max-width:1279.98px){.footer-cta-wrapper{min-height:260px}.cta-text{font-size:clamp(2rem,5vw,3.5rem)}.cta-line.with-button{gap:var(--spacing-md)}}@media(max-width:1023.98px){.footer{padding:var(--spacing-xl) var(--spacing-md)}.footer-cta-wrapper{flex-direction:column;align-items:flex-start;gap:2.5rem;min-height:auto}.cta-text{font-size:clamp(2rem,5.5vw,4rem)}.cta-line.with-button{gap:var(--spacing-md)}}@media(max-width:767.98px){.footer{padding:var(--spacing-xl) var(--spacing-md) var(--spacing-lg)}.footer-cta-wrapper{min-height:auto;margin-bottom:2.5rem}.footer-cta{gap:.25rem}.cta-line-wrapper{padding:.05em 0}.cta-text{font-size:clamp(2.25rem,10vw,3.25rem);line-height:1.05}.cta-line.with-button{flex-direction:row;align-items:baseline;gap:0;margin-top:0}.cta-line.with-button .animated-btn{display:none}.footer-cta-mobile-btn{display:block;margin-top:1.25rem}.footer-bottom{flex-direction:column;gap:var(--spacing-md);text-align:center;padding-top:2rem;border-top:1px solid var(--color-border)}}@media(max-width:767.98px){.footer{padding:3.5rem var(--spacing-md) 2rem}.footer .animated-btn,.footer-cta .animated-btn{min-height:44px;padding:.875rem 1.4rem}}@media(max-width:480px){.footer{padding:var(--spacing-lg) var(--spacing-sm)}.cta-text{font-size:clamp(1.75rem,10vw,2.75rem)}}@media(max-width:360px){.cta-text{font-size:clamp(1.5rem,9vw,2.25rem)}}.edit-panel{position:fixed;top:0;right:0;width:360px;height:100vh;background:var(--color-bg);border-left:1px solid var(--color-border);z-index:1000;display:flex;flex-direction:column;box-shadow:-4px 0 20px #0000001a;font-family:var(--font-body)}[data-theme=dark] .edit-panel{background:#1a1a1a;border-color:#ffffff1a}.edit-panel-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--color-border);background:var(--color-bg-secondary)}.edit-panel-header h3{font-size:1rem;font-weight:600;margin:0;display:flex;align-items:center;gap:.5rem}.panel-actions{display:flex;gap:.5rem}.reset-btn{padding:.4rem .75rem;font-size:.75rem;background:transparent;border:1px solid var(--color-border);border-radius:6px;color:var(--color-text-muted);cursor:pointer;transition:all .2s ease}.reset-btn:hover{border-color:#f44;color:#f44;background:#ff44441a}.close-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--color-border);border-radius:6px;font-size:1.2rem;color:var(--color-text-muted);cursor:pointer;transition:all .2s ease}.close-btn:hover{border-color:var(--color-text);color:var(--color-text)}.edit-panel-tabs{display:flex;gap:.25rem;padding:.75rem;border-bottom:1px solid var(--color-border);overflow-x:auto}.tab-btn{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.5rem .75rem;background:transparent;border:1px solid transparent;border-radius:8px;cursor:pointer;transition:all .2s ease;flex:1;min-width:60px}.tab-btn:hover{background:var(--color-bg-secondary)}.tab-btn.active{background:var(--color-accent);color:#fff}.tab-icon{font-size:1.1rem}.tab-label{font-size:.65rem;font-weight:500;text-transform:uppercase;letter-spacing:.03em}.edit-panel-content{flex:1;overflow-y:auto;padding:1rem 1.25rem}.edit-section h4{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin:1.5rem 0 .75rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-border)}.edit-section h4:first-child{margin-top:0}.edit-group{margin-bottom:1rem}.edit-group label{display:block;font-size:.75rem;font-weight:500;color:var(--color-text-muted);margin-bottom:.4rem}.edit-group input[type=text],.edit-group input[type=email],.edit-group textarea,.edit-group select{width:100%;padding:.6rem .75rem;font-size:.85rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);transition:border-color .2s ease;font-family:inherit}.edit-group input:focus,.edit-group textarea:focus,.edit-group select:focus{outline:none;border-color:var(--color-accent)}.edit-group textarea{resize:vertical;min-height:80px}.edit-group select{cursor:pointer}.field-hint{display:block;font-size:.7rem;color:var(--color-text-muted);margin-top:.35rem;font-style:normal;opacity:.8}.color-group .color-input-wrapper{display:flex;gap:.5rem;align-items:center}.color-group input[type=color]{width:40px;height:36px;padding:2px;border:1px solid var(--color-border);border-radius:6px;cursor:pointer}.color-group input[type=text]{flex:1}.project-edit-card{margin-bottom:.5rem;border:1px solid var(--color-border);border-radius:8px;overflow:hidden}.project-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--color-bg-secondary);border:none;cursor:pointer;font-size:.85rem;font-weight:500;color:var(--color-text);transition:background .2s ease}.project-toggle:hover{background:var(--color-bg)}.project-edit-fields{padding:1rem;border-top:1px solid var(--color-border)}.project-edit-fields .edit-group:last-child{margin-bottom:0}.edit-panel-footer{padding:.75rem 1.25rem;border-top:1px solid var(--color-border);background:var(--color-bg-secondary)}.edit-panel-footer .hint{font-size:.7rem;color:var(--color-text-muted);display:flex;align-items:center;gap:.5rem}@media(max-width:767.98px){.edit-panel{width:100%;max-width:100%}}.edit-panel-content::-webkit-scrollbar{width:6px}.edit-panel-content::-webkit-scrollbar-track{background:transparent}.edit-panel-content::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.edit-panel-content::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.hero{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;position:relative;overflow:hidden}.hero-background{position:absolute;inset:0;pointer-events:none;overflow:hidden}.hero-sparkles{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}.hero-grid{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(0,0,0,.11) 1px,transparent 1px);background-size:34px 34px;mask-image:radial-gradient(ellipse 88% 80% at 50% 35%,black 0%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 88% 80% at 50% 35%,black 0%,transparent 100%);opacity:.5}[data-theme=dark] .hero-grid{background-image:radial-gradient(circle,rgba(255,255,255,.07) 1px,transparent 1px);opacity:.65}.gradient-orb{position:absolute;border-radius:50%;filter:blur(120px);opacity:.3}.orb-1{width:400px;height:400px;background:radial-gradient(circle,rgba(255,88,74,.2) 0%,transparent 70%);top:-200px;right:-100px;animation:orb-drift 18s ease-in-out infinite}.orb-2{width:340px;height:340px;background:radial-gradient(circle,rgba(255,120,100,.15) 0%,transparent 70%);bottom:-200px;left:-100px;animation:orb-drift 22s ease-in-out infinite reverse}.orb-3{width:220px;height:220px;background:radial-gradient(circle,rgba(255,88,74,.08) 0%,transparent 70%);top:50%;left:40%;transform:translate(-50%,-50%);animation:orb-drift 25s ease-in-out infinite 2s}.orb-4{width:300px;height:300px;background:radial-gradient(circle,rgba(255,120,100,.14) 0%,transparent 70%);top:-80px;left:8%;animation:orb-drift 20s ease-in-out infinite 1s reverse}.orb-5{width:260px;height:260px;background:radial-gradient(circle,rgba(255,88,74,.12) 0%,transparent 70%);top:30%;right:6%;animation:orb-drift 24s ease-in-out infinite .5s}.orb-6{width:360px;height:360px;background:radial-gradient(circle,rgba(255,120,100,.1) 0%,transparent 70%);bottom:-160px;left:45%;transform:translate(-50%);animation:orb-drift 28s ease-in-out infinite 3s reverse}[data-theme=dark] .orb-1{background:radial-gradient(circle,rgba(255,88,74,.4) 0%,transparent 70%)}[data-theme=dark] .orb-2{background:radial-gradient(circle,rgba(255,150,100,.25) 0%,transparent 70%)}[data-theme=dark] .orb-3{background:radial-gradient(circle,rgba(255,88,74,.12) 0%,transparent 70%)}[data-theme=dark] .orb-4{background:radial-gradient(circle,rgba(255,150,100,.22) 0%,transparent 70%)}[data-theme=dark] .orb-5{background:radial-gradient(circle,rgba(255,88,74,.2) 0%,transparent 70%)}[data-theme=dark] .orb-6{background:radial-gradient(circle,rgba(255,150,100,.16) 0%,transparent 70%)}@keyframes orb-drift{0%,to{transform:translate(0) scale(1)}33%{transform:translate(40px,-40px) scale(1.05)}66%{transform:translate(-30px,30px) scale(.95)}}.hero-container{position:relative;z-index:5;flex:1;display:flex;align-items:center;justify-content:center;width:100%;max-width:var(--w-content);margin:0 auto;padding:clamp(110px,15vh,170px) var(--spacing-lg) clamp(48px,6vh,80px)}.hero-content{display:flex;flex-direction:column;align-items:center;text-align:center;width:100%;max-width:700px}.hero-meta{display:flex;align-items:center;justify-content:center;gap:var(--spacing-md);margin-bottom:clamp(16px,2.2vh,26px);flex-wrap:wrap}.hero-badge{display:inline-flex;align-items:center;gap:8px;padding:7px 16px 7px 11px;border:1px solid var(--color-border);border-radius:100px;font-family:var(--font-body);font-size:var(--text-label);font-weight:var(--fw-semibold);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--color-text-muted);background:var(--color-bg-secondary)}.hero-badge-dot{width:7px;height:7px;background:#22c55e;border-radius:50%;position:relative;flex-shrink:0}.hero-badge-dot:after{content:"";position:absolute;inset:-3px;border-radius:50%;background:#22c55e66;animation:badge-pulse 2s ease-out infinite}@keyframes badge-pulse{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(2.8)}}.hero-greeting{opacity:.65;margin-bottom:0;font-size:1rem}.hero-name{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:center;margin:0 0 clamp(8px,1.2vh,16px);font-family:var(--font-body);font-size:var(--text-hero-name);font-weight:var(--fw-medium);letter-spacing:-.045em;line-height:.92;color:var(--color-text)}.char-clip{display:inline-block;overflow:hidden;line-height:1.06;vertical-align:bottom;padding-bottom:.05em}.hero-char{display:inline-block;will-change:transform}.hero-name-space{display:inline-block;width:.28em}.hero-role{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:clamp(16px,2.2vh,24px)}.hero-role-dash{font-family:var(--font-body);font-size:clamp(1.6rem,3vw,2.4rem);font-weight:300;color:var(--color-accent);line-height:1;flex-shrink:0}.hero-role-text{font-family:var(--font-display);font-size:clamp(2.4rem,6.5vw,3.25rem);font-weight:600;font-style:italic;color:var(--color-accent);letter-spacing:var(--ls-tight);line-height:1.15;position:relative;display:inline-block}.hero-role-word{display:inline-block;white-space:nowrap}.hero-role-char{display:inline-block;will-change:transform,opacity,filter}.hero-role-line{display:none;position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--color-accent);opacity:.35;border-radius:1px;transform:scaleX(0)}.hero-desc{font-family:var(--font-body);font-size:clamp(1.0625rem,.9rem + .6vw,1.25rem);line-height:var(--lh-body);color:var(--color-text-muted);max-width:880px;margin:0 auto clamp(28px,4vh,40px)}.hero-cta{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);margin-bottom:clamp(26px,3.8vh,40px);flex-wrap:wrap}.hero-cta .hero-cta-btn{padding:14px 30px;font-size:.875rem;letter-spacing:.01em}.hero-stats{display:flex;align-items:center;gap:var(--spacing-md);flex-wrap:wrap;padding-top:clamp(18px,2.5vh,26px);border-top:1px solid var(--color-border)}.hero-stat{display:flex;flex-direction:column;gap:3px}.hero-stat-value{font-family:var(--font-body);font-size:var(--text-stat-value);font-weight:var(--fw-bold);letter-spacing:-.04em;line-height:var(--lh-tight);color:var(--color-text)}.hero-stat-label{font-size:var(--text-label);font-weight:var(--fw-semibold);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--color-text-muted)}.hero-stat-divider{width:1px;height:34px;background:var(--color-border);flex-shrink:0}.hero-marquee{position:relative;z-index:6;flex-shrink:0;overflow:hidden;background:transparent;margin-top:clamp(24px,5vh,56px);padding:clamp(28px,5vh,56px) 0;display:flex;flex-direction:column;gap:clamp(18px,3vh,36px);mask-image:linear-gradient(to right,transparent 0%,black 12%,black 88%,transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0%,black 12%,black 88%,transparent 100%)}.hero-marquee:hover .hero-marquee-row{animation-play-state:paused}.hero-marquee-row{display:flex;align-items:center;width:max-content}@keyframes marquee-fwd{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes marquee-rev{0%{transform:translate(-50%)}to{transform:translate(0)}}.hero-marquee-row--fwd{animation:marquee-fwd 38s linear infinite}.hero-marquee-row--rev{animation:marquee-rev 30s linear infinite}.hero-marquee-item{display:inline-flex;align-items:center;gap:clamp(1.4rem,3vw,2.6rem);padding-right:clamp(1.4rem,3vw,2.6rem);font-family:var(--font-body);font-size:var(--text-marquee);font-weight:var(--fw-medium);letter-spacing:var(--ls-tight);line-height:var(--lh-tight);white-space:nowrap;color:var(--color-text);opacity:.32;transition:opacity .3s ease,color .3s ease}.hero-marquee:hover .hero-marquee-item{opacity:.5}.hero-marquee-item--accent{color:var(--color-accent);opacity:.9;font-style:italic;font-family:var(--font-display);font-weight:600;font-size:clamp(1.4rem,2.4vw,1.75rem)}.hero-marquee:hover .hero-marquee-item--accent{opacity:1}.hero-marquee-sep{width:7px;height:7px;border:1.5px solid currentColor;border-radius:50%;opacity:.55;flex-shrink:0}@media(max-width:1023.98px){.hero-container{padding:clamp(100px,14vh,150px) var(--spacing-md) clamp(40px,5vh,70px)}}@media(max-width:767.98px){.hero-container{padding:clamp(90px,13vh,130px) var(--spacing-md) clamp(32px,4vh,60px)}.hero-cta .hero-cta-btn{padding:12px 22px;font-size:.82rem}}@media(max-width:767.98px){.hero-badge{font-size:var(--text-caption)}.hero-cta .hero-cta-btn{padding:.875rem 1.25rem;font-size:var(--text-body-sm);min-height:44px}.hero-container{padding-top:clamp(96px,14vh,128px);padding-bottom:var(--spacing-xl)}}@media(max-width:480px){.hero-container{padding:clamp(85px,12vh,120px) var(--spacing-sm) clamp(24px,3vh,48px)}}@media(min-width:1920px){.hero-container{max-width:var(--w-content);padding:clamp(130px,16vh,200px) var(--spacing-xl) clamp(60px,7vh,100px)}.hero-content{max-width:1000px}}.projects{padding:var(--spacing-xl) 0;background:var(--color-bg);position:relative}.projects-container{max-width:var(--w-work-grid);margin:0 auto;padding:0 var(--spacing-lg);width:100%;box-sizing:border-box}.projects-header{margin-bottom:var(--spacing-lg)}.section-title{font-size:var(--text-section-title);font-weight:var(--fw-heading);line-height:var(--lh-heading);letter-spacing:var(--ls-heading)}.section-title.serif{font-family:var(--font-display);font-style:normal}.projects-header .section-title.cta-text{font-family:var(--font-body);font-size:clamp(1.4rem,3.2vw,2rem);font-weight:var(--fw-medium);line-height:1.2;letter-spacing:var(--ls-heading);color:var(--color-text);overflow:hidden}.section-title-word{display:inline-block;margin-right:.15em;white-space:pre;will-change:transform,opacity}.projects-edit-toolbar{display:flex;flex-wrap:wrap;gap:.4rem 1rem;align-items:center;padding:.6rem .85rem;margin-bottom:var(--spacing-sm);border:1px dashed var(--color-border);border-radius:10px;background:color-mix(in srgb,var(--color-bg-secondary, rgba(0,0,0,.02)) 70%,transparent)}.projects-edit-toolbar-label{font-size:var(--text-caption);font-weight:500;color:var(--color-text);text-transform:uppercase;letter-spacing:.06em;opacity:.7;margin-right:.35rem}.projects-edit-toolbar-check{display:inline-flex;align-items:center;gap:.45rem;font-size:var(--text-body-sm);color:var(--color-text-muted);cursor:pointer;-webkit-user-select:none;user-select:none}.projects-edit-toolbar-check input[type=checkbox]{accent-color:var(--color-accent);width:15px;height:15px;margin:0}.projects-edit-toolbar-check input[type=checkbox]:checked+span{color:var(--color-text)}.projects--hide-content-year .project-content-year,.projects--hide-card-year .project-media-broadsheet-year,.projects--hide-card-year .project-media-neon-year{display:none!important}.projects-filter-bar{display:flex;gap:.5rem;margin-bottom:var(--spacing-md)}.projects-filter-chip{padding:.45rem 1.1rem;border-radius:100px;border:1px solid var(--color-border);background:transparent;color:var(--color-text-muted);font-family:var(--font-body);font-size:var(--text-caption);font-weight:var(--fw-body);letter-spacing:var(--ls-meta);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.projects-filter-chip:hover{border-color:var(--color-accent);color:var(--color-text)}.projects-filter-chip.active{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-accent-contrast)}.projects-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-md)}.projects-grid-cell{display:flex;flex-direction:column;min-width:0}.project-card.work-grid-project{position:relative;height:100%;border-radius:18px;overflow:hidden;border:1px solid var(--color-border-soft);background:var(--color-bg);display:flex;flex-direction:column;box-shadow:0 3px 16px 1px #aba2bd1a;transition:box-shadow .25s cubic-bezier(0,0,.2,1),border-color .2s ease-out}.project-card.work-grid-project:hover{box-shadow:0 10px 44px 12px #aba2bd42}[data-theme=dark] .project-card.work-grid-project{box-shadow:0 3px 16px 1px #00000042}[data-theme=dark] .project-card.work-grid-project:hover{box-shadow:0 10px 44px 12px #00000080}.project-link{position:absolute;inset:0;z-index:2;text-decoration:none;color:inherit}.projects.edit-mode-active .project-link{pointer-events:none}.project-media{position:relative;aspect-ratio:16/10;overflow:hidden;flex-shrink:0;border-bottom:1px solid var(--color-border-soft)}.project-image-wrapper.media-wrapper{position:absolute;inset:0;overflow:hidden}.project-image.media-inner{position:absolute;inset:0;background-size:cover;background-position:center bottom;background-repeat:no-repeat;transform-origin:bottom;transition:transform .3s ease-out}.project-card.work-grid-project:hover .project-image.media-inner{transform:scale(1.025)}.project-image-placeholder{position:absolute;inset:0;background:var(--color-bg-secondary)}.project-media[data-media-mode=template]{--frame-pad: 18px;padding:var(--frame-pad);box-sizing:border-box;background:var(--color-bg-secondary)}.project-media[data-media-mode=template] .project-image-wrapper.media-wrapper{inset:var(--frame-pad);border-radius:calc(var(--radius-md) - 2px);box-shadow:inset 0 1.5px color-mix(in srgb,var(--color-accent) 40%,transparent),0 1px 2px #0000000f,0 8px 20px #00000014}[data-theme=dark] .project-media[data-media-mode=template] .project-image-wrapper.media-wrapper{box-shadow:inset 0 1.5px color-mix(in srgb,var(--color-accent) 55%,transparent),0 1px 2px #0000004d,0 8px 20px #00000059}.project-media[data-media-mode=template] .project-image-overlay{inset:var(--frame-pad);border-radius:calc(var(--radius-md) - 2px)}.project-media[data-media-mode=template][data-card-bg=gradient]{--frame-pad: 9%;--card-gradient: linear-gradient( 105deg, #FFE8D0 0%, #FFD0A8 38%, #FFAD78 68%, #FF8C50 100% );padding:var(--frame-pad)!important;background:var(--card-gradient)!important;background-size:135% 135%!important;background-position:0% 0%;animation:cardGradientShift 8s ease-in-out infinite}@keyframes cardGradientShift{0%{background-position:0% 0%}50%{background-position:100% 100%}to{background-position:0% 0%}}@media(prefers-reduced-motion:reduce){.project-media[data-media-mode=template][data-card-bg=gradient]{animation:none}}.project-media[data-media-mode=template][data-card-bg=gradient] .project-image-wrapper.media-wrapper{inset:var(--frame-pad)!important;border-radius:var(--radius-lg)!important;background:transparent!important;box-shadow:none!important;overflow:visible!important}.project-media[data-media-mode=template][data-card-bg=gradient] .project-image.media-inner{background-color:transparent;background-position:center;background-repeat:no-repeat;border-radius:var(--radius-lg)!important;overflow:hidden;filter:drop-shadow(0 4px 12px rgba(0,0,0,.14)) drop-shadow(0 18px 40px rgba(0,0,0,.22))}[data-theme=dark] .project-media[data-media-mode=template][data-card-bg=gradient] .project-image.media-inner{filter:drop-shadow(0 4px 12px rgba(0,0,0,.45)) drop-shadow(0 18px 40px rgba(0,0,0,.6))}.project-media[data-media-mode=template][data-card-bg=gradient] .project-image-overlay{inset:var(--frame-pad);border-radius:var(--radius-md)}.project-media[data-media-mode=animated]{--frame-pad: 18px;padding:var(--frame-pad);box-sizing:border-box;background-image:linear-gradient(135deg,color-mix(in srgb,var(--color-accent) 22%,var(--color-bg-secondary)),color-mix(in srgb,var(--color-accent) 6%,var(--color-bg-secondary)),color-mix(in srgb,var(--color-accent) 18%,var(--color-bg-secondary)));background-size:220% 220%;background-position:0% 0%}[data-theme=dark] .project-media[data-media-mode=animated]{background-image:linear-gradient(135deg,color-mix(in srgb,var(--color-accent) 32%,var(--color-bg-secondary)),color-mix(in srgb,var(--color-accent) 10%,var(--color-bg-secondary)),color-mix(in srgb,var(--color-accent) 26%,var(--color-bg-secondary)))}.project-media[data-media-mode=animated] .project-image-wrapper.media-wrapper{inset:var(--frame-pad);border-radius:calc(var(--radius-md) - 2px);z-index:1;box-shadow:inset 0 1.5px color-mix(in srgb,var(--color-accent) 45%,transparent),0 1px 2px #0000000f,0 8px 20px #0000001a}[data-theme=dark] .project-media[data-media-mode=animated] .project-image-wrapper.media-wrapper{box-shadow:inset 0 1.5px color-mix(in srgb,var(--color-accent) 60%,transparent),0 1px 2px #0000004d,0 8px 20px #0006}.project-media[data-media-mode=animated] .project-image-overlay{inset:var(--frame-pad);border-radius:calc(var(--radius-md) - 2px);z-index:3}.project-media-fx{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;border-radius:inherit}.project-media-fx-orb{position:absolute;display:block;border-radius:50%;filter:blur(22px);will-change:transform,opacity;opacity:.85}.project-media-fx-orb--1{width:55%;height:55%;top:20%;left:15%;background:radial-gradient(circle,color-mix(in srgb,var(--color-accent) 75%,transparent) 0%,transparent 65%)}.project-media-fx-orb--2{width:50%;height:50%;top:55%;left:70%;background:radial-gradient(circle,color-mix(in srgb,var(--color-accent) 60%,transparent) 0%,transparent 65%)}.project-media-fx-orb--3{width:40%;height:40%;top:15%;left:75%;background:radial-gradient(circle,color-mix(in srgb,var(--accent-violet) 45%,transparent) 0%,transparent 65%)}[data-theme=dark] .project-media-fx-orb--1{background:radial-gradient(circle,color-mix(in srgb,var(--color-accent) 90%,transparent) 0%,transparent 65%)}[data-theme=dark] .project-media-fx-orb--2{background:radial-gradient(circle,color-mix(in srgb,var(--color-accent) 75%,transparent) 0%,transparent 65%)}[data-theme=dark] .project-media-fx-orb--3{background:radial-gradient(circle,color-mix(in srgb,var(--accent-violet) 60%,transparent) 0%,transparent 65%)}@media(prefers-reduced-motion:reduce){.project-media-fx-orb{transform:none!important;animation:none!important}}.project-media[data-media-mode=showcase]{background:var(--color-bg)}.project-media-showcase-bg{position:absolute;inset:6% 8%;border-radius:var(--radius-md);z-index:0;transform:rotate(-4deg);transform-origin:center center;transition:transform var(--transition-slow);background:var(--showcase-lavender)}.project-media[data-media-mode=showcase] .project-image-wrapper.media-wrapper{position:absolute;inset:14% 18%;z-index:1;border-radius:var(--radius-sm);overflow:hidden;transform:rotate(2deg);transform-origin:center center;transition:transform var(--transition-slow),box-shadow var(--transition-medium);box-shadow:0 4px 10px #00000014,0 16px 40px #0000002e}[data-theme=dark] .project-media[data-media-mode=showcase] .project-image-wrapper.media-wrapper{box-shadow:0 4px 10px #0006,0 16px 40px #0000008c}.project-media[data-media-mode=showcase] .project-image-overlay{position:absolute;inset:14% 18%;z-index:3;border-radius:var(--radius-sm);transform:rotate(2deg);transform-origin:center center}.project-card:hover .project-media-showcase-bg{transform:rotate(-5.5deg) scale(1.02)}.project-card:hover .project-media[data-media-mode=showcase] .project-image-wrapper.media-wrapper{transform:rotate(0) translateY(-2px);box-shadow:0 6px 14px #0000001a,0 22px 50px #00000038}.project-card[data-showcase-color="0"] .project-media-showcase-bg{background:var(--showcase-lavender)}.project-card[data-showcase-color="1"] .project-media-showcase-bg{background:var(--showcase-pink)}.project-card[data-showcase-color="2"] .project-media-showcase-bg{background:var(--showcase-orange)}.project-card[data-showcase-color="3"] .project-media-showcase-bg{background:var(--showcase-lime)}.project-media[data-media-mode=prism]{--frame-pad: 20px;--prism-stage: color-mix(in srgb, var(--showcase-orange) 10%, var(--color-bg));--prism-cream: color-mix(in srgb, var(--showcase-orange) 8%, var(--color-bg));--prism-beige: color-mix(in srgb, var(--showcase-orange) 22%, var(--color-bg));--prism-peach: color-mix(in srgb, var(--showcase-orange) 38%, var(--color-bg));--prism-glow: color-mix(in srgb, var(--color-accent) 14%, var(--color-bg));padding:var(--frame-pad);box-sizing:border-box;background:var(--prism-stage);overflow:hidden;isolation:isolate}[data-theme=dark] .project-media[data-media-mode=prism]{--prism-stage: color-mix(in srgb, var(--accent-warm) 18%, #0c0806);--prism-cream: color-mix(in srgb, var(--showcase-orange) 25%, #120a05);--prism-beige: color-mix(in srgb, var(--showcase-orange) 40%, #120a05);--prism-peach: color-mix(in srgb, var(--showcase-orange) 58%, #120a05);--prism-glow: color-mix(in srgb, var(--color-accent) 32%, #120a05)}.project-media-prism-bg{position:absolute;inset:-30%;z-index:0;background:conic-gradient(from 0deg at 50% 50%,var(--prism-cream) 0%,var(--prism-beige) 18%,var(--prism-peach) 34%,var(--prism-glow) 48%,var(--prism-peach) 62%,var(--prism-beige) 78%,var(--prism-cream) 92%,var(--prism-cream) 100%);filter:blur(44px) saturate(.92);opacity:.75;will-change:transform;animation:prism-rotate 28s linear infinite}[data-theme=dark] .project-media-prism-bg{opacity:.88;filter:blur(42px) saturate(1)}.project-media-prism-grain{position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(circle at 22% 28%,rgba(255,244,226,.18) 0,transparent 50%),radial-gradient(circle at 82% 74%,color-mix(in srgb,var(--showcase-orange) 14%,transparent) 0,transparent 55%);mix-blend-mode:overlay}[data-theme=dark] .project-media-prism-grain{background:radial-gradient(circle at 22% 28%,rgba(255,232,204,.1) 0,transparent 48%),radial-gradient(circle at 82% 74%,rgba(0,0,0,.28) 0,transparent 55%)}.project-media-prism-num{position:absolute;top:14px;right:16px;z-index:3;display:flex;flex-direction:column;align-items:flex-end;line-height:1;pointer-events:none;-webkit-user-select:none;user-select:none}.project-media-prism-num-label{font-family:var(--font-body);font-size:9px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:color-mix(in srgb,var(--color-text) 52%,transparent);margin-bottom:3px;transition:color var(--transition-medium)}[data-theme=dark] .project-media-prism-num-label{color:color-mix(in srgb,var(--color-bg) 70%,transparent)}.project-media-prism-num-value{font-family:var(--font-body);font-weight:300;font-size:1.75rem;font-variant-numeric:tabular-nums lining-nums;letter-spacing:-.025em;background:linear-gradient(135deg,var(--color-accent) 0%,var(--showcase-orange) 55%,var(--prism-peach) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;filter:drop-shadow(0 1px 10px color-mix(in srgb,var(--color-accent) 20%,transparent));transition:filter var(--transition-medium),letter-spacing var(--transition-medium)}[data-theme=dark] .project-media-prism-num-value{background:linear-gradient(135deg,color-mix(in srgb,var(--color-accent) 95%,var(--color-bg)) 0%,var(--showcase-orange) 55%,color-mix(in srgb,var(--showcase-orange) 72%,var(--color-bg)) 100%);-webkit-background-clip:text;background-clip:text;filter:drop-shadow(0 1px 12px color-mix(in srgb,var(--color-accent) 30%,transparent))}.project-card:hover .project-media-prism-num-label{color:var(--color-accent)}.project-card:hover .project-media-prism-num-value{letter-spacing:0;filter:drop-shadow(0 1px 16px color-mix(in srgb,var(--color-accent) 38%,transparent))}[data-theme=dark] .project-card:hover .project-media-prism-num-value{filter:drop-shadow(0 1px 18px color-mix(in srgb,var(--color-accent) 46%,transparent))}.project-media[data-media-mode=prism] .project-image-wrapper.media-wrapper{inset:var(--frame-pad);z-index:2;border-radius:calc(var(--radius-md) - 2px);background:color-mix(in srgb,var(--color-bg) 92%,var(--showcase-orange) 8%);backdrop-filter:blur(12px) saturate(1.05);-webkit-backdrop-filter:blur(12px) saturate(1.05);box-shadow:inset 0 0 0 1px #fff8ea66,inset 0 1px #fff8ea8c,0 6px 18px color-mix(in srgb,var(--showcase-orange) 28%,transparent),-8px 4px 24px color-mix(in srgb,var(--showcase-orange) 22%,transparent),8px -4px 24px color-mix(in srgb,var(--accent-warm) 20%,transparent),0 14px 32px #7846281a;transition:transform var(--transition-slow),box-shadow var(--transition-medium)}[data-theme=dark] .project-media[data-media-mode=prism] .project-image-wrapper.media-wrapper{background:color-mix(in srgb,var(--accent-warm) 10%,#120a05);box-shadow:inset 0 0 0 1px #fff0dc33,inset 0 1px #fff0dc52,0 6px 18px color-mix(in srgb,var(--showcase-orange) 32%,transparent),-8px 4px 24px color-mix(in srgb,var(--showcase-orange) 28%,transparent),8px -4px 24px color-mix(in srgb,var(--accent-warm) 30%,transparent),0 14px 32px #00000073}.project-card:hover .project-media[data-media-mode=prism] .project-image-wrapper.media-wrapper{transform:translateY(-2px);box-shadow:inset 0 0 0 1px #fff8ea80,inset 0 1px #fff8eaa6,0 8px 22px color-mix(in srgb,var(--showcase-orange) 38%,transparent),-10px 6px 30px color-mix(in srgb,var(--showcase-orange) 32%,transparent),10px -6px 30px color-mix(in srgb,var(--color-accent) 28%,transparent),0 18px 40px #78462829}[data-theme=dark] .project-card:hover .project-media[data-media-mode=prism] .project-image-wrapper.media-wrapper{box-shadow:inset 0 0 0 1px #fff0dc47,inset 0 1px #fff0dc66,0 8px 22px color-mix(in srgb,var(--showcase-orange) 42%,transparent),-10px 6px 30px color-mix(in srgb,var(--showcase-orange) 38%,transparent),10px -6px 30px color-mix(in srgb,var(--color-accent) 38%,transparent),0 18px 40px #0000008c}.project-media[data-media-mode=prism] .project-image-overlay{inset:var(--frame-pad);border-radius:calc(var(--radius-md) - 2px);z-index:4}@keyframes prism-rotate{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.project-media-prism-bg{animation:none!important}}.project-media[data-media-mode=duotone]{--duo-a: var(--accent-warm);--duo-b: var(--accent-violet);background:linear-gradient(118deg,var(--duo-a) 0 52%,var(--duo-b) 52% 100%);overflow:hidden;box-sizing:border-box;isolation:isolate}.project-card[data-showcase-color="0"] .project-media[data-media-mode=duotone]{--duo-a: var(--accent-warm);--duo-b: var(--accent-violet)}.project-card[data-showcase-color="1"] .project-media[data-media-mode=duotone]{--duo-a: var(--accent-warm);--duo-b: var(--accent-graphite)}.project-card[data-showcase-color="2"] .project-media[data-media-mode=duotone]{--duo-a: var(--accent-violet);--duo-b: var(--accent-cool)}.project-card[data-showcase-color="3"] .project-media[data-media-mode=duotone]{--duo-a: var(--showcase-pink);--duo-b: var(--showcase-lavender)}.project-media-duotone-num{position:absolute;left:-3%;bottom:-20%;z-index:0;font-family:var(--font-display);font-size:clamp(10rem,34vw,20rem);line-height:.82;font-weight:700;font-style:italic;letter-spacing:-.05em;color:color-mix(in srgb,var(--color-bg) 85%,transparent);mix-blend-mode:overlay;pointer-events:none;-webkit-user-select:none;user-select:none;white-space:nowrap}.project-media[data-media-mode=duotone] .project-image-wrapper.media-wrapper{inset:13% 14% 17% 20%;z-index:1;border-radius:2px;overflow:hidden;transform:rotate(-2.5deg);transform-origin:center center;transition:transform var(--transition-slow),box-shadow var(--transition-medium);box-shadow:0 6px 14px #0000002e,0 24px 54px #0000004d}.project-card:hover .project-media[data-media-mode=duotone] .project-image-wrapper.media-wrapper{transform:rotate(0) translate(2px,-3px);box-shadow:0 8px 18px #00000038,0 30px 64px #0000005c}[data-theme=dark] .project-media[data-media-mode=duotone] .project-image-wrapper.media-wrapper{box-shadow:0 6px 14px #00000073,0 24px 54px #0000008c}.project-media[data-media-mode=duotone] .project-image-overlay{inset:13% 14% 17% 20%;z-index:3;border-radius:2px;transform:rotate(-2.5deg);transform-origin:center center}.project-media[data-media-mode=halftone]{--frame-pad: 24px;--halftone-header-h: 30px;padding:calc(var(--frame-pad) + var(--halftone-header-h)) var(--frame-pad) calc(var(--frame-pad) + 14px);box-sizing:border-box;background:var(--color-bg-secondary);overflow:hidden;isolation:isolate}.project-media[data-media-mode=halftone]:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse at 0% 0%,color-mix(in srgb,var(--color-accent) 5%,transparent) 0%,transparent 55%),radial-gradient(ellipse at 100% 100%,color-mix(in srgb,var(--accent-violet) 4%,transparent) 0%,transparent 60%)}[data-theme=dark] .project-media[data-media-mode=halftone]:before{background:radial-gradient(ellipse at 0% 0%,color-mix(in srgb,var(--color-accent) 8%,transparent) 0%,transparent 55%),radial-gradient(ellipse at 100% 100%,color-mix(in srgb,var(--accent-violet) 7%,transparent) 0%,transparent 60%)}.project-media-halftone-plate,.project-media-halftone-tag{position:absolute;top:18px;z-index:3;font-family:var(--font-display);font-style:italic;font-weight:500;font-size:.8rem;line-height:1.2;letter-spacing:.01em;color:color-mix(in srgb,var(--color-text) 72%,transparent);pointer-events:none;transition:color var(--transition-medium)}.project-media-halftone-plate{left:var(--frame-pad)}.project-media-halftone-tag{right:var(--frame-pad)}.project-card:hover .project-media-halftone-tag{color:var(--color-accent)}.project-media-halftone-rule{position:absolute;top:26px;left:calc(var(--frame-pad) + 46px);right:calc(var(--frame-pad) + 42px);height:1px;background:color-mix(in srgb,var(--color-text) 14%,transparent);z-index:2;pointer-events:none}.project-media-halftone-caption{position:absolute;left:var(--frame-pad);bottom:calc(var(--frame-pad) - 2px);height:1.5px;width:28px;background:var(--color-accent);z-index:3;pointer-events:none;transition:width var(--transition-medium)}.project-card:hover .project-media-halftone-caption{width:72px}.project-media[data-media-mode=halftone] .project-image-wrapper.media-wrapper{inset:calc(var(--frame-pad) + var(--halftone-header-h)) var(--frame-pad) calc(var(--frame-pad) + 14px);z-index:2;border-radius:2px;overflow:hidden;box-shadow:0 1px 2px #0000000a,0 8px 20px #00000014;transition:transform var(--transition-slow),box-shadow var(--transition-medium)}[data-theme=dark] .project-media[data-media-mode=halftone] .project-image-wrapper.media-wrapper{box-shadow:0 1px 2px #0000004d,0 10px 24px #0000006b}.project-card:hover .project-media[data-media-mode=halftone] .project-image-wrapper.media-wrapper{transform:translateY(-2px);box-shadow:0 1px 2px #0000000d,0 14px 28px #0000001a,0 0 0 .5px color-mix(in srgb,var(--color-accent) 35%,transparent)}[data-theme=dark] .project-card:hover .project-media[data-media-mode=halftone] .project-image-wrapper.media-wrapper{box-shadow:0 1px 2px #00000059,0 16px 32px #00000080,0 0 0 .5px color-mix(in srgb,var(--color-accent) 40%,transparent)}.project-media[data-media-mode=halftone] .project-image-overlay{inset:calc(var(--frame-pad) + var(--halftone-header-h)) var(--frame-pad) calc(var(--frame-pad) + 14px);z-index:4;border-radius:2px}.project-media[data-media-mode=marquee]{--marquee-h: 26px;--frame-pad: 14px;padding:calc(var(--marquee-h) + var(--frame-pad)) var(--frame-pad) var(--frame-pad);box-sizing:border-box;background:var(--color-bg-secondary);overflow:hidden;isolation:isolate}.project-media-marquee{position:absolute;top:0;left:0;right:0;height:var(--marquee-h);z-index:3;display:flex;align-items:center;overflow:hidden;pointer-events:none;background:var(--color-accent);color:var(--color-accent-contrast);border-bottom:1px solid color-mix(in srgb,var(--color-accent) 55%,#000)}.project-media-marquee-track{display:flex;align-items:center;gap:2em;padding-left:2em;white-space:nowrap;animation:marquee-scroll 22s linear infinite;will-change:transform}.project-media-marquee-item{display:inline-flex;align-items:center;gap:1.25em;font-family:var(--font-body);font-size:10px;letter-spacing:.24em;text-transform:uppercase;font-weight:600;flex-shrink:0}.project-media-marquee-dot{width:4px;height:4px;border-radius:50%;background:currentColor;flex-shrink:0}@keyframes marquee-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.project-media[data-media-mode=marquee] .project-image-wrapper.media-wrapper{inset:calc(var(--marquee-h) + var(--frame-pad)) var(--frame-pad) var(--frame-pad);z-index:1;border-radius:calc(var(--radius-sm) - 2px);overflow:hidden;box-shadow:inset 0 0 0 1px var(--color-border),0 2px 6px #00000014;transition:box-shadow var(--transition-medium)}.project-card:hover .project-media[data-media-mode=marquee] .project-image-wrapper.media-wrapper{box-shadow:inset 0 0 0 1px var(--color-accent),0 4px 12px #00000024}.project-media[data-media-mode=marquee] .project-image-overlay{inset:calc(var(--marquee-h) + var(--frame-pad)) var(--frame-pad) var(--frame-pad);z-index:4;border-radius:calc(var(--radius-sm) - 2px)}@media(prefers-reduced-motion:reduce){.project-media-marquee-track{animation:none!important}}.project-media[data-media-mode=broadsheet]{--frame-pad: 18px;padding:var(--frame-pad);box-sizing:border-box;background:var(--color-bg-secondary);overflow:hidden;isolation:isolate}.project-media-broadsheet-year{position:absolute;left:-.06em;right:auto;bottom:-.18em;z-index:3;text-align:left;font-family:var(--font-display);font-style:italic;font-weight:700;font-size:clamp(5.5rem,18vw,10.5rem);line-height:.8;letter-spacing:-.05em;color:transparent;background:linear-gradient(175deg,color-mix(in srgb,var(--color-accent) 78%,transparent),color-mix(in srgb,var(--color-accent) 42%,transparent) 55%,color-mix(in srgb,var(--color-accent) 12%,transparent));-webkit-background-clip:text;background-clip:text;mix-blend-mode:multiply;pointer-events:none;-webkit-user-select:none;user-select:none;white-space:nowrap;font-variant-numeric:lining-nums tabular-nums;transition:transform var(--transition-slow),filter var(--transition-medium);will-change:transform}[data-theme=dark] .project-media-broadsheet-year{background:linear-gradient(175deg,color-mix(in srgb,var(--color-accent) 92%,transparent),color-mix(in srgb,var(--color-accent) 58%,transparent) 55%,color-mix(in srgb,var(--color-accent) 22%,transparent));-webkit-background-clip:text;background-clip:text;mix-blend-mode:screen}.project-card:hover .project-media-broadsheet-year{transform:translate(-4px);filter:saturate(1.15)}.project-media[data-media-mode=broadsheet] .project-image-wrapper.media-wrapper{inset:calc(var(--frame-pad) + 6px);z-index:1;border-radius:2px;overflow:hidden;box-shadow:0 0 0 1px color-mix(in srgb,var(--color-text) 18%,transparent),0 10px 24px #0000001f;transition:transform var(--transition-slow),box-shadow var(--transition-medium)}.project-card:hover .project-media[data-media-mode=broadsheet] .project-image-wrapper.media-wrapper{transform:translateY(-3px);box-shadow:0 0 0 1px color-mix(in srgb,var(--color-text) 30%,transparent),0 14px 30px #0000002e}.project-media[data-media-mode=broadsheet] .project-image-overlay{inset:calc(var(--frame-pad) + 6px);z-index:4;border-radius:2px}.project-media[data-media-mode=risograph]{--frame-pad: 16px;padding:var(--frame-pad);box-sizing:border-box;background:var(--color-bg);overflow:hidden;isolation:isolate}.project-media-riso-layer{position:absolute;inset:calc(var(--frame-pad) + 6px);z-index:1;border-radius:2px;pointer-events:none;mix-blend-mode:multiply;transition:transform var(--transition-slow);background-size:cover;background-position:center}.project-media-riso-layer--a{background:var(--accent-warm);transform:translate(-6px,-6px);opacity:.85}.project-media-riso-layer--b{background:var(--accent-cool);transform:translate(6px,6px);opacity:.8}[data-theme=dark] .project-media-riso-layer{mix-blend-mode:screen;opacity:.7}.project-card:hover .project-media-riso-layer--a{transform:translate(-10px,-10px)}.project-card:hover .project-media-riso-layer--b{transform:translate(10px,10px)}.project-media-riso-reg{position:absolute;width:14px;height:14px;z-index:4;pointer-events:none;border-radius:50%;border:1.5px solid var(--color-text);background:linear-gradient(to right,transparent 45%,var(--color-text) 45%,var(--color-text) 55%,transparent 55%),linear-gradient(to bottom,transparent 45%,var(--color-text) 45%,var(--color-text) 55%,transparent 55%)}.project-media-riso-reg--tl{top:4px;left:4px}.project-media-riso-reg--br{bottom:4px;right:4px}.project-media[data-media-mode=risograph] .project-image-wrapper.media-wrapper{inset:calc(var(--frame-pad) + 6px);z-index:2;border-radius:2px;overflow:hidden;box-shadow:0 0 0 1px var(--color-text)}.project-media[data-media-mode=risograph] .project-image.media-inner{filter:saturate(.7) contrast(1.1);transition:filter var(--transition-medium),transform var(--transition-slow)}.project-card:hover .project-media[data-media-mode=risograph] .project-image.media-inner{filter:saturate(.85) contrast(1.1)}.project-media[data-media-mode=risograph] .project-image-overlay{inset:calc(var(--frame-pad) + 6px);z-index:5;border-radius:2px}@media(prefers-reduced-motion:reduce){.project-media-riso-layer{transition:none!important}}.project-media[data-media-mode=aurora]{--frame-pad: 20px;padding:var(--frame-pad);box-sizing:border-box;background:radial-gradient(ellipse 85% 55% at 15% 25%,color-mix(in srgb,var(--color-accent) 44%,transparent),transparent 52%),radial-gradient(ellipse 75% 60% at 88% 78%,color-mix(in srgb,var(--showcase-orange) 38%,transparent),transparent 50%),radial-gradient(ellipse 50% 45% at 55% 45%,color-mix(in srgb,var(--showcase-orange) 26%,transparent),transparent 55%),color-mix(in srgb,var(--showcase-orange) 11%,var(--color-bg));background-size:320% 320%,300% 300%,220% 220%,auto;background-position:0% 0%,100% 100%,50% 50%,0 0;animation:aurora-bg-flow 16s ease-in-out infinite;overflow:hidden;isolation:isolate}[data-theme=dark] .project-media[data-media-mode=aurora]{background:radial-gradient(ellipse 85% 55% at 15% 25%,color-mix(in srgb,var(--color-accent) 48%,transparent),transparent 52%),radial-gradient(ellipse 75% 60% at 88% 78%,color-mix(in srgb,var(--accent-warm) 36%,transparent),transparent 50%),radial-gradient(ellipse 50% 45% at 55% 45%,color-mix(in srgb,var(--showcase-orange) 28%,transparent),transparent 55%),color-mix(in srgb,var(--accent-warm) 16%,#0a0706);background-size:320% 320%,300% 300%,220% 220%,auto;background-position:0% 0%,100% 100%,50% 50%,0 0;animation:aurora-bg-flow 16s ease-in-out infinite}@keyframes aurora-bg-flow{0%,to{background-position:0% 15%,100% 85%,45% 55%,0 0}33%{background-position:85% 35%,10% 65%,70% 30%,0 0}66%{background-position:40% 95%,55% 5%,20% 75%,0 0}}.project-media-aurora-blob{position:absolute;z-index:0;border-radius:50%;filter:blur(42px) saturate(1.2);will-change:transform,border-radius,filter;pointer-events:none}.project-media-aurora-blob--a{width:78%;height:78%;top:-22%;left:-18%;background:radial-gradient(circle,var(--color-accent) 0%,transparent 60%);opacity:.62;animation:aurora-drift-a 9s ease-in-out infinite}.project-media-aurora-blob--b{width:66%;height:66%;top:24%;right:-16%;background:radial-gradient(circle,var(--showcase-orange) 0%,transparent 60%);opacity:.66;animation:aurora-drift-b 11s ease-in-out infinite}.project-media-aurora-blob--c{width:58%;height:58%;bottom:-24%;left:22%;background:radial-gradient(circle,color-mix(in srgb,var(--showcase-orange) 92%,var(--color-bg)) 0%,transparent 60%);opacity:.58;animation:aurora-drift-c 13s ease-in-out infinite}.project-media-aurora-blob--d{width:40%;height:40%;top:12%;left:38%;background:radial-gradient(circle,var(--accent-warm, var(--color-accent)) 0%,transparent 60%);opacity:.4;animation:aurora-drift-d 7.5s ease-in-out infinite;mix-blend-mode:screen}[data-theme=dark] .project-media-aurora-blob--a{opacity:.7}[data-theme=dark] .project-media-aurora-blob--b{opacity:.75}[data-theme=dark] .project-media-aurora-blob--c{opacity:.6}[data-theme=dark] .project-media-aurora-blob--d{opacity:.45}@keyframes aurora-drift-a{0%,to{transform:translate(0) scale(1) rotate(0);border-radius:52% 48% 58% 42%;filter:blur(42px) saturate(1.2) hue-rotate(0deg)}33%{transform:translate(44px,30px) scale(1.22) rotate(22deg);border-radius:38% 62% 44% 56%}66%{transform:translate(-28px,48px) scale(1.1) rotate(-16deg);border-radius:60% 40% 52% 48%;filter:blur(48px) saturate(1.28) hue-rotate(4deg)}}@keyframes aurora-drift-b{0%,to{transform:translate(0) scale(1) rotate(0);border-radius:60% 40% 52% 48%}40%{transform:translate(-48px,-36px) scale(1.26) rotate(-24deg);border-radius:44% 56% 38% 62%;filter:blur(50px) saturate(1.32) hue-rotate(6deg)}75%{transform:translate(24px,-16px) scale(.9) rotate(16deg);border-radius:54% 46% 60% 40%}}@keyframes aurora-drift-c{0%,to{transform:translate(0) scale(1) rotate(0);border-radius:50%}50%{transform:translate(36px,-52px) scale(1.32) rotate(28deg);border-radius:42% 58% 54% 46%;filter:blur(46px) saturate(1.28) hue-rotate(5deg)}}@keyframes aurora-drift-d{0%,to{transform:translate(0) scale(1);opacity:.36}50%{transform:translate(-32px,26px) scale(1.42);opacity:.55}}.project-media-aurora-vignette{position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse at 50% 50%,transparent 45%,rgba(0,0,0,.1) 100%)}[data-theme=dark] .project-media-aurora-vignette{background:radial-gradient(ellipse at 50% 50%,transparent 45%,rgba(0,0,0,.35) 100%)}.project-media-aurora-sheen{position:absolute;inset:-20%;z-index:1;pointer-events:none;background:conic-gradient(from 0deg,transparent 0deg,color-mix(in srgb,var(--showcase-orange) 42%,transparent) 55deg,color-mix(in srgb,var(--color-accent) 48%,transparent) 120deg,color-mix(in srgb,var(--showcase-orange) 38%,transparent) 185deg,color-mix(in srgb,var(--color-accent) 44%,transparent) 250deg,color-mix(in srgb,var(--showcase-orange) 36%,transparent) 315deg,transparent 360deg);mix-blend-mode:screen;opacity:.88;animation:aurora-sheen 14s linear infinite;will-change:transform;-webkit-mask-image:radial-gradient(ellipse 72% 72% at 50% 50%,transparent 38%,#000 78%);mask-image:radial-gradient(ellipse 72% 72% at 50% 50%,transparent 38%,#000 78%)}[data-theme=dark] .project-media-aurora-sheen{opacity:.72;background:conic-gradient(from 0deg,transparent 0deg,color-mix(in srgb,var(--showcase-orange) 48%,transparent) 55deg,color-mix(in srgb,var(--color-accent) 52%,transparent) 120deg,color-mix(in srgb,var(--accent-warm) 42%,transparent) 185deg,color-mix(in srgb,var(--color-accent) 48%,transparent) 250deg,color-mix(in srgb,var(--showcase-orange) 40%,transparent) 315deg,transparent 360deg)}@keyframes aurora-sheen{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.project-media[data-media-mode=aurora] .project-image-wrapper.media-wrapper{inset:var(--frame-pad);z-index:2;border-radius:calc(var(--radius-md) - 2px);background:color-mix(in srgb,var(--color-bg) 55%,transparent);backdrop-filter:blur(16px) saturate(1.18);-webkit-backdrop-filter:blur(16px) saturate(1.18);box-shadow:inset 0 0 0 1px #fff6,inset 0 1px #fff9,0 8px 32px #78462824,0 2px 6px #0000000f;transition:transform var(--transition-slow),box-shadow var(--transition-medium);animation:aurora-breathe 8s ease-in-out infinite}.project-media[data-media-mode=aurora] .project-image-wrapper.media-wrapper:after{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit;padding:3px;box-sizing:border-box;background:conic-gradient(from 0deg,color-mix(in srgb,var(--showcase-orange) 78%,transparent),color-mix(in srgb,var(--color-accent) 72%,transparent),color-mix(in srgb,var(--showcase-orange) 68%,transparent),color-mix(in srgb,var(--color-accent) 76%,transparent),color-mix(in srgb,var(--showcase-orange) 78%,transparent));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;pointer-events:none;animation:aurora-border-shimmer 9s linear infinite;mix-blend-mode:soft-light;opacity:.92}@keyframes aurora-border-shimmer{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes aurora-breathe{0%,to{box-shadow:inset 0 0 0 1px #fff6,inset 0 1px #fff9,0 8px 32px #78462824,0 2px 6px #0000000f}50%{box-shadow:inset 0 0 0 1px #ffffff8c,inset 0 1px #ffffffbf,0 14px 40px #78462833,0 2px 6px #00000014}}[data-theme=dark] .project-media[data-media-mode=aurora] .project-image-wrapper.media-wrapper{background:color-mix(in srgb,#120a05 50%,transparent);box-shadow:inset 0 0 0 1px #fff0dc33,inset 0 1px #fff0dc57,0 8px 32px #00000085,0 2px 6px #0000004d;animation:aurora-breathe-dark 8s ease-in-out infinite}@keyframes aurora-breathe-dark{0%,to{box-shadow:inset 0 0 0 1px #fff0dc33,inset 0 1px #fff0dc57,0 8px 32px #00000085,0 2px 6px #0000004d}50%{box-shadow:inset 0 0 0 1px #fff0dc52,inset 0 1px #fff0dc7a,0 14px 40px #0009,0 2px 6px #0000005c}}[data-theme=dark] .project-media[data-media-mode=aurora] .project-image-wrapper.media-wrapper:after{mix-blend-mode:screen;opacity:.85;background:conic-gradient(from 0deg,color-mix(in srgb,var(--showcase-orange) 82%,transparent),color-mix(in srgb,var(--color-accent) 78%,transparent),color-mix(in srgb,var(--accent-warm) 70%,transparent),color-mix(in srgb,var(--color-accent) 80%,transparent),color-mix(in srgb,var(--showcase-orange) 82%,transparent))}.project-card:hover .project-media[data-media-mode=aurora] .project-image-wrapper.media-wrapper{transform:translateY(-3px);box-shadow:inset 0 0 0 1px #ffffff80,inset 0 1px #ffffffb8,0 14px 40px #78462838,0 2px 6px #00000014}[data-theme=dark] .project-card:hover .project-media[data-media-mode=aurora] .project-image-wrapper.media-wrapper{box-shadow:inset 0 0 0 1px #fff0dc47,inset 0 1px #fff0dc70,0 14px 40px #0009,0 2px 6px #00000057}.project-media[data-media-mode=aurora] .project-image-overlay{inset:var(--frame-pad);border-radius:calc(var(--radius-md) - 2px);z-index:4}@media(prefers-reduced-motion:reduce){.project-media[data-media-mode=aurora],[data-theme=dark] .project-media[data-media-mode=aurora]{animation:none!important}.project-media-aurora-blob,.project-media-aurora-sheen,.project-media[data-media-mode=aurora] .project-image-wrapper.media-wrapper,.project-media[data-media-mode=aurora] .project-image-wrapper.media-wrapper:after{animation:none!important}}.project-media[data-media-mode=cinema]{--cinema-bar: 12%;background:#060606;overflow:hidden;isolation:isolate}.project-media-cinema-bar{position:absolute;left:0;right:0;height:var(--cinema-bar);background:#030303;z-index:3;pointer-events:none}.project-media-cinema-bar--top{top:0;background:linear-gradient(90deg,color-mix(in srgb,var(--color-accent) 55%,transparent) 0 6px,transparent 6px 14px) 0 50% / 14px 4px no-repeat,linear-gradient(90deg,rgba(255,255,255,.16) 0 8px,transparent 8px 24px) 0 4px / 24px 1px repeat-x,#030303;box-shadow:inset 0 -1px #ffffff0a;animation:cinema-reel 2.4s linear infinite}.project-media-cinema-bar--bottom{bottom:0;background:linear-gradient(90deg,rgba(255,255,255,.12) 0 8px,transparent 8px 24px) 0 calc(100% - 4px) / 24px 1px repeat-x,#030303;box-shadow:inset 0 1px #ffffff0a;animation:cinema-reel 2.4s linear infinite reverse}@keyframes cinema-reel{0%{background-position-x:0,0,0}to{background-position-x:0,24px,0}}.project-media-cinema-vignette{position:absolute;inset:var(--cinema-bar) 0;z-index:2;pointer-events:none;background:radial-gradient(ellipse at center,transparent 45%,rgba(0,0,0,.55) 100%),linear-gradient(90deg,rgba(0,0,0,.22) 0%,transparent 12%,transparent 88%,rgba(0,0,0,.22) 100%)}.project-media-cinema-scan{position:absolute;inset:var(--cinema-bar) 0;z-index:2;pointer-events:none;overflow:hidden;mix-blend-mode:screen}.project-media-cinema-scan:before{content:"";position:absolute;left:0;right:0;top:-8%;height:18%;background:linear-gradient(180deg,transparent 0%,color-mix(in srgb,var(--color-accent) 20%,transparent) 45%,color-mix(in srgb,var(--color-accent) 35%,transparent) 50%,color-mix(in srgb,var(--color-accent) 20%,transparent) 55%,transparent 100%);filter:blur(1px);animation:cinema-scan 5.5s cubic-bezier(.45,0,.55,1) infinite}@keyframes cinema-scan{0%{transform:translateY(-10%);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(520%);opacity:0}}.project-media-cinema-grain{position:absolute;inset:var(--cinema-bar) 0;z-index:2;pointer-events:none;background:#ffffff08;mix-blend-mode:overlay;animation:cinema-flicker 3.2s steps(6,end) infinite}@keyframes cinema-flicker{0%,to{opacity:.9}20%{opacity:.65}40%{opacity:1}60%{opacity:.75}80%{opacity:.95}}.project-media-cinema-label{position:absolute;top:calc(var(--cinema-bar) / 2);right:38px;transform:translateY(-50%);z-index:4;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:10px;letter-spacing:.28em;font-weight:700;color:var(--color-accent);pointer-events:none;text-shadow:0 0 6px color-mix(in srgb,var(--color-accent) 60%,transparent)}.project-media-cinema-dot{position:absolute;top:calc(var(--cinema-bar) / 2);right:18px;transform:translateY(-50%);z-index:4;width:8px;height:8px;border-radius:50%;background:var(--color-accent);box-shadow:0 0 10px var(--color-accent),0 0 20px color-mix(in srgb,var(--color-accent) 45%,transparent);pointer-events:none;animation:cinema-rec-blink 1.4s ease-in-out infinite}.project-media-cinema-dot:after{content:"";position:absolute;inset:-6px;border-radius:50%;border:1px solid color-mix(in srgb,var(--color-accent) 60%,transparent);animation:cinema-rec-halo 1.8s ease-out infinite}@keyframes cinema-rec-blink{0%,to{opacity:1;transform:translateY(-50%) scale(1)}50%{opacity:.35;transform:translateY(-50%) scale(.85)}}@keyframes cinema-rec-halo{0%{transform:scale(.7);opacity:.7;border-color:color-mix(in srgb,var(--color-accent) 70%,transparent)}to{transform:scale(2.4);opacity:0;border-color:color-mix(in srgb,var(--color-accent) 0%,transparent)}}.project-media-cinema-scene{position:absolute;top:calc(var(--cinema-bar) / 2);left:18px;transform:translateY(-50%);z-index:4;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:10px;letter-spacing:.25em;font-weight:600;color:color-mix(in srgb,#ffffff 85%,transparent);pointer-events:none}.project-media-cinema-code{position:absolute;bottom:calc(var(--cinema-bar) / 2);right:18px;transform:translateY(50%);z-index:4;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:10px;letter-spacing:.18em;font-weight:500;color:color-mix(in srgb,var(--color-accent) 65%,#ffffff);text-shadow:0 0 6px color-mix(in srgb,var(--color-accent) 30%,transparent);pointer-events:none}.project-media[data-media-mode=cinema] .project-image-wrapper.media-wrapper{position:absolute;inset:0;z-index:1;overflow:hidden}.project-media[data-media-mode=cinema] .project-image.media-inner{filter:contrast(1.08) saturate(.92) brightness(.96);transition:filter var(--transition-medium),transform var(--transition-slow)}.project-card:hover .project-media[data-media-mode=cinema] .project-image.media-inner{filter:contrast(1.1) saturate(1) brightness(1)}.project-media[data-media-mode=cinema] .project-image-overlay{inset:var(--cinema-bar) 0;z-index:5}@media(prefers-reduced-motion:reduce){.project-media-cinema-dot,.project-media-cinema-dot:after,.project-media-cinema-scan:before,.project-media-cinema-grain,.project-media-cinema-bar--top,.project-media-cinema-bar--bottom{animation:none!important}.project-media-cinema-dot{opacity:1!important}}.project-media[data-media-mode=neon]{--frame-pad: 20px;--neon-header-h: 30px;padding:calc(var(--frame-pad) + var(--neon-header-h)) var(--frame-pad) var(--frame-pad);box-sizing:border-box;background:#0a0607;overflow:hidden;isolation:isolate}.project-media-neon-grid{position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(color-mix(in srgb,var(--color-accent) 7%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--color-accent) 7%,transparent) 1px,transparent 1px);background-size:22px 22px;mask-image:radial-gradient(ellipse at center,#000 25%,transparent 85%);-webkit-mask-image:radial-gradient(ellipse at center,#000 25%,transparent 85%)}.project-media-neon-label{position:absolute;top:18px;left:20px;z-index:3;font-family:var(--font-body);font-size:9px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--color-accent);text-shadow:0 0 6px var(--color-accent),0 0 14px color-mix(in srgb,var(--color-accent) 50%,transparent);pointer-events:none}.project-media-neon-year{position:absolute;top:10px;right:20px;z-index:3;font-family:var(--font-body);font-weight:200;font-size:1.85rem;line-height:1;font-variant-numeric:tabular-nums lining-nums;letter-spacing:-.03em;background:linear-gradient(135deg,#fff,color-mix(in srgb,var(--color-accent) 85%,#ffffff),color-mix(in srgb,var(--color-accent) 60%,#ffffff));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;filter:drop-shadow(0 0 14px color-mix(in srgb,var(--color-accent) 45%,transparent));pointer-events:none;transition:filter var(--transition-medium)}.project-media-neon-corner{position:absolute;width:16px;height:16px;z-index:3;pointer-events:none;border:1px solid var(--color-accent);box-shadow:0 0 6px color-mix(in srgb,var(--color-accent) 55%,transparent),inset 0 0 6px color-mix(in srgb,var(--color-accent) 40%,transparent)}.project-media-neon-corner--tl{top:8px;left:8px;border-right:0;border-bottom:0}.project-media-neon-corner--br{bottom:8px;right:8px;border-left:0;border-top:0}.project-media[data-media-mode=neon] .project-image-wrapper.media-wrapper{inset:calc(var(--frame-pad) + var(--neon-header-h)) var(--frame-pad) var(--frame-pad);z-index:2;border-radius:2px;overflow:hidden;box-shadow:0 0 0 1px var(--color-accent),0 0 14px color-mix(in srgb,var(--color-accent) 42%,transparent),0 0 38px color-mix(in srgb,var(--color-accent) 25%,transparent),inset 0 0 22px color-mix(in srgb,var(--color-accent) 14%,transparent);animation:neon-pulse 3.2s ease-in-out infinite}@keyframes neon-pulse{0%,to{box-shadow:0 0 0 1px var(--color-accent),0 0 14px color-mix(in srgb,var(--color-accent) 42%,transparent),0 0 38px color-mix(in srgb,var(--color-accent) 25%,transparent),inset 0 0 22px color-mix(in srgb,var(--color-accent) 14%,transparent)}50%{box-shadow:0 0 0 1px var(--color-accent),0 0 22px color-mix(in srgb,var(--color-accent) 58%,transparent),0 0 55px color-mix(in srgb,var(--color-accent) 38%,transparent),inset 0 0 30px color-mix(in srgb,var(--color-accent) 22%,transparent)}}.project-card:hover .project-media[data-media-mode=neon] .project-image-wrapper.media-wrapper{animation-play-state:paused;box-shadow:0 0 0 1.5px var(--color-accent),0 0 28px color-mix(in srgb,var(--color-accent) 70%,transparent),0 0 70px color-mix(in srgb,var(--color-accent) 45%,transparent),inset 0 0 36px color-mix(in srgb,var(--color-accent) 28%,transparent)}.project-card:hover .project-media-neon-year{filter:drop-shadow(0 0 22px color-mix(in srgb,var(--color-accent) 65%,transparent))}.project-media[data-media-mode=neon] .project-image.media-inner{filter:saturate(1.1) contrast(1.05) brightness(.95);transition:filter var(--transition-medium)}.project-card:hover .project-media[data-media-mode=neon] .project-image.media-inner{filter:saturate(1.15) contrast(1.08) brightness(1)}.project-media[data-media-mode=neon] .project-image-overlay{inset:calc(var(--frame-pad) + var(--neon-header-h)) var(--frame-pad) var(--frame-pad);z-index:4;border-radius:2px}@media(prefers-reduced-motion:reduce){.project-media[data-media-mode=neon] .project-image-wrapper.media-wrapper{animation:none!important}}.project-media[data-media-mode=magnetic]{--frame-pad: 18px;padding:var(--frame-pad);box-sizing:border-box;background:var(--color-bg-secondary);overflow:hidden;isolation:isolate}.project-media-magnetic-layer{position:absolute;inset:0;z-index:0;pointer-events:none;will-change:transform}.project-media-magnetic-layer--grid{background-image:linear-gradient(color-mix(in srgb,var(--color-text) 9%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--color-text) 9%,transparent) 1px,transparent 1px);background-size:22px 22px;opacity:.85}.project-media-magnetic-layer--orbit{background:radial-gradient(circle at 30% 40%,color-mix(in srgb,var(--color-accent) 18%,transparent) 0%,transparent 42%),radial-gradient(circle at 78% 65%,color-mix(in srgb,var(--showcase-orange) 14%,transparent) 0%,transparent 38%);opacity:.9}.project-media-magnetic-layer--mesh{background:repeating-linear-gradient(-18deg,transparent,transparent 11px,color-mix(in srgb,var(--color-accent) 10%,transparent) 11px,color-mix(in srgb,var(--color-accent) 10%,transparent) 12px);opacity:.35;mix-blend-mode:multiply}[data-theme=dark] .project-media-magnetic-layer--mesh{mix-blend-mode:screen;opacity:.22}.project-media-magnetic-bracket{position:absolute;z-index:1;width:14px;height:14px;pointer-events:none;border-color:color-mix(in srgb,var(--color-accent) 65%,transparent);will-change:transform}.project-media-magnetic-bracket--tl{top:calc(var(--frame-pad) + 6px);left:calc(var(--frame-pad) + 6px);border-top:2px solid;border-left:2px solid}.project-media-magnetic-bracket--tr{top:calc(var(--frame-pad) + 6px);right:calc(var(--frame-pad) + 6px);border-top:2px solid;border-right:2px solid}.project-media-magnetic-bracket--bl{bottom:calc(var(--frame-pad) + 6px);left:calc(var(--frame-pad) + 6px);border-bottom:2px solid;border-left:2px solid}.project-media-magnetic-bracket--br{bottom:calc(var(--frame-pad) + 6px);right:calc(var(--frame-pad) + 6px);border-bottom:2px solid;border-right:2px solid}.project-media-magnetic-index{position:absolute;bottom:calc(var(--frame-pad) + 8px);right:calc(var(--frame-pad) + 10px);z-index:1;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11px;font-weight:600;letter-spacing:.35em;color:color-mix(in srgb,var(--color-accent) 80%,transparent);pointer-events:none;will-change:transform}.project-media[data-media-mode=magnetic] .project-image-wrapper.media-wrapper{inset:var(--frame-pad);z-index:2;border-radius:calc(var(--radius-md) - 2px);overflow:hidden;box-shadow:0 0 0 1px color-mix(in srgb,var(--color-text) 12%,transparent),0 12px 28px #00000014;transition:transform var(--transition-slow),box-shadow var(--transition-medium)}.project-card:hover .project-media[data-media-mode=magnetic] .project-image-wrapper.media-wrapper{transform:translateY(-2px);box-shadow:0 0 0 1px color-mix(in srgb,var(--color-text) 18%,transparent),0 16px 36px #0000001f}.project-media[data-media-mode=magnetic] .project-image-overlay{inset:var(--frame-pad);border-radius:calc(var(--radius-md) - 2px);z-index:4}.project-media[data-media-mode=stencil]{--frame-pad: 16px;padding:var(--frame-pad);box-sizing:border-box;background:var(--color-bg-secondary);overflow:hidden;isolation:isolate}.project-media-stencil-gradient{position:absolute;width:180%;height:180%;inset:-40%;z-index:0;pointer-events:none;background:linear-gradient(135deg,color-mix(in srgb,var(--showcase-orange) 55%,transparent),color-mix(in srgb,var(--color-accent) 48%,transparent) 35%,color-mix(in srgb,var(--color-bg) 25%,transparent) 52%,color-mix(in srgb,var(--color-accent) 42%,transparent));background-size:280% 280%;background-position:20% 30%;will-change:transform,background-position}.project-media-stencil-noise{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.12;mix-blend-mode:overlay;background:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.project-media-stencil-shard{position:absolute;z-index:1;pointer-events:none;background:color-mix(in srgb,var(--color-bg) 88%,transparent);border:1px solid color-mix(in srgb,var(--color-accent) 35%,transparent);box-shadow:2px 3px color-mix(in srgb,var(--color-text) 12%,transparent);will-change:transform}.project-media-stencil-shard--a{width:38%;height:10px;top:12%;left:8%;transform:rotate(-8deg)}.project-media-stencil-shard--b{width:32%;height:9px;bottom:18%;right:10%;transform:rotate(6deg)}.project-media-stencil-shard--c{width:22%;height:8px;top:42%;right:6%;transform:rotate(-14deg)}.project-media-stencil-title{position:absolute;bottom:calc(var(--frame-pad) + 4px);left:calc(var(--frame-pad) + 4px);z-index:1;font-family:var(--font-body);font-size:10px;font-weight:700;letter-spacing:.42em;text-transform:uppercase;color:color-mix(in srgb,var(--color-text) 55%,transparent);pointer-events:none}.project-media-stencil-num{position:absolute;top:calc(var(--frame-pad) + 2px);right:calc(var(--frame-pad) + 4px);z-index:1;font-family:var(--font-display);font-style:italic;font-weight:800;font-size:clamp(2.5rem,9vw,4rem);line-height:1;color:transparent;-webkit-text-stroke:1.2px color-mix(in srgb,var(--color-accent) 55%,transparent);pointer-events:none;font-variant-numeric:tabular-nums lining-nums}.project-media[data-media-mode=stencil] .project-image-wrapper.media-wrapper{inset:var(--frame-pad);z-index:2;border-radius:3px;overflow:hidden;box-shadow:0 0 0 2px color-mix(in srgb,var(--color-text) 10%,transparent),0 10px 24px #0000001a}.project-media[data-media-mode=stencil] .project-image-overlay{inset:var(--frame-pad);border-radius:3px;z-index:4}.project-media[data-media-mode=ledger]{--frame-pad: 20px;padding:var(--frame-pad);box-sizing:border-box;background:color-mix(in srgb,var(--color-bg-secondary) 96%,var(--color-accent));overflow:hidden;isolation:isolate}.project-media-ledger-spine{position:absolute;top:var(--frame-pad);bottom:var(--frame-pad);left:calc(var(--frame-pad) + 10px);width:2px;z-index:1;background:linear-gradient(180deg,color-mix(in srgb,var(--color-accent) 85%,transparent),color-mix(in srgb,var(--color-accent) 45%,transparent));border-radius:1px;pointer-events:none;transform-origin:50% 0%;will-change:transform}.project-media-ledger-guides{position:absolute;top:calc(var(--frame-pad) + 28px);left:calc(var(--frame-pad) + 36px);right:var(--frame-pad);bottom:calc(var(--frame-pad) + 36px);z-index:1;pointer-events:none}.project-media-ledger-tick{position:absolute;left:0;height:1px;width:58%;background:color-mix(in srgb,var(--color-text) 22%,transparent);transform-origin:0% 50%;will-change:transform}.project-media-ledger-tick:nth-child(1){top:0%}.project-media-ledger-tick:nth-child(2){top:20%}.project-media-ledger-tick:nth-child(3){top:40%}.project-media-ledger-tick:nth-child(4){top:60%}.project-media-ledger-tick:nth-child(5){top:80%}.project-media-ledger-tick:nth-child(6){top:100%}.project-media-ledger-label{position:absolute;top:calc(var(--frame-pad) + 6px);left:calc(var(--frame-pad) + 36px);z-index:1;font-family:var(--font-body);font-size:9px;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:color-mix(in srgb,var(--color-text) 50%,transparent);pointer-events:none;opacity:0}.project-media-ledger-code{position:absolute;bottom:calc(var(--frame-pad) + 8px);left:calc(var(--frame-pad) + 36px);z-index:1;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:10px;font-weight:500;letter-spacing:.12em;color:color-mix(in srgb,var(--color-accent) 75%,transparent);pointer-events:none}.project-media[data-media-mode=ledger] .project-image-wrapper.media-wrapper{inset:calc(var(--frame-pad) + 26px) var(--frame-pad) var(--frame-pad) calc(var(--frame-pad) + 34px);z-index:2;border-radius:2px;overflow:hidden;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-text) 12%,transparent),0 6px 18px #00000012}.project-media[data-media-mode=ledger] .project-image-overlay{inset:calc(var(--frame-pad) + 26px) var(--frame-pad) var(--frame-pad) calc(var(--frame-pad) + 34px);border-radius:2px;z-index:4}.project-media[data-media-mode=flux]{--frame-pad: 18px;padding:var(--frame-pad);box-sizing:border-box;background:var(--color-bg-secondary);overflow:hidden;isolation:isolate}.project-media-flux-base{position:absolute;inset:-25%;z-index:0;pointer-events:none;background:linear-gradient(118deg,color-mix(in srgb,var(--showcase-orange) 42%,transparent),color-mix(in srgb,var(--color-accent) 38%,transparent) 32%,color-mix(in srgb,var(--color-bg) 18%,transparent) 48%,color-mix(in srgb,var(--showcase-orange) 36%,transparent) 72%,color-mix(in srgb,var(--color-accent) 40%,transparent));background-size:320% 320%;background-position:12% 22%;will-change:background-position,transform}.project-media-flux-sweep{position:absolute;inset:-35%;z-index:1;pointer-events:none;background:conic-gradient(from 0deg,transparent 0deg,color-mix(in srgb,var(--color-accent) 22%,transparent) 80deg,transparent 160deg,color-mix(in srgb,var(--showcase-orange) 18%,transparent) 240deg,transparent 320deg);mix-blend-mode:soft-light;opacity:.55;will-change:transform}[data-theme=dark] .project-media-flux-sweep{opacity:.42;mix-blend-mode:screen}.project-media-flux-blob{position:absolute;z-index:0;border-radius:50%;filter:blur(38px) saturate(1.25);pointer-events:none;will-change:transform}.project-media-flux-blob--a{width:62%;height:62%;top:-12%;left:-8%;background:radial-gradient(circle,color-mix(in srgb,var(--color-accent) 70%,transparent) 0%,transparent 58%);opacity:.62}.project-media-flux-blob--b{width:54%;height:54%;top:18%;right:-14%;background:radial-gradient(circle,color-mix(in srgb,var(--showcase-orange) 65%,transparent) 0%,transparent 55%);opacity:.58}.project-media-flux-blob--c{width:48%;height:48%;bottom:-16%;left:22%;background:radial-gradient(circle,color-mix(in srgb,var(--color-accent) 55%,transparent) 0%,transparent 52%);opacity:.5}.project-media-flux-blob--d{width:36%;height:36%;top:38%;left:42%;background:radial-gradient(circle,color-mix(in srgb,var(--showcase-orange) 50%,transparent) 0%,transparent 50%);opacity:.38;mix-blend-mode:screen}.project-media-flux-vignette{position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse at 50% 45%,transparent 38%,rgba(0,0,0,.12) 100%)}[data-theme=dark] .project-media-flux-vignette{background:radial-gradient(ellipse at 50% 45%,transparent 38%,rgba(0,0,0,.45) 100%)}.project-media[data-media-mode=flux] .project-image-wrapper.media-wrapper{inset:var(--frame-pad);z-index:2;border-radius:calc(var(--radius-md) - 2px);overflow:hidden;box-shadow:0 0 0 1px color-mix(in srgb,var(--color-text) 14%,transparent),0 10px 28px #0000001a;transition:transform var(--transition-slow),box-shadow var(--transition-medium)}.project-card:hover .project-media[data-media-mode=flux] .project-image-wrapper.media-wrapper{transform:translateY(-2px);box-shadow:0 0 0 1px color-mix(in srgb,var(--color-text) 22%,transparent),0 14px 36px #00000024}.project-media[data-media-mode=flux] .project-image-overlay{inset:var(--frame-pad);border-radius:calc(var(--radius-md) - 2px);z-index:4}.project-media[data-media-mode=trace]{--frame-pad: 18px;--trace-inset: 10px;padding:var(--frame-pad);box-sizing:border-box;background:var(--color-bg-secondary);overflow:hidden;isolation:isolate}.project-media-trace-hatch{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.45;background:repeating-linear-gradient(-42deg,transparent,transparent 5px,color-mix(in srgb,var(--color-text) 7%,transparent) 5px,color-mix(in srgb,var(--color-text) 7%,transparent) 6px)}.project-media-trace-edge{position:absolute;z-index:1;pointer-events:none;background:color-mix(in srgb,var(--color-text) 28%,transparent);will-change:transform}.project-media-trace-edge--top{top:calc(var(--frame-pad) + var(--trace-inset));left:calc(var(--frame-pad) + var(--trace-inset));right:calc(var(--frame-pad) + var(--trace-inset));height:1px;transform-origin:50% 50%}.project-media-trace-edge--bottom{bottom:calc(var(--frame-pad) + var(--trace-inset));left:calc(var(--frame-pad) + var(--trace-inset));right:calc(var(--frame-pad) + var(--trace-inset));height:1px;transform-origin:50% 50%}.project-media-trace-edge--left{left:calc(var(--frame-pad) + var(--trace-inset));top:calc(var(--frame-pad) + var(--trace-inset));bottom:calc(var(--frame-pad) + var(--trace-inset));width:1px;transform-origin:50% 0%}.project-media-trace-edge--right{right:calc(var(--frame-pad) + var(--trace-inset));top:calc(var(--frame-pad) + var(--trace-inset));bottom:calc(var(--frame-pad) + var(--trace-inset));width:1px;transform-origin:50% 0%}.project-media-trace-mark{position:absolute;z-index:2;width:14px;height:14px;pointer-events:none;border-color:color-mix(in srgb,var(--color-accent) 72%,transparent);will-change:transform,opacity}.project-media-trace-mark--tl{top:calc(var(--frame-pad) + 4px);left:calc(var(--frame-pad) + 4px);border-top:2px solid;border-left:2px solid}.project-media-trace-mark--tr{top:calc(var(--frame-pad) + 4px);right:calc(var(--frame-pad) + 4px);border-top:2px solid;border-right:2px solid}.project-media-trace-mark--bl{bottom:calc(var(--frame-pad) + 4px);left:calc(var(--frame-pad) + 4px);border-bottom:2px solid;border-left:2px solid}.project-media-trace-mark--br{bottom:calc(var(--frame-pad) + 4px);right:calc(var(--frame-pad) + 4px);border-bottom:2px solid;border-right:2px solid}.project-media-trace-cross{position:absolute;left:50%;top:42%;z-index:1;width:22px;height:22px;transform:translate(-50%,-50%);pointer-events:none;opacity:0}.project-media-trace-cross:before,.project-media-trace-cross:after{content:"";position:absolute;background:color-mix(in srgb,var(--color-accent) 55%,transparent)}.project-media-trace-cross:before{width:100%;height:1px;top:50%;left:0;transform:translateY(-50%)}.project-media-trace-cross:after{width:1px;height:100%;left:50%;top:0;transform:translate(-50%)}.project-media-trace-meta{position:absolute;bottom:calc(var(--frame-pad) + 6px);right:calc(var(--frame-pad) + 8px);z-index:2;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:9px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:color-mix(in srgb,var(--color-text) 45%,transparent);pointer-events:none}.project-media[data-media-mode=trace] .project-image-wrapper.media-wrapper{inset:var(--frame-pad);z-index:2;border-radius:2px;overflow:hidden;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-text) 12%,transparent),0 8px 22px #00000014}.project-media[data-media-mode=trace] .project-image-overlay{inset:var(--frame-pad);border-radius:2px;z-index:4}.project-media[data-media-mode=weave]{--frame-pad: 18px;padding:var(--frame-pad);box-sizing:border-box;background:var(--color-bg-secondary);overflow:hidden;isolation:isolate}.project-media-weave-layer{position:absolute;inset:-5%;z-index:0;pointer-events:none;will-change:background-position}.project-media-weave-layer--a{background:repeating-linear-gradient(52deg,transparent 0 11px,color-mix(in srgb,var(--color-accent) 22%,transparent) 11px,color-mix(in srgb,var(--color-accent) 22%,transparent) 12px);background-size:140% 140%;opacity:.35;animation:weave-drift-a 18s linear infinite;mix-blend-mode:multiply}.project-media-weave-layer--b{background:repeating-linear-gradient(-38deg,transparent 0 14px,color-mix(in srgb,var(--showcase-orange) 18%,transparent) 14px,color-mix(in srgb,var(--showcase-orange) 18%,transparent) 15px);background-size:160% 160%;opacity:.4;animation:weave-drift-b 22s linear infinite reverse;mix-blend-mode:multiply}.project-media-weave-layer--c{background:repeating-linear-gradient(90deg,transparent 0 20px,color-mix(in srgb,var(--color-text) 10%,transparent) 20px,color-mix(in srgb,var(--color-text) 10%,transparent) 21px);background-size:200% 100%;opacity:.25;animation:weave-drift-c 26s linear infinite;mix-blend-mode:multiply}[data-theme=dark] .project-media-weave-layer--a,[data-theme=dark] .project-media-weave-layer--b,[data-theme=dark] .project-media-weave-layer--c{mix-blend-mode:screen}.project-media-weave-fade{position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse at 50% 50%,transparent 35%,var(--color-bg-secondary) 92%);opacity:.85}@keyframes weave-drift-a{0%{background-position:0% 0%}to{background-position:100% 100%}}@keyframes weave-drift-b{0%{background-position:100% 0%}to{background-position:0% 100%}}@keyframes weave-drift-c{0%{background-position:0% 50%}to{background-position:100% 50%}}.project-media[data-media-mode=weave] .project-image-wrapper.media-wrapper{inset:var(--frame-pad);z-index:2;border-radius:calc(var(--radius-md) - 2px);overflow:hidden;box-shadow:0 0 0 1px color-mix(in srgb,var(--color-text) 12%,transparent),0 10px 26px #00000017;transition:transform var(--transition-slow),box-shadow var(--transition-medium)}.project-card:hover .project-media[data-media-mode=weave] .project-image-wrapper.media-wrapper{transform:translateY(-2px);box-shadow:0 0 0 1px color-mix(in srgb,var(--color-text) 18%,transparent),0 14px 34px #0000001f}.project-media[data-media-mode=weave] .project-image-overlay{inset:var(--frame-pad);border-radius:calc(var(--radius-md) - 2px);z-index:4}.project-media[data-media-mode=orbit]{--frame-pad: 22px;padding:var(--frame-pad);box-sizing:border-box;background:var(--color-bg-secondary);overflow:hidden;isolation:isolate}.project-media-orbit-backdrop{position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--color-accent) 12%,transparent) 0%,transparent 55%),linear-gradient(135deg,color-mix(in srgb,var(--color-bg) 0%,transparent),color-mix(in srgb,var(--showcase-orange) 8%,transparent))}.project-media-orbit-ring{position:absolute;top:50%;left:50%;border-radius:50%;border:1px solid color-mix(in srgb,var(--color-text) 22%,transparent);pointer-events:none;margin:0;will-change:transform;z-index:3}.project-media-orbit-ring--xl{width:112%;height:112%;transform:translate(-50%,-50%);opacity:.45}.project-media-orbit-ring--lg{width:78%;height:78%;border-style:dashed;transform:translate(-50%,-50%);opacity:.6}.project-media-orbit-ring--md{width:46%;height:46%;transform:translate(-50%,-50%);opacity:.85}.project-media-orbit-marker{position:absolute;top:50%;right:-4px;width:8px;height:8px;border-radius:50%;background:var(--color-accent);transform:translateY(-50%);box-shadow:0 0 14px color-mix(in srgb,var(--color-accent) 70%,transparent)}.project-media-orbit-ring--lg .project-media-orbit-marker{background:var(--showcase-orange);box-shadow:0 0 12px color-mix(in srgb,var(--showcase-orange) 70%,transparent);width:6px;height:6px}.project-media-orbit-ring--md .project-media-orbit-marker{width:5px;height:5px;background:color-mix(in srgb,var(--color-text) 70%,transparent);box-shadow:0 0 10px color-mix(in srgb,var(--color-text) 40%,transparent)}.project-media-orbit-core{position:absolute;top:50%;left:50%;width:6px;height:6px;border-radius:50%;background:color-mix(in srgb,var(--color-accent) 80%,transparent);transform:translate(-50%,-50%);z-index:4;box-shadow:0 0 12px color-mix(in srgb,var(--color-accent) 50%,transparent);pointer-events:none}.project-media-orbit-label{position:absolute;bottom:calc(var(--frame-pad) + 6px);left:calc(var(--frame-pad) + 8px);z-index:4;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:10px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:color-mix(in srgb,var(--color-text) 50%,transparent);pointer-events:none}.project-media[data-media-mode=orbit] .project-image-wrapper.media-wrapper{inset:var(--frame-pad);z-index:2;border-radius:calc(var(--radius-md) - 2px);overflow:hidden;box-shadow:0 0 0 1px color-mix(in srgb,var(--color-text) 12%,transparent),0 10px 26px #00000014;transition:transform var(--transition-slow),box-shadow var(--transition-medium)}.project-card:hover .project-media[data-media-mode=orbit] .project-image-wrapper.media-wrapper{transform:translateY(-2px);box-shadow:0 0 0 1px color-mix(in srgb,var(--color-accent) 26%,transparent),0 14px 32px #0000001f}.project-media[data-media-mode=orbit] .project-image-overlay{inset:var(--frame-pad);border-radius:calc(var(--radius-md) - 2px);z-index:5}.project-media[data-media-mode=spotlight]{--frame-pad: 18px;padding:var(--frame-pad);box-sizing:border-box;background:color-mix(in srgb,var(--color-text) 92%,var(--color-bg-secondary));overflow:hidden;isolation:isolate}[data-theme=dark] .project-media[data-media-mode=spotlight]{background:color-mix(in srgb,var(--color-text) 6%,#0a0a0a)}.project-media-spotlight-base{position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--color-accent) 12%,transparent) 0%,transparent 60%)}.project-media-spotlight-grid{position:absolute;inset:0;z-index:1;pointer-events:none;background-image:linear-gradient(color-mix(in srgb,var(--color-bg) 10%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--color-bg) 10%,transparent) 1px,transparent 1px);background-size:28px 28px;opacity:.35;mix-blend-mode:screen}.project-media-spotlight-light{position:absolute;top:0;left:0;width:62%;height:100%;z-index:3;pointer-events:none;background:radial-gradient(circle at center,color-mix(in srgb,var(--showcase-orange) 55%,transparent) 0%,color-mix(in srgb,var(--color-accent) 28%,transparent) 28%,transparent 62%);filter:blur(14px);mix-blend-mode:screen;opacity:.9;will-change:transform}.project-media-spotlight-cross{position:absolute;top:0;left:0;z-index:4;width:18px;height:18px;pointer-events:none;will-change:transform}.project-media-spotlight-cross:before,.project-media-spotlight-cross:after{content:"";position:absolute;background:color-mix(in srgb,var(--color-bg) 85%,transparent)}.project-media-spotlight-cross:before{top:50%;left:0;width:100%;height:1px;transform:translateY(-50%)}.project-media-spotlight-cross:after{top:0;left:50%;width:1px;height:100%;transform:translate(-50%)}.project-media-spotlight-code{position:absolute;bottom:calc(var(--frame-pad) + 6px);right:calc(var(--frame-pad) + 8px);z-index:4;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:10px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:color-mix(in srgb,var(--color-bg) 55%,transparent);pointer-events:none}.project-media[data-media-mode=spotlight] .project-image-wrapper.media-wrapper{inset:var(--frame-pad);z-index:2;border-radius:calc(var(--radius-md) - 2px);overflow:hidden;opacity:.55;filter:saturate(.7) contrast(1.05);box-shadow:0 0 0 1px color-mix(in srgb,var(--color-bg) 14%,transparent);transition:opacity var(--transition-medium),filter var(--transition-medium)}.project-card:hover .project-media[data-media-mode=spotlight] .project-image-wrapper.media-wrapper{opacity:.78;filter:saturate(1) contrast(1.08)}.project-media[data-media-mode=spotlight] .project-image-overlay{inset:var(--frame-pad);border-radius:calc(var(--radius-md) - 2px);z-index:5}.project-media[data-media-mode=monolith]{--frame-pad: 18px;padding:var(--frame-pad);box-sizing:border-box;background:var(--color-bg-secondary);overflow:hidden;isolation:isolate}.project-media-monolith-stack{position:absolute;inset:0;z-index:0;pointer-events:none;display:flex;align-items:flex-end;gap:0}.project-media-monolith-col{flex:1;display:block;height:100%;will-change:transform;transform-origin:50% 100%}.project-media-monolith-col--1{background:color-mix(in srgb,var(--color-accent) 88%,transparent);height:72%}.project-media-monolith-col--2{background:color-mix(in srgb,var(--showcase-orange) 75%,transparent);height:92%}.project-media-monolith-col--3{background:color-mix(in srgb,var(--color-text) 85%,transparent);height:62%}.project-media-monolith-col--4{background:color-mix(in srgb,var(--color-accent) 62%,transparent);height:100%}.project-media-monolith-col--5{background:color-mix(in srgb,var(--showcase-orange) 52%,transparent);height:54%}.project-media-monolith-rule{position:absolute;left:var(--frame-pad);right:var(--frame-pad);top:50%;height:1px;z-index:3;background:color-mix(in srgb,var(--color-bg) 60%,transparent);pointer-events:none;mix-blend-mode:difference}.project-media-monolith-index{position:absolute;top:calc(var(--frame-pad) + 6px);left:calc(var(--frame-pad) + 10px);z-index:4;font-family:var(--font-display, var(--font-body));font-size:clamp(2rem,6vw,3.2rem);font-weight:700;letter-spacing:-.04em;line-height:.85;color:color-mix(in srgb,var(--color-bg) 90%,transparent);mix-blend-mode:difference;pointer-events:none}.project-media-monolith-tag{position:absolute;bottom:calc(var(--frame-pad) + 8px);right:calc(var(--frame-pad) + 10px);z-index:4;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:10px;font-weight:600;letter-spacing:.35em;text-transform:uppercase;color:color-mix(in srgb,var(--color-bg) 85%,transparent);mix-blend-mode:difference;pointer-events:none}.project-media[data-media-mode=monolith] .project-image-wrapper.media-wrapper{inset:var(--frame-pad);z-index:2;border-radius:2px;overflow:hidden;mix-blend-mode:luminosity;opacity:.82;box-shadow:0 0 0 1px color-mix(in srgb,var(--color-text) 18%,transparent);transition:opacity var(--transition-medium),transform var(--transition-slow)}.project-card:hover .project-media[data-media-mode=monolith] .project-image-wrapper.media-wrapper{transform:translateY(-2px);opacity:1;mix-blend-mode:normal}.project-media[data-media-mode=monolith] .project-image-overlay{inset:var(--frame-pad);border-radius:2px;z-index:5}.project-media[data-media-mode=terminal]{--frame-pad: 14px;--terminal-bar-h: 26px;padding:var(--frame-pad);padding-top:calc(var(--frame-pad) + var(--terminal-bar-h));box-sizing:border-box;background:#0d0f14;overflow:hidden;isolation:isolate}[data-theme=light] .project-media[data-media-mode=terminal]{background:#101217}.project-media-terminal-base{position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse at 50% 30%,color-mix(in srgb,var(--color-accent) 14%,transparent) 0%,transparent 55%),linear-gradient(180deg,rgba(255,255,255,.02) 0%,transparent 60%)}.project-media-terminal-scan{position:absolute;inset:0;z-index:1;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 2px,rgba(255,255,255,.025) 2px 3px);opacity:.7}.project-media-terminal-bar{position:absolute;top:0;left:0;right:0;height:var(--terminal-bar-h);z-index:4;display:flex;align-items:center;gap:6px;padding:0 12px;background:#ffffff0a;border-bottom:1px solid rgba(255,255,255,.06)}.project-media-terminal-dot{width:8px;height:8px;border-radius:50%;background:color-mix(in srgb,var(--color-text) 30%,rgba(255,255,255,.15))}.project-media-terminal-dot:nth-child(1){background:#ff5f57}.project-media-terminal-dot:nth-child(2){background:#febc2e}.project-media-terminal-dot:nth-child(3){background:#28c840}.project-media-terminal-title{margin-left:8px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:10px;letter-spacing:.08em;color:#ffffff8c}.project-media-terminal-lines{position:absolute;top:calc(var(--terminal-bar-h) + 14px);left:calc(var(--frame-pad) + 4px);right:calc(var(--frame-pad) + 4px);z-index:4;display:flex;flex-direction:column;gap:6px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11px;line-height:1.4;color:color-mix(in srgb,var(--color-accent) 85%,#ffffff);pointer-events:none;text-shadow:0 0 10px color-mix(in srgb,var(--color-accent) 30%,transparent)}.project-media-terminal-line--cursor{display:inline-flex;align-items:center;gap:4px}.project-media-terminal-caret{display:inline-block;width:7px;height:13px;background:color-mix(in srgb,var(--color-accent) 85%,#ffffff);box-shadow:0 0 10px color-mix(in srgb,var(--color-accent) 50%,transparent);animation:terminal-caret-blink 1s steps(1) infinite}@keyframes terminal-caret-blink{0%,49%{opacity:1}50%,to{opacity:0}}.project-media[data-media-mode=terminal] .project-image-wrapper.media-wrapper{inset:var(--frame-pad);top:calc(var(--frame-pad) + var(--terminal-bar-h));z-index:2;border-radius:2px;overflow:hidden;opacity:.18;filter:grayscale(.9) contrast(.9)}.project-card:hover .project-media[data-media-mode=terminal] .project-image-wrapper.media-wrapper{opacity:.32;filter:grayscale(.5) contrast(1)}.project-media[data-media-mode=terminal] .project-image-overlay{inset:var(--frame-pad);top:calc(var(--frame-pad) + var(--terminal-bar-h));border-radius:2px;z-index:5}.project-media[data-media-mode=crystal]{--frame-pad: 18px;padding:var(--frame-pad);box-sizing:border-box;background:var(--color-bg-secondary);overflow:hidden;isolation:isolate}.project-media-crystal-bg{position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(circle at 30% 30%,color-mix(in srgb,var(--color-accent) 14%,transparent) 0%,transparent 48%),radial-gradient(circle at 72% 68%,color-mix(in srgb,var(--showcase-orange) 12%,transparent) 0%,transparent 50%)}.project-media-crystal-ring{position:absolute;top:50%;left:50%;width:76%;height:76%;border-radius:50%;border:1px dashed color-mix(in srgb,var(--color-text) 16%,transparent);transform:translate(-50%,-50%);z-index:1;pointer-events:none;will-change:transform}.project-media-crystal-facet{position:absolute;top:50%;left:50%;pointer-events:none;will-change:transform;z-index:3;clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%);mix-blend-mode:screen}.project-media-crystal-facet--a{width:52%;height:52%;margin:-26% 0 0 -26%;background:linear-gradient(140deg,color-mix(in srgb,var(--color-accent) 55%,transparent) 0%,color-mix(in srgb,var(--showcase-orange) 45%,transparent) 55%,transparent 100%);opacity:.82}.project-media-crystal-facet--b{width:38%;height:38%;margin:-19% 0 0 -19%;background:linear-gradient(40deg,color-mix(in srgb,var(--showcase-orange) 60%,transparent) 0%,color-mix(in srgb,var(--color-accent) 40%,transparent) 60%,transparent 100%);opacity:.78}.project-media-crystal-facet--c{width:68%;height:68%;margin:-34% 0 0 -34%;background:linear-gradient(220deg,color-mix(in srgb,var(--color-text) 20%,transparent) 0%,transparent 58%);opacity:.55}.project-media-crystal-facet--d{width:24%;height:24%;margin:-12% 0 0 -12%;background:linear-gradient(75deg,color-mix(in srgb,var(--color-accent) 82%,transparent),color-mix(in srgb,var(--showcase-orange) 55%,transparent));opacity:.9}[data-theme=dark] .project-media-crystal-facet{mix-blend-mode:screen}[data-theme=light] .project-media-crystal-facet{mix-blend-mode:multiply}.project-media-crystal-core{position:absolute;top:50%;left:50%;width:6px;height:6px;border-radius:50%;background:color-mix(in srgb,var(--color-accent) 90%,transparent);transform:translate(-50%,-50%);z-index:4;box-shadow:0 0 14px color-mix(in srgb,var(--color-accent) 70%,transparent);pointer-events:none}.project-media-crystal-mark{position:absolute;bottom:calc(var(--frame-pad) + 6px);left:calc(var(--frame-pad) + 10px);z-index:4;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:10px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:color-mix(in srgb,var(--color-text) 48%,transparent);pointer-events:none}.project-media[data-media-mode=crystal] .project-image-wrapper.media-wrapper{inset:var(--frame-pad);z-index:2;border-radius:calc(var(--radius-md) - 2px);overflow:hidden;opacity:.78;box-shadow:0 0 0 1px color-mix(in srgb,var(--color-text) 12%,transparent),0 10px 26px #00000014;transition:transform var(--transition-slow),opacity var(--transition-medium),box-shadow var(--transition-medium)}.project-card:hover .project-media[data-media-mode=crystal] .project-image-wrapper.media-wrapper{transform:translateY(-2px);opacity:1;box-shadow:0 0 0 1px color-mix(in srgb,var(--color-accent) 28%,transparent),0 14px 32px #0000001f}.project-media[data-media-mode=crystal] .project-image-overlay{inset:var(--frame-pad);border-radius:calc(var(--radius-md) - 2px);z-index:5}.project-media[data-media-mode=outline]{--frame-pad: 24px;--outline-inset: 10px;padding:var(--frame-pad);box-sizing:border-box;background:var(--color-bg-secondary);overflow:hidden;isolation:isolate}.project-media-outline-edge{position:absolute;z-index:3;background:color-mix(in srgb,var(--color-text) 42%,transparent);pointer-events:none;will-change:transform}.project-media-outline-edge--top{top:calc(var(--frame-pad) + var(--outline-inset));left:calc(var(--frame-pad) + var(--outline-inset));right:calc(var(--frame-pad) + var(--outline-inset));height:1px}.project-media-outline-edge--bottom{bottom:calc(var(--frame-pad) + var(--outline-inset));left:calc(var(--frame-pad) + var(--outline-inset));right:calc(var(--frame-pad) + var(--outline-inset));height:1px}.project-media-outline-edge--left{top:calc(var(--frame-pad) + var(--outline-inset));bottom:calc(var(--frame-pad) + var(--outline-inset));left:calc(var(--frame-pad) + var(--outline-inset));width:1px}.project-media-outline-edge--right{top:calc(var(--frame-pad) + var(--outline-inset));bottom:calc(var(--frame-pad) + var(--outline-inset));right:calc(var(--frame-pad) + var(--outline-inset));width:1px}.project-media-outline-tick{position:absolute;z-index:4;width:9px;height:9px;pointer-events:none;border-color:color-mix(in srgb,var(--color-accent) 80%,transparent);will-change:transform,opacity}.project-media-outline-tick--tl{top:calc(var(--frame-pad) + var(--outline-inset) - 5px);left:calc(var(--frame-pad) + var(--outline-inset) - 5px);border-top:1.5px solid;border-left:1.5px solid}.project-media-outline-tick--tr{top:calc(var(--frame-pad) + var(--outline-inset) - 5px);right:calc(var(--frame-pad) + var(--outline-inset) - 5px);border-top:1.5px solid;border-right:1.5px solid}.project-media-outline-tick--bl{bottom:calc(var(--frame-pad) + var(--outline-inset) - 5px);left:calc(var(--frame-pad) + var(--outline-inset) - 5px);border-bottom:1.5px solid;border-left:1.5px solid}.project-media-outline-tick--br{bottom:calc(var(--frame-pad) + var(--outline-inset) - 5px);right:calc(var(--frame-pad) + var(--outline-inset) - 5px);border-bottom:1.5px solid;border-right:1.5px solid}.project-media-outline-cross{position:absolute;top:50%;left:50%;width:12px;height:12px;z-index:4;transform:translate(-50%,-50%);pointer-events:none}.project-media-outline-cross:before,.project-media-outline-cross:after{content:"";position:absolute;background:color-mix(in srgb,var(--color-accent) 70%,transparent)}.project-media-outline-cross:before{top:50%;left:0;width:100%;height:1px;transform:translateY(-50%)}.project-media-outline-cross:after{top:0;left:50%;width:1px;height:100%;transform:translate(-50%)}.project-media-outline-dim{position:absolute;top:calc(var(--frame-pad) - 4px);left:50%;transform:translate(-50%);z-index:3;display:flex;align-items:center;gap:2px;pointer-events:none}.project-media-outline-dim-cap{width:1px;height:8px;background:color-mix(in srgb,var(--color-text) 42%,transparent)}.project-media-outline-dim-line{width:34%;min-width:40px;height:1px;background:color-mix(in srgb,var(--color-text) 42%,transparent);display:inline-block}.project-media-outline-label{position:absolute;bottom:calc(var(--frame-pad) - 2px);left:50%;transform:translate(-50%);z-index:3;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:10px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:color-mix(in srgb,var(--color-text) 48%,transparent);pointer-events:none}.project-media[data-media-mode=outline] .project-image-wrapper.media-wrapper{inset:calc(var(--frame-pad) + var(--outline-inset) + 8px);z-index:2;border-radius:2px;overflow:hidden;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-text) 8%,transparent);transition:transform var(--transition-slow)}.project-card:hover .project-media[data-media-mode=outline] .project-image-wrapper.media-wrapper{transform:scale(1.015)}.project-media[data-media-mode=outline] .project-image-overlay{inset:calc(var(--frame-pad) + var(--outline-inset) + 8px);border-radius:2px;z-index:6}.project-media[data-media-mode=contour]{--frame-pad: 18px;padding:var(--frame-pad);box-sizing:border-box;background:var(--color-bg-secondary);overflow:hidden;isolation:isolate}.project-media-contour-base{position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse at 32% 40%,color-mix(in srgb,var(--color-accent) 10%,transparent) 0%,transparent 55%),radial-gradient(ellipse at 70% 65%,color-mix(in srgb,var(--showcase-orange) 8%,transparent) 0%,transparent 55%)}.project-media-contour-lines{position:absolute;inset:-20%;z-index:1;pointer-events:none;background-size:260% 260%;background-position:0% 0%;opacity:.55;will-change:background-position}.project-media-contour-lines--a{background-image:radial-gradient(ellipse 70% 60% at 30% 40%,transparent 0,transparent 16%,color-mix(in srgb,var(--color-text) 22%,transparent) 16%,color-mix(in srgb,var(--color-text) 22%,transparent) 17%,transparent 17%,transparent 28%,color-mix(in srgb,var(--color-text) 20%,transparent) 28%,color-mix(in srgb,var(--color-text) 20%,transparent) 29%,transparent 29%,transparent 40%,color-mix(in srgb,var(--color-text) 18%,transparent) 40%,color-mix(in srgb,var(--color-text) 18%,transparent) 41%,transparent 41%,transparent 52%,color-mix(in srgb,var(--color-text) 16%,transparent) 52%,color-mix(in srgb,var(--color-text) 16%,transparent) 53%,transparent 53%,transparent 64%,color-mix(in srgb,var(--color-text) 14%,transparent) 64%,color-mix(in srgb,var(--color-text) 14%,transparent) 65%,transparent 65%)}.project-media-contour-lines--b{background-image:radial-gradient(ellipse 60% 70% at 72% 68%,transparent 0,transparent 14%,color-mix(in srgb,var(--color-accent) 26%,transparent) 14%,color-mix(in srgb,var(--color-accent) 26%,transparent) 15%,transparent 15%,transparent 26%,color-mix(in srgb,var(--color-accent) 22%,transparent) 26%,color-mix(in srgb,var(--color-accent) 22%,transparent) 27%,transparent 27%,transparent 38%,color-mix(in srgb,var(--color-accent) 20%,transparent) 38%,color-mix(in srgb,var(--color-accent) 20%,transparent) 39%,transparent 39%,transparent 50%,color-mix(in srgb,var(--showcase-orange) 22%,transparent) 50%,color-mix(in srgb,var(--showcase-orange) 22%,transparent) 51%,transparent 51%);opacity:.45;mix-blend-mode:multiply}[data-theme=dark] .project-media-contour-lines--b{mix-blend-mode:screen}.project-media-contour-fade{position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(ellipse at 50% 50%,transparent 30%,var(--color-bg-secondary) 100%);opacity:.65}.project-media-contour-label{position:absolute;top:calc(var(--frame-pad) + 6px);right:calc(var(--frame-pad) + 10px);z-index:3;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:10px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:color-mix(in srgb,var(--color-text) 52%,transparent);pointer-events:none}.project-media[data-media-mode=contour] .project-image-wrapper.media-wrapper{inset:var(--frame-pad);z-index:3;border-radius:calc(var(--radius-md) - 2px);overflow:hidden;box-shadow:0 0 0 1px color-mix(in srgb,var(--color-text) 10%,transparent),0 8px 22px #00000014;transition:transform var(--transition-slow),box-shadow var(--transition-medium)}.project-card:hover .project-media[data-media-mode=contour] .project-image-wrapper.media-wrapper{transform:translateY(-2px);box-shadow:0 0 0 1px color-mix(in srgb,var(--color-text) 18%,transparent),0 14px 30px #0000001f}.project-media[data-media-mode=contour] .project-image-overlay{inset:var(--frame-pad);border-radius:calc(var(--radius-md) - 2px);z-index:5}.project-media[data-media-mode=bauhaus]{--frame-pad: 18px;padding:var(--frame-pad);box-sizing:border-box;background:var(--color-bg-secondary);overflow:hidden;isolation:isolate}.project-media-bauhaus-canvas{position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(180deg,color-mix(in srgb,var(--color-bg) 100%,transparent),color-mix(in srgb,var(--showcase-orange) 6%,var(--color-bg)))}.project-media-bauhaus-shape{position:absolute;z-index:1;pointer-events:none;will-change:transform}.project-media-bauhaus-shape--circle{top:18%;left:12%;width:38%;aspect-ratio:1;border-radius:50%;background:color-mix(in srgb,var(--color-accent) 88%,transparent)}.project-media-bauhaus-shape--square{bottom:16%;right:14%;width:32%;aspect-ratio:1;background:color-mix(in srgb,var(--showcase-orange) 82%,transparent)}.project-media-bauhaus-shape--triangle{top:42%;right:8%;width:24%;aspect-ratio:1;background:color-mix(in srgb,var(--color-text) 88%,transparent);clip-path:polygon(50% 0%,100% 100%,0% 100%)}.project-media-bauhaus-rule{position:absolute;top:50%;left:var(--frame-pad);right:var(--frame-pad);height:1px;z-index:2;background:color-mix(in srgb,var(--color-text) 22%,transparent);pointer-events:none}.project-media-bauhaus-index{position:absolute;bottom:calc(var(--frame-pad) + 4px);left:calc(var(--frame-pad) + 10px);z-index:3;font-family:var(--font-display, var(--font-body));font-size:clamp(2rem,6vw,3rem);font-weight:700;letter-spacing:-.04em;line-height:.85;color:var(--color-text);pointer-events:none}.project-media-bauhaus-tag{position:absolute;top:calc(var(--frame-pad) + 4px);left:calc(var(--frame-pad) + 10px);z-index:3;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:10px;font-weight:600;letter-spacing:.35em;text-transform:uppercase;color:color-mix(in srgb,var(--color-text) 55%,transparent);pointer-events:none}.project-media[data-media-mode=bauhaus] .project-image-wrapper.media-wrapper{inset:var(--frame-pad);z-index:4;border-radius:2px;overflow:hidden;opacity:.72;mix-blend-mode:multiply;box-shadow:0 0 0 1px color-mix(in srgb,var(--color-text) 14%,transparent);transition:opacity var(--transition-medium),transform var(--transition-slow)}[data-theme=dark] .project-media[data-media-mode=bauhaus] .project-image-wrapper.media-wrapper{mix-blend-mode:screen}.project-card:hover .project-media[data-media-mode=bauhaus] .project-image-wrapper.media-wrapper{opacity:1;mix-blend-mode:normal;transform:translateY(-2px)}.project-media[data-media-mode=bauhaus] .project-image-overlay{inset:var(--frame-pad);border-radius:2px;z-index:6}.project-media[data-media-mode=parallax]{--frame-pad: 18px;padding:var(--frame-pad);box-sizing:border-box;background:var(--color-bg-secondary);overflow:hidden;isolation:isolate;perspective:900px}.project-media-parallax-layer{position:absolute;inset:-10%;pointer-events:none;will-change:transform}.project-media-parallax-grid{z-index:0;background-image:linear-gradient(color-mix(in srgb,var(--color-text) 8%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--color-text) 8%,transparent) 1px,transparent 1px);background-size:26px 26px;opacity:.9}.project-media-parallax-dots{z-index:1;background-image:radial-gradient(circle,color-mix(in srgb,var(--color-accent) 55%,transparent) 1.5px,transparent 2px);background-size:34px 34px;background-position:17px 17px;opacity:.55}.project-media-parallax-glow{z-index:2;background:radial-gradient(circle at 30% 30%,color-mix(in srgb,var(--color-accent) 20%,transparent) 0%,transparent 45%),radial-gradient(circle at 75% 70%,color-mix(in srgb,var(--showcase-orange) 18%,transparent) 0%,transparent 45%);mix-blend-mode:screen;opacity:.8}[data-theme=light] .project-media-parallax-glow{mix-blend-mode:multiply;opacity:.5}.project-media-parallax-bracket{position:absolute;z-index:5;width:16px;height:16px;border-color:color-mix(in srgb,var(--color-accent) 75%,transparent);pointer-events:none}.project-media-parallax-bracket--tl{top:calc(var(--frame-pad) + 4px);left:calc(var(--frame-pad) + 4px);border-top:1.5px solid;border-left:1.5px solid}.project-media-parallax-bracket--br{bottom:calc(var(--frame-pad) + 4px);right:calc(var(--frame-pad) + 4px);border-bottom:1.5px solid;border-right:1.5px solid}.project-media-parallax-mark{position:absolute;bottom:calc(var(--frame-pad) + 6px);left:calc(var(--frame-pad) + 10px);z-index:5;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:10px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:color-mix(in srgb,var(--color-text) 52%,transparent);pointer-events:none}.project-media[data-media-mode=parallax] .project-image-wrapper.media-wrapper{inset:var(--frame-pad);z-index:3;border-radius:calc(var(--radius-md) - 2px);overflow:hidden;transform-style:preserve-3d;will-change:transform;box-shadow:0 0 0 1px color-mix(in srgb,var(--color-text) 12%,transparent),0 12px 30px #0000001a;transition:box-shadow var(--transition-medium)}.project-card:hover .project-media[data-media-mode=parallax] .project-image-wrapper.media-wrapper{box-shadow:0 0 0 1px color-mix(in srgb,var(--color-accent) 24%,transparent),0 18px 40px #00000026}.project-media[data-media-mode=parallax] .project-image-overlay{inset:var(--frame-pad);border-radius:calc(var(--radius-md) - 2px);z-index:6}.project-media[data-media-mode=specimen]{--frame-pad: 18px;padding:var(--frame-pad);box-sizing:border-box;background:var(--color-bg-secondary);overflow:hidden;isolation:isolate}.project-media-specimen-grid{position:absolute;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(90deg,color-mix(in srgb,var(--color-text) 6%,transparent) 1px,transparent 1px);background-size:7.692% 100%;opacity:.8}.project-media-specimen-glyph{position:absolute;bottom:0;left:50%;transform:translate(-50%,4%);z-index:1;font-family:var(--font-display, "Times New Roman", serif);font-weight:400;font-size:clamp(9rem,44vw,22rem);line-height:.78;letter-spacing:-.08em;color:color-mix(in srgb,var(--color-accent) 85%,transparent);pointer-events:none;font-feature-settings:"lnum";will-change:transform,opacity}[data-theme=dark] .project-media-specimen-glyph{color:color-mix(in srgb,var(--color-accent) 70%,transparent)}.project-media-specimen-baseline{position:absolute;left:calc(var(--frame-pad) + 8px);right:calc(var(--frame-pad) + 8px);bottom:calc(var(--frame-pad) + 32px);height:1px;z-index:2;background:color-mix(in srgb,var(--color-text) 28%,transparent);will-change:transform}.project-media-specimen-meta{position:absolute;z-index:3;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:10px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:color-mix(in srgb,var(--color-text) 50%,transparent);pointer-events:none}.project-media-specimen-meta--top{top:calc(var(--frame-pad) + 6px);left:calc(var(--frame-pad) + 10px)}.project-media-specimen-meta--bottom{bottom:calc(var(--frame-pad) + 8px);right:calc(var(--frame-pad) + 10px)}.project-media[data-media-mode=specimen] .project-image-wrapper.media-wrapper{inset:var(--frame-pad);z-index:4;border-radius:2px;overflow:hidden;opacity:0;transition:opacity var(--transition-slow);pointer-events:none}.project-card:hover .project-media[data-media-mode=specimen] .project-image-wrapper.media-wrapper{opacity:.92;pointer-events:auto}.project-media[data-media-mode=specimen] .project-image-overlay{inset:var(--frame-pad);border-radius:2px;z-index:6}.project-media[data-media-mode=pulse]{--frame-pad: 18px;padding:var(--frame-pad);box-sizing:border-box;background:var(--color-bg-secondary);overflow:hidden;isolation:isolate}.project-media-pulse-base{position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--color-accent) 12%,transparent) 0%,transparent 55%)}.project-media-pulse-wave{position:absolute;top:50%;left:50%;width:30%;aspect-ratio:1;border-radius:50%;border:1px solid color-mix(in srgb,var(--color-accent) 65%,transparent);transform:translate(-50%,-50%) scale(.1);opacity:0;z-index:3;pointer-events:none;animation:pulse-emit 3.6s cubic-bezier(.22,.61,.36,1) infinite}.project-media-pulse-wave--1{animation-delay:0s}.project-media-pulse-wave--2{animation-delay:.9s}.project-media-pulse-wave--3{animation-delay:1.8s}.project-media-pulse-wave--4{animation-delay:2.7s;border-color:color-mix(in srgb,var(--showcase-orange) 60%,transparent)}@keyframes pulse-emit{0%{transform:translate(-50%,-50%) scale(.1);opacity:0}15%{opacity:.85}to{transform:translate(-50%,-50%) scale(3.2);opacity:0}}.project-media-pulse-sweep{position:absolute;top:50%;left:50%;width:140%;aspect-ratio:1;transform:translate(-50%,-50%);z-index:2;pointer-events:none;border-radius:50%;background:conic-gradient(from 0deg,transparent 0deg,color-mix(in srgb,var(--color-accent) 25%,transparent) 22deg,transparent 60deg,transparent 360deg);mix-blend-mode:screen;opacity:.7;animation:pulse-sweep 6s linear infinite}[data-theme=light] .project-media-pulse-sweep{mix-blend-mode:multiply;opacity:.45}@keyframes pulse-sweep{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.project-media-pulse-core{position:absolute;top:50%;left:50%;width:8px;height:8px;border-radius:50%;background:var(--color-accent);transform:translate(-50%,-50%);z-index:4;box-shadow:0 0 18px color-mix(in srgb,var(--color-accent) 65%,transparent);pointer-events:none;animation:pulse-core 1.8s ease-in-out infinite}@keyframes pulse-core{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.35)}}.project-media-pulse-label{position:absolute;bottom:calc(var(--frame-pad) + 6px);right:calc(var(--frame-pad) + 10px);z-index:5;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:10px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:color-mix(in srgb,var(--color-text) 50%,transparent);pointer-events:none}.project-media[data-media-mode=pulse] .project-image-wrapper.media-wrapper{inset:var(--frame-pad);z-index:1;border-radius:calc(var(--radius-md) - 2px);overflow:hidden;opacity:.55;filter:saturate(.85);box-shadow:0 0 0 1px color-mix(in srgb,var(--color-text) 10%,transparent);transition:opacity var(--transition-medium),filter var(--transition-medium)}.project-card:hover .project-media[data-media-mode=pulse] .project-image-wrapper.media-wrapper{opacity:.82;filter:saturate(1)}.project-media[data-media-mode=pulse] .project-image-overlay{inset:var(--frame-pad);border-radius:calc(var(--radius-md) - 2px);z-index:5}.project-media[data-media-mode=wireframe]{--frame-pad: 18px;padding:var(--frame-pad);box-sizing:border-box;background:var(--color-bg-secondary);overflow:hidden;isolation:isolate}.project-media-wireframe-base{position:absolute;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(color-mix(in srgb,var(--color-text) 6%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--color-text) 6%,transparent) 1px,transparent 1px);background-size:24px 24px;opacity:.75}.project-media-wireframe-cube{position:absolute;top:50%;left:50%;width:46%;aspect-ratio:1;transform:translate(-50%,-50%);z-index:3;pointer-events:none;will-change:transform}.project-media-wireframe-face{position:absolute;inset:0;background:color-mix(in srgb,var(--color-accent) 4%,transparent);border:1px solid color-mix(in srgb,var(--color-accent) 75%,transparent)}.project-media-wireframe-face--top{clip-path:polygon(50% 0%,100% 25%,50% 50%,0% 25%);background:color-mix(in srgb,var(--color-accent) 22%,transparent);border:none;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-accent) 75%,transparent)}.project-media-wireframe-face--left{clip-path:polygon(0% 25%,50% 50%,50% 100%,0% 75%);background:color-mix(in srgb,var(--color-text) 12%,transparent);border:none;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-accent) 70%,transparent)}.project-media-wireframe-face--right{clip-path:polygon(50% 50%,100% 25%,100% 75%,50% 100%);background:color-mix(in srgb,var(--showcase-orange) 14%,transparent);border:none;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-accent) 70%,transparent)}.project-media-wireframe-edge{position:absolute;background:color-mix(in srgb,var(--color-accent) 70%,transparent);pointer-events:none}.project-media-wireframe-edge--1{top:50%;left:0;width:50%;height:1px;transform-origin:0 0;transform:rotate(-27deg) translateY(-1px)}.project-media-wireframe-edge--2{top:50%;right:0;width:50%;height:1px;transform-origin:100% 0;transform:rotate(27deg) translateY(-1px)}.project-media-wireframe-edge--3{top:50%;left:50%;width:1px;height:50%;transform:translate(-50%)}.project-media-wireframe-vertex--c{position:absolute;top:50%;left:50%;width:6px;height:6px;border-radius:50%;background:var(--color-accent);transform:translate(-50%,-50%);box-shadow:0 0 8px color-mix(in srgb,var(--color-accent) 55%,transparent)}.project-media-wireframe-axis{position:absolute;z-index:4;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:10px;font-weight:700;letter-spacing:.15em;color:color-mix(in srgb,var(--color-accent) 80%,transparent);pointer-events:none}.project-media-wireframe-axis--x{bottom:calc(var(--frame-pad) + 30%);right:calc(var(--frame-pad) + 16%)}.project-media-wireframe-axis--y{bottom:calc(var(--frame-pad) + 30%);left:calc(var(--frame-pad) + 16%)}.project-media-wireframe-axis--z{top:calc(var(--frame-pad) + 18%);left:50%;transform:translate(-50%)}.project-media-wireframe-mark{position:absolute;bottom:calc(var(--frame-pad) + 6px);left:calc(var(--frame-pad) + 10px);z-index:4;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:10px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:color-mix(in srgb,var(--color-text) 50%,transparent);pointer-events:none}.project-media[data-media-mode=wireframe] .project-image-wrapper.media-wrapper{inset:var(--frame-pad);z-index:1;border-radius:2px;overflow:hidden;opacity:0;pointer-events:none;transition:opacity var(--transition-slow)}.project-card:hover .project-media[data-media-mode=wireframe] .project-image-wrapper.media-wrapper{opacity:.9;pointer-events:auto}.project-media[data-media-mode=wireframe] .project-image-overlay{inset:var(--frame-pad);border-radius:2px;z-index:5}.project-media[data-media-mode=stratum]{--frame-pad: 0;padding:0;box-sizing:border-box;background:var(--color-bg-secondary);overflow:hidden;isolation:isolate}.project-media-stratum-stack{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;pointer-events:none}.project-media-stratum-band{display:block;width:100%;will-change:transform}.project-media-stratum-band--1{flex:.9;background:color-mix(in srgb,var(--color-accent) 88%,transparent)}.project-media-stratum-band--2{flex:.5;background:color-mix(in srgb,var(--color-text) 90%,transparent)}.project-media-stratum-band--3{flex:1.3;background:color-mix(in srgb,var(--showcase-orange) 78%,transparent)}.project-media-stratum-band--4{flex:.7;background:color-mix(in srgb,var(--color-accent) 55%,transparent)}.project-media-stratum-band--5{flex:1.1;background:color-mix(in srgb,var(--color-text) 70%,transparent)}.project-media-stratum-band--6{flex:.6;background:color-mix(in srgb,var(--showcase-orange) 50%,transparent)}.project-media-stratum-rule{position:absolute;left:14px;right:14px;top:50%;height:1px;z-index:3;background:color-mix(in srgb,var(--color-bg) 65%,transparent);mix-blend-mode:difference;pointer-events:none}.project-media-stratum-label{position:absolute;z-index:4;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:10px;font-weight:600;letter-spacing:.35em;text-transform:uppercase;color:color-mix(in srgb,var(--color-bg) 85%,transparent);mix-blend-mode:difference;pointer-events:none}.project-media-stratum-label--top{top:12px;left:14px}.project-media-stratum-label--bottom{bottom:12px;right:14px}.project-media[data-media-mode=stratum] .project-image-wrapper.media-wrapper{inset:0;z-index:2;overflow:hidden;mix-blend-mode:luminosity;opacity:.22;transition:opacity var(--transition-medium),mix-blend-mode var(--transition-medium)}.project-card:hover .project-media[data-media-mode=stratum] .project-image-wrapper.media-wrapper{opacity:.95;mix-blend-mode:normal}.project-media[data-media-mode=stratum] .project-image-overlay{inset:0;z-index:5}.project-media[data-media-mode=mirror]{--frame-pad: 0;padding:0;box-sizing:border-box;background:var(--color-bg-secondary);overflow:hidden;isolation:isolate}.project-media-mirror-base{position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(180deg,color-mix(in srgb,var(--color-bg) 100%,transparent) 0% 50%,color-mix(in srgb,var(--color-text) 8%,var(--color-bg)))}.project-media[data-media-mode=mirror] .project-image-wrapper.media-wrapper{position:absolute;inset:0 0 50%;z-index:2;border-radius:0;overflow:hidden;will-change:transform;transition:filter var(--transition-medium)}.project-media-mirror-reflect{position:absolute;inset:50% 0 0;z-index:2;background-size:cover;background-position:center;transform:scaleY(-1);filter:blur(1.5px) saturate(.7) brightness(.8);opacity:.62;pointer-events:none;will-change:transform;transition:filter var(--transition-medium),opacity var(--transition-medium)}.project-card:hover .project-media-mirror-reflect{opacity:.78;filter:blur(.5px) saturate(.9) brightness(.92)}.project-media-mirror-fade{position:absolute;inset:50% 0 0;z-index:3;pointer-events:none;background:linear-gradient(180deg,color-mix(in srgb,var(--color-bg-secondary) 0%,transparent),color-mix(in srgb,var(--color-bg-secondary) 60%,transparent) 70%,color-mix(in srgb,var(--color-bg-secondary) 95%,transparent))}.project-media-mirror-rule{position:absolute;left:0;right:0;top:50%;height:1px;z-index:4;background:color-mix(in srgb,var(--color-accent) 55%,transparent);pointer-events:none;box-shadow:0 0 12px color-mix(in srgb,var(--color-accent) 40%,transparent)}.project-media-mirror-label{position:absolute;bottom:10px;left:14px;z-index:5;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:10px;font-weight:600;letter-spacing:.35em;text-transform:uppercase;color:color-mix(in srgb,var(--color-text) 55%,transparent);pointer-events:none}.project-media[data-media-mode=mirror] .project-image-overlay{inset:0 0 50%;z-index:6}.project-media[data-media-mode=kinetic]{--frame-pad: 18px;padding:var(--frame-pad);box-sizing:border-box;background:var(--color-bg-secondary);overflow:hidden;isolation:isolate}.project-media-kinetic-base{position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--color-accent) 10%,transparent) 0%,transparent 58%)}.project-media-kinetic-svg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:3;will-change:transform}.project-media-kinetic-svg--outer{width:92%;aspect-ratio:1;animation:kinetic-rotate 34s linear infinite}.project-media-kinetic-svg--inner{width:60%;aspect-ratio:1;animation:kinetic-rotate 24s linear infinite reverse}.project-media-kinetic-svg text{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:8.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;fill:color-mix(in srgb,var(--color-text) 70%,transparent)}.project-media-kinetic-svg--inner text{fill:color-mix(in srgb,var(--color-accent) 85%,transparent);font-size:7.5px}@keyframes kinetic-rotate{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.project-media-kinetic-core{position:absolute;top:50%;left:50%;width:6px;height:6px;border-radius:50%;background:var(--color-accent);transform:translate(-50%,-50%);box-shadow:0 0 14px color-mix(in srgb,var(--color-accent) 60%,transparent);z-index:4;pointer-events:none}.project-media[data-media-mode=kinetic] .project-image-wrapper.media-wrapper{position:absolute;top:50%;left:50%;width:34%;aspect-ratio:1;transform:translate(-50%,-50%);z-index:2;border-radius:50%;overflow:hidden;box-shadow:0 0 0 1px color-mix(in srgb,var(--color-text) 14%,transparent),0 8px 24px #0000001a;transition:transform var(--transition-slow),box-shadow var(--transition-medium)}.project-card:hover .project-media[data-media-mode=kinetic] .project-image-wrapper.media-wrapper{transform:translate(-50%,-50%) scale(1.04);box-shadow:0 0 0 1px color-mix(in srgb,var(--color-accent) 28%,transparent),0 14px 32px #00000026}.project-media[data-media-mode=kinetic] .project-image-overlay{position:absolute;width:34%;aspect-ratio:1;transform:translate(-50%,-50%);inset:auto;border-radius:50%;z-index:5}@media(prefers-reduced-motion:reduce){.project-media-weave-layer--a,.project-media-weave-layer--b,.project-media-weave-layer--c{animation:none!important}.project-media-trace-edge--top,.project-media-trace-edge--bottom{transform:scaleX(1)!important}.project-media-trace-edge--left,.project-media-trace-edge--right{transform:scaleY(1)!important}.project-media-trace-mark{opacity:1!important;transform:scale(1)!important}.project-media-trace-cross{opacity:.85!important;transform:translate(-50%,-50%)!important}.project-media-magnetic-layer,.project-media-magnetic-bracket,.project-media-magnetic-index,.project-media-stencil-gradient,.project-media-stencil-shard{animation:none!important}.project-media-ledger-label{opacity:1!important}.project-media-ledger-spine{transform:scaleY(1)!important}.project-media-ledger-tick{transform:scaleX(1)!important}.project-media-orbit-ring,.project-media-crystal-facet,.project-media-crystal-ring,.project-media-monolith-col,.project-media-spotlight-light{animation:none!important;transform:translate(-50%,-50%)!important}.project-media-orbit-ring--xl,.project-media-orbit-ring--lg,.project-media-orbit-ring--md{transform:translate(-50%,-50%)!important}.project-media-monolith-col{transform:none!important}.project-media-terminal-caret{animation:none!important;opacity:.7}.project-media-outline-edge--top,.project-media-outline-edge--bottom{transform:scaleX(1)!important}.project-media-outline-edge--left,.project-media-outline-edge--right{transform:scaleY(1)!important}.project-media-outline-tick,.project-media-outline-cross,.project-media-outline-dim,.project-media-outline-label,.project-media-specimen-glyph,.project-media-specimen-meta,.project-media-bauhaus-shape{opacity:1!important;transform:none!important}.project-media-specimen-baseline{transform:scaleX(1)!important}.project-media-contour-lines--a,.project-media-contour-lines--b,.project-media-parallax-layer{animation:none!important;transform:none!important}.project-media-pulse-wave,.project-media-pulse-sweep,.project-media-pulse-core,.project-media-kinetic-svg--outer,.project-media-kinetic-svg--inner{animation:none!important}.project-media-pulse-wave{opacity:.35!important;transform:translate(-50%,-50%) scale(1.8)!important}.project-media-pulse-core{transform:translate(-50%,-50%)!important}.project-media-stratum-band{transform:scaleX(1)!important}.project-media-wireframe-cube{opacity:1!important;transform:translate(-50%,-50%)!important}}.project-content{padding:1.25rem;min-height:9rem;display:flex;flex-direction:column;flex:1;background:var(--primitive-white, #fff);font-family:var(--font-body)}:root[data-theme=dark] .project-content{background:var(--color-bg-secondary)}.project-content-title{font-family:var(--font-body);font-size:24px;font-weight:var(--fw-semibold);line-height:1.2;letter-spacing:normal;color:var(--color-text);margin:0 0 .75rem}.project-content-desc{font-family:var(--font-body);font-size:1rem;font-weight:var(--fw-medium);line-height:1.5;color:var(--color-text-muted);margin:0}.project-content-meta{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-sm);margin:0;font-family:var(--font-body);font-size:var(--text-caption);color:var(--color-text-muted);letter-spacing:var(--ls-meta)}.project-content-meta--editing{margin-top:.5rem}.project-content-category{font-weight:var(--fw-medium)}.project-content-year{opacity:.8}.project-content-labels{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 .875rem}.project-content-label{display:inline-flex;align-items:center;border:1px solid var(--color-border);background:var(--color-bg-secondary);color:var(--color-text-muted);padding:.3rem .85rem;border-radius:999px;font-family:var(--font-body);font-size:var(--text-caption);font-weight:var(--fw-medium);line-height:1.2;letter-spacing:normal;text-transform:none}.project-content-labels--editing{display:flex;flex-wrap:wrap;gap:.35rem}.project-content-label--editing{display:inline-flex;align-items:center;padding:.15rem .35rem .15rem .55rem;gap:.25rem;text-transform:none;letter-spacing:0;font-size:.72rem;background:var(--color-accent-soft);border-radius:999px}.project-content-label--editing:not(:last-child):after{content:none}.project-content-label-input{background:transparent;border:none;outline:none;font:inherit;color:inherit;width:7rem;padding:0}.project-content-label-remove{background:transparent;border:none;color:var(--color-text-muted);cursor:pointer;font-size:1rem;line-height:1;padding:0 .2rem;border-radius:999px;transition:color var(--transition-fast),background var(--transition-fast)}.project-content-label-remove:hover{color:var(--color-text);background:var(--color-bg)}.project-content-label-add{display:inline-flex;align-items:center;padding:.25rem .65rem;font-family:var(--font-body);font-size:.7rem;font-weight:var(--fw-medium);letter-spacing:.04em;color:var(--color-text-muted);background:transparent;border:1px dashed var(--color-border);border-radius:999px;cursor:pointer;line-height:1.2;transition:color var(--transition-fast),border-color var(--transition-fast)}.project-content-label-add:hover{color:var(--color-accent);border-color:var(--color-accent)}.project-inline-edit{background:transparent;border:1px dashed transparent;border-radius:4px;font:inherit;color:inherit;width:100%;padding:.15rem .3rem;margin:-.15rem -.3rem;outline:none;transition:border-color .2s}.project-inline-edit:hover,.project-inline-edit:focus{border-color:var(--color-accent);background:var(--color-bg-secondary)}.project-inline-edit--small{font-size:inherit}.project-content-desc-input{font-family:var(--font-body);font-size:var(--text-body);line-height:1.5;color:var(--color-text-muted);resize:vertical;min-height:2.6rem;margin:.4rem 0 0;display:block}.project-image-overlay{position:absolute;inset:0;z-index:3;background:#0000008c;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-xs);opacity:0;pointer-events:none;transition:opacity var(--transition-fast);cursor:pointer}.project-card:hover .project-image-overlay{opacity:1;pointer-events:auto}.project-image-overlay-label{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-xs);cursor:pointer;color:inherit}.project-image-file-input{position:absolute;width:.1px;height:.1px;opacity:0;overflow:hidden;z-index:-1}.project-image-overlay.project-image-overlay--pinned{opacity:1;pointer-events:auto}.project-image-overlay-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--spacing-xs);margin-top:var(--spacing-xs);pointer-events:auto}.project-overlay-btn{font:inherit;font-size:var(--text-caption);font-weight:var(--fw-heading);letter-spacing:.08em;text-transform:uppercase;color:#fff;background:#ffffff24;border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:.35rem .8rem;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.project-overlay-btn:hover{background:#ffffff40;border-color:#fff9}.project-image-iframe-input{display:flex;flex-direction:column;gap:var(--spacing-xs);width:min(86%,360px);padding:var(--spacing-sm);background:#0009;border:1px solid rgba(255,255,255,.25);border-radius:var(--radius-md)}.project-image-iframe-input .iframe-file-picker,.project-image-iframe-input .iframe-url-input{width:100%;font:inherit;font-size:var(--text-caption);padding:.4rem .55rem;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.3);background:#fffffff2;color:var(--color-text)}.project-iframe.media-inner{position:absolute;inset:0;width:100%;height:100%;border:0;background:var(--color-bg-secondary);transition:transform var(--transition-slow),filter var(--transition-medium)}.project-card.work-grid-project:hover .project-iframe.media-inner{transform:scale(1.02);filter:brightness(.94)}.project-media[data-fill-media=true]{padding:0!important}.project-media[data-fill-media=true] .project-image-wrapper.media-wrapper{inset:0!important;border-radius:0!important;box-shadow:none!important}.image-overlay-icon{font-size:1.8rem;line-height:1}.image-overlay-text{font-size:var(--text-caption);font-weight:var(--fw-heading);color:#fff;text-transform:uppercase;letter-spacing:.08em}.project-remove-btn{position:absolute;top:var(--spacing-xs);right:var(--spacing-xs);width:28px;height:28px;border-radius:50%;background:#dc2626e6;color:#fff;border:none;font-size:1.1rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:5;transition:transform var(--transition-fast),background var(--transition-fast)}.project-remove-btn:hover{transform:scale(1.1);background:#dc2626}.project-edit-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.4rem;padding:.5rem 1rem .65rem;border-top:1px solid var(--color-border);background:var(--color-bg-secondary);position:relative;z-index:4}.project-url-input{flex:1 0 100%;font-size:.72rem;padding:.3rem .5rem;text-align:left}.project-tag-selector{display:flex;gap:.3rem}.project-tag-btn{padding:.25rem .65rem;border-radius:100px;border:1px solid var(--color-border);background:transparent;color:var(--color-text-muted);font-family:var(--font-body);font-size:.7rem;font-weight:var(--fw-body);cursor:pointer;transition:all var(--transition-fast)}.project-tag-btn:hover{border-color:var(--color-accent);color:var(--color-text)}.project-tag-btn.active{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-accent-contrast)}.project-media-mode-selector{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--font-body);font-size:.7rem;color:var(--color-text-muted)}.project-media-mode-selector select{font:inherit;color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.22rem .4rem;cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast)}.project-media-mode-selector select:hover,.project-media-mode-selector select:focus{border-color:var(--color-accent);outline:none}.project-reorder-controls{display:flex;gap:.25rem}.project-reorder-btn{width:28px;height:28px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text-muted);font-size:.85rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.project-reorder-btn:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent)}.project-reorder-btn:disabled{opacity:.25;cursor:not-allowed}.project-visibility-btn{font:inherit;font-size:.75rem;font-weight:var(--fw-heading);letter-spacing:.04em;padding:.3rem .65rem;border-radius:999px;border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text-muted);cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast),background var(--transition-fast);white-space:nowrap}.project-visibility-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.project-visibility-btn.is-hidden{border-color:color-mix(in srgb,var(--color-accent) 60%,transparent);color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 10%,transparent)}.project-card.is-hidden-from-visitors{opacity:.55;outline:2px dashed color-mix(in srgb,var(--color-accent) 60%,transparent);outline-offset:-2px}.project-card.is-hidden-from-visitors:before{content:"Hidden";position:absolute;top:var(--spacing-xs);left:var(--spacing-xs);z-index:5;font-size:.7rem;font-weight:var(--fw-heading);letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--color-accent);padding:.2rem .55rem;border-radius:999px;pointer-events:none}.project-card--add{border:2px dashed var(--color-border);background:transparent;cursor:pointer;transition:border-color var(--transition-medium),background var(--transition-medium);aspect-ratio:4/3;display:flex;align-items:center;justify-content:center}.project-card--add:hover{border-color:var(--color-accent);background:var(--color-bg-secondary)}.add-project-content{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-lg);text-align:center}.add-project-icon{font-size:2.5rem;font-weight:300;color:var(--color-text-muted);width:56px;height:56px;border-radius:50%;border:2px dashed var(--color-border);display:flex;align-items:center;justify-content:center;transition:border-color var(--transition-medium),color var(--transition-medium)}.project-card--add:hover .add-project-icon{border-color:var(--color-accent);color:var(--color-accent)}.add-project-label{font-family:var(--font-display);font-size:1.15rem;font-weight:var(--fw-heading);color:var(--color-text)}.add-project-hint{font-size:var(--text-caption);color:var(--color-text-muted);max-width:200px;line-height:1.4}@media(min-width:1920px){.projects-container{max-width:var(--w-work-grid);padding:0 var(--spacing-lg)}.projects-grid{gap:var(--spacing-lg)}}@media(max-width:1535.98px){.projects-container{padding:0 var(--spacing-lg)}.projects-grid{gap:var(--spacing-md)}}@media(max-width:1279.98px){.projects-container{padding:0 var(--spacing-lg)}.projects-grid{gap:var(--spacing-md)}}@media(max-width:1023.98px){.projects-container{padding:0 var(--spacing-md)}.projects-grid{grid-template-columns:repeat(2,1fr);gap:var(--spacing-md)}}@media(max-width:767.98px){.projects-container{padding:0 var(--spacing-md)}.projects-grid{grid-template-columns:1fr;gap:var(--spacing-md)}.project-card.work-grid-project{border-radius:var(--radius-md)}.project-media{aspect-ratio:16/10}.project-media[data-media-mode=template],.project-media[data-media-mode=animated],.project-media[data-media-mode=prism],.project-media[data-media-mode=halftone],.project-media[data-media-mode=broadsheet],.project-media[data-media-mode=risograph],.project-media[data-media-mode=aurora],.project-media[data-media-mode=neon],.project-media[data-media-mode=magnetic],.project-media[data-media-mode=stencil],.project-media[data-media-mode=ledger],.project-media[data-media-mode=flux],.project-media[data-media-mode=trace],.project-media[data-media-mode=weave],.project-media[data-media-mode=orbit],.project-media[data-media-mode=spotlight],.project-media[data-media-mode=monolith],.project-media[data-media-mode=crystal],.project-media[data-media-mode=outline],.project-media[data-media-mode=contour],.project-media[data-media-mode=bauhaus],.project-media[data-media-mode=parallax],.project-media[data-media-mode=specimen],.project-media[data-media-mode=pulse],.project-media[data-media-mode=wireframe],.project-media[data-media-mode=kinetic]{--frame-pad: 14px}.project-media-duotone-num{font-size:clamp(7rem,28vw,14rem)}.project-media-broadsheet-year{font-size:clamp(4rem,16vw,8.5rem)}.project-media-neon-year,.project-media-prism-num-value{font-size:1.5rem}}@media(max-width:767.98px){.projects{padding:var(--spacing-xl) 0}.projects-container{padding:0 var(--spacing-md)}.projects-grid{gap:var(--spacing-lg)}.projects-filter-bar{gap:var(--spacing-sm);flex-wrap:wrap}.projects-filter-chip{padding:.5rem .875rem;min-height:36px}.project-url-input,.project-tag-btn,.add-project-hint{font-size:.8125rem}}@media(max-width:480px){.projects-container{padding:0 var(--spacing-sm)}.project-media[data-media-mode=template],.project-media[data-media-mode=animated],.project-media[data-media-mode=prism],.project-media[data-media-mode=halftone],.project-media[data-media-mode=broadsheet],.project-media[data-media-mode=risograph],.project-media[data-media-mode=aurora],.project-media[data-media-mode=neon],.project-media[data-media-mode=magnetic],.project-media[data-media-mode=stencil],.project-media[data-media-mode=ledger],.project-media[data-media-mode=flux],.project-media[data-media-mode=trace],.project-media[data-media-mode=weave],.project-media[data-media-mode=orbit],.project-media[data-media-mode=spotlight],.project-media[data-media-mode=monolith],.project-media[data-media-mode=crystal],.project-media[data-media-mode=outline],.project-media[data-media-mode=contour],.project-media[data-media-mode=bauhaus],.project-media[data-media-mode=parallax],.project-media[data-media-mode=specimen],.project-media[data-media-mode=pulse],.project-media[data-media-mode=wireframe],.project-media[data-media-mode=kinetic]{--frame-pad: 10px}.project-media[data-media-mode=cinema]{--cinema-bar: 10%}.project-media-marquee{--marquee-h: 22px}.projects-header{margin-bottom:var(--spacing-md)}.project-media{aspect-ratio:4/3}}.home-publish-bar{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#141414e6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:12px;z-index:9999;box-shadow:0 8px 32px #0006}.home-publish-btn{padding:.45rem 1rem;border:none;border-radius:8px;font-size:.78rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.home-publish-btn:disabled{opacity:.6;cursor:not-allowed}.home-publish-btn.save-btn{background:#ffffff1f;color:#fff}.home-publish-btn.save-btn:hover:not(:disabled){background:#fff3}.home-publish-btn.push-btn{background:var(--color-accent, #ff584a);color:#fff}.home-publish-btn.push-btn:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px)}.home-publish-error{color:#fca5a5;font-size:.72rem;padding-left:.25rem}@media(max-width:767px){.home-publish-bar{left:var(--spacing-md);right:var(--spacing-md);transform:none;bottom:var(--spacing-md);gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md)}.home-publish-btn{font-size:.875rem;padding:.75rem 1.125rem;min-height:44px;flex:1}.home-publish-error{font-size:.8125rem;flex-basis:100%;padding-left:0}}@media(max-width:360px){.home-publish-bar{flex-direction:column}.home-publish-btn{width:100%}}.abt-anim-text-rotator-wrap{--rotator-size: min(96vw, calc(var(--rotator-box, min(90vw, clamp(720px, 48vw, 880px))) * 1.14));--rotator-inner-radius: calc(var(--rotator-size) * 124 / 720);position:relative;width:var(--rotator-size);height:var(--rotator-size);margin:0 auto;display:flex;justify-content:center;align-items:center;isolation:isolate;cursor:crosshair}.abt-anim-text-rotator{position:absolute;inset:0;transform-origin:50% 50%;will-change:transform}.abt-anim-info{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;pointer-events:none;display:flex;align-items:center;justify-content:center}.abt-anim-info-mark{width:clamp(18px,calc(var(--rotator-size) * .05),46px);height:clamp(18px,calc(var(--rotator-size) * .05),46px);color:var(--color-text-muted);animation:abt-mark-spin 16s linear infinite}@keyframes abt-mark-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.abt-anim-info-mark{animation:none}}.abt-anim-label-w{position:absolute;inset:0;pointer-events:none}.abt-anim-label{position:absolute;top:50%;left:50%;width:50%;height:0;transform-origin:0% 50%;display:flex;align-items:center;justify-content:flex-start;padding-left:var(--rotator-inner-radius)}.abt-anim-label .text-small{font-family:var(--font-body);font-size:clamp(.8rem,calc(var(--rotator-size) * .032),1.9rem);font-weight:var(--fw-medium);letter-spacing:var(--ls-tight);white-space:nowrap;color:var(--color-text-muted);opacity:.16;transform-origin:center;transition:color var(--transition-fast);will-change:opacity,transform;line-height:var(--lh-tight)}.abt-anim-label .text-small.is-lit{color:var(--color-accent)!important;font-family:var(--font-display);font-style:italic;font-weight:var(--fw-body);text-transform:none;letter-spacing:var(--ls-tight);font-size:clamp(1rem,calc(var(--rotator-size) * .0456),2.7rem)}@media(prefers-reduced-motion:reduce){.abt-anim-label .text-small{opacity:1}}@media(max-width:767.98px){.abt-anim-text-rotator-wrap{--rotator-size: min(80vw, 340px);--rotator-inner-radius: calc(var(--rotator-size) * 142 / 720)}.abt-anim-label .text-small{font-size:clamp(.9rem,3.7vw,1.05rem)}.abt-anim-label .text-small.is-lit{font-size:clamp(1.1rem,4.7vw,1.35rem)}}.about-page{padding-top:calc(var(--nav-height) + var(--spacing-md));padding-bottom:0;min-height:100vh}.about-container{max-width:var(--w-content);margin:0 auto;padding:0 var(--spacing-lg);width:100%;box-sizing:border-box}.about-hero{margin-bottom:var(--spacing-xl);text-align:center;min-height:45vh;display:flex;flex-direction:column;justify-content:center;padding:var(--spacing-xl) 0}.about-hero .section-label{opacity:.65}.title-line-wrapper{overflow:hidden;padding-bottom:.1em}.title-line{display:inline-block;vertical-align:top;will-change:transform}.about-title{font-size:var(--text-page-title);font-weight:var(--fw-body);line-height:1.05;letter-spacing:var(--ls-heading);overflow:visible!important;padding-bottom:.4em}.about-title .sans{font-family:var(--font-body);font-weight:var(--fw-medium);color:var(--color-text);display:inline-block;overflow:visible!important}.about-title .serif{font-family:var(--font-display);font-style:italic;font-weight:600;color:var(--color-text);display:inline-block;overflow:visible!important}.about-title .accent{font-family:var(--font-display);font-style:italic;font-weight:600;color:var(--color-accent)}.about-content{display:grid;grid-template-columns:2fr 3fr;row-gap:24px;align-items:start;margin-bottom:var(--spacing-xl);width:100%}.about-content>*{min-width:0}.about-image-wrapper{position:relative;width:100%;max-width:100%}.about-image{position:relative;aspect-ratio:1;border-radius:var(--radius-md);overflow:hidden;background:var(--color-bg-secondary);border:1px solid var(--color-border)}.about-image img,.about-image video{width:100%;height:100%;object-fit:cover}.about-image.editable{cursor:pointer;transition:border-color var(--transition-fast);display:block}.about-image-file-input{position:absolute;width:.1px;height:.1px;opacity:0;overflow:hidden;z-index:-1}.about-image.editable:hover{border-color:var(--color-accent)}.about-image-url-btn{position:absolute;bottom:var(--spacing-sm);left:50%;transform:translate(-50%);z-index:2;padding:6px 12px;font-size:.8rem;font-weight:500;color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;transition:border-color var(--transition-fast)}.about-image-url-btn:hover{border-color:var(--color-accent)}.about-image .image-edit-overlay{position:absolute;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;font-family:var(--font-body);font-weight:var(--fw-body);color:#fff;font-size:var(--text-body-sm);opacity:0;transition:opacity var(--transition-fast)}.about-image.editable:hover .image-edit-overlay{opacity:1}.image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-bg-secondary),var(--color-bg));font-family:var(--font-body);font-weight:var(--fw-body);color:var(--color-text-muted);font-size:var(--text-body)}.edit-mode .image-placeholder{cursor:pointer;border:2px dashed var(--color-accent)}.about-page .edit-mode-indicator{position:fixed;top:calc(var(--nav-height) + var(--spacing-xs));right:var(--spacing-sm);background:var(--color-accent);color:#fff;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);z-index:100;display:flex;flex-direction:column;gap:.25rem;font-family:var(--font-body);font-weight:var(--fw-body);font-size:var(--text-caption)}.about-page .edit-mode-indicator .edit-hint{font-size:.7rem;opacity:.8}.image-decoration{position:absolute;inset:20px -20px -20px 20px;border:2px solid var(--color-accent);border-radius:var(--radius-lg);z-index:-1;opacity:.5}.about-bio{padding-top:0;padding-left:clamp(2rem,4vw,4.5rem);min-width:0;box-sizing:border-box}.bio-heading{font-family:var(--font-body);font-size:clamp(1.2rem,2.5vw,1.5rem);font-weight:var(--fw-medium);letter-spacing:var(--ls-heading);color:var(--color-text);margin-bottom:var(--spacing-sm)}.bio-text{font-family:var(--font-body);font-size:var(--text-body-sm);font-weight:var(--fw-body);line-height:var(--lh-body);letter-spacing:normal;color:var(--color-text-muted);margin-bottom:var(--spacing-sm);max-width:var(--measure)}.bio-cta{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-md);flex-wrap:wrap}.cta-button{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);font-family:var(--font-body);font-size:var(--text-body);font-weight:var(--fw-body);letter-spacing:.02em;border-radius:100px;transition:all var(--transition-medium)}.cta-button.primary{background:var(--color-accent);color:var(--color-accent-contrast)}.cta-button.primary:hover{transform:translateY(-3px);box-shadow:0 20px 40px #0003}[data-theme=dark] .cta-button.primary:hover{box-shadow:0 20px 40px #ff584a4d}.cta-button.secondary{border:1px solid var(--color-border);color:var(--color-text)}.cta-button.secondary:hover{border-color:var(--color-accent);color:var(--color-accent)}.cta-button .arrow{transition:transform var(--transition-fast)}.cta-button:hover .arrow{transform:translate(4px)}.cta-button.primary:hover .arrow{transform:translateY(4px)}.skills-section{padding:var(--spacing-xl) 0 var(--spacing-md)}.about-rotator-stage{display:flex;align-items:center;justify-content:center;padding:0;width:100%;--rotator-box: min(90vw, clamp(720px, 48vw, 880px));height:var(--rotator-box);overflow:visible;overflow-x:clip}.section-heading{font-family:var(--font-body);font-size:clamp(1.4rem,3.2vw,2rem);font-weight:var(--fw-medium);letter-spacing:var(--ls-heading);color:var(--color-text);margin-bottom:var(--spacing-md)}.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md)}.rotator-word-editor{margin-bottom:var(--spacing-lg);padding:var(--spacing-md);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md)}.rotator-word-editor-label{margin:0 0 var(--spacing-sm);font-size:var(--text-caption);color:var(--color-text-muted);letter-spacing:var(--ls-meta)}.rotator-word-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:var(--spacing-sm)}.rotator-word-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.35rem .6rem;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:100px;font-size:var(--text-caption)}.skill-card{padding:var(--spacing-md);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-medium),background var(--transition-medium),transform var(--transition-medium)}.skill-card:hover{border-color:var(--color-accent);background:var(--color-bg-secondary);transform:translateY(-4px)}.skill-category{font-family:var(--font-body);font-size:var(--text-caption);font-weight:var(--fw-body);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--color-accent);margin-bottom:var(--spacing-sm)}.skill-list{list-style:none}.skill-item{font-family:var(--font-body);font-size:var(--text-body-sm);font-weight:var(--fw-body);color:var(--color-text-muted);padding:var(--spacing-xs) 0;transition:color var(--transition-fast)}.skill-card:hover .skill-item{color:var(--color-text)}.experience-section{padding:var(--spacing-xl) 0}.experience-timeline{display:flex;flex-direction:column;gap:var(--spacing-md)}.experience-item{display:grid;grid-template-columns:160px 1fr;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-medium),background var(--transition-medium)}.experience-item:hover{border-color:var(--color-accent);background:var(--color-bg-secondary)}.experience-year{font-family:var(--font-body);font-size:var(--text-body-sm);font-weight:var(--fw-body);letter-spacing:var(--ls-heading);color:var(--color-accent)}.experience-role{font-family:var(--font-body);font-size:clamp(1.1rem,1.8vw,1.35rem);font-style:normal;font-weight:var(--fw-body);letter-spacing:normal;color:var(--color-text);margin-bottom:var(--spacing-xs)}.experience-company{font-family:var(--font-body);font-size:var(--text-body-sm);font-weight:var(--fw-body);color:var(--color-text-muted);margin-bottom:var(--spacing-sm)}.experience-description{font-family:var(--font-body);font-size:var(--text-body-sm);font-weight:var(--fw-body);line-height:var(--lh-body);color:var(--color-text-muted)}@media(min-width:1920px){.about-container{max-width:var(--w-content);padding:0 var(--spacing-lg)}.about-hero{min-height:40vh}.about-content{grid-template-columns:2fr 3fr;gap:var(--spacing-lg)}.skills-grid{gap:var(--spacing-md)}.experience-item{grid-template-columns:200px 1fr;gap:var(--spacing-lg)}}@media(max-width:1535.98px){.about-container{padding:0 var(--spacing-lg)}.about-content{gap:var(--spacing-md)}.experience-item{grid-template-columns:170px 1fr}}@media(max-width:1279.98px){.about-container{padding:0 var(--spacing-lg)}.about-content{gap:var(--spacing-md)}.image-decoration{inset:15px -15px -15px 15px}.experience-item{grid-template-columns:160px 1fr}.about-bio{padding-left:2rem}}@media(max-width:1023.98px){.about-container{padding:0 var(--spacing-md)}.about-content{grid-template-columns:1fr;gap:var(--spacing-md)}.about-bio{padding-left:0}.about-image-wrapper{max-width:380px;margin:0 auto}.skills-grid{grid-template-columns:repeat(2,1fr)}.experience-item{grid-template-columns:1fr;gap:var(--spacing-sm)}}@media(max-width:767.98px){.about-container{padding:0 var(--spacing-md)}.about-hero{min-height:35vh;padding:var(--spacing-lg) 0}.about-image-wrapper{max-width:320px}.image-decoration{inset:12px -12px -12px 12px}.bio-cta{flex-direction:column}.skills-grid{grid-template-columns:1fr}.skill-card{padding:var(--spacing-sm)}}.about-editable{outline:none;border-radius:4px;transition:box-shadow .2s ease}.edit-mode-active .about-editable:hover{box-shadow:0 0 0 1.5px var(--color-accent)}.edit-mode-active .about-editable:focus{box-shadow:0 0 0 2px var(--color-accent);background:#ff584a0a}.about-editable:empty:before{content:attr(data-placeholder);color:var(--color-text-muted);opacity:.5;pointer-events:none}.bio-paragraph-wrapper{position:relative}.bio-paragraph-wrapper:hover>.about-remove-btn{opacity:1}.skill-card-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.experience-item{position:relative}.experience-item:hover>.about-remove-btn{opacity:1}.about-remove-btn{position:absolute;top:0;right:-.25rem;width:22px;height:22px;border-radius:50%;border:none;background:var(--color-error);color:var(--color-accent-contrast);font-size:14px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s;z-index:2;flex-shrink:0}.about-remove-btn:hover{background:var(--color-error);filter:brightness(.9)}.about-remove-btn.small{position:static;width:18px;height:18px;font-size:12px;opacity:0}.about-remove-btn.small.inline{margin-left:.25rem}.skill-card:hover .about-remove-btn.small,.skill-item:hover .about-remove-btn.small.inline,.skill-card-header:hover .about-remove-btn.small{opacity:1}.about-add-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.4rem .85rem;margin-top:.75rem;border:1.5px dashed var(--color-border);border-radius:8px;background:transparent;color:var(--color-text-muted);font-size:.75rem;font-family:var(--font-body);cursor:pointer;transition:all .2s}.about-add-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.about-add-btn.small{padding:.25rem .6rem;font-size:.7rem;margin-top:.5rem}.about-email-edit{margin-top:.75rem}.about-email-edit label{display:flex;align-items:center;gap:.4rem;font-size:.72rem;color:var(--color-text-muted)}.about-inline-input{flex:1;max-width:280px;padding:.3rem .5rem;border:1px solid var(--color-border);border-radius:6px;font-size:.75rem;font-family:var(--font-body);background:var(--color-bg);color:var(--color-text)}.about-align-toggle{display:inline-flex;align-items:center;gap:.4rem;margin-top:.5rem;font-size:.72rem;color:var(--color-text-muted)}.about-align-label{margin-right:.25rem}.about-align-btn{appearance:none;padding:.3rem .7rem;border:1px solid var(--color-border);border-radius:999px;background:var(--color-bg);color:var(--color-text-muted);font:inherit;font-size:.72rem;font-weight:500;cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast),background var(--transition-fast)}.about-align-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.about-align-btn.is-active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-contrast, #fff)}.about-inline-input:focus{outline:none;border-color:var(--color-accent)}.edit-mode-active .skill-item{display:flex;align-items:center}@media(max-width:767.98px){.about-hero{padding:var(--spacing-xl) 0;min-height:auto;margin-bottom:3rem}.about-content{margin-bottom:3rem}.skills-section{padding:2.5rem 0}.about-title{line-height:1.05}.about-content{gap:2.5rem;padding:0 .25rem}.about-image-wrapper{max-width:72%;aspect-ratio:1;margin:.5rem auto 1.5rem}.image-decoration{inset:10px -10px -10px 10px}.bio-heading{line-height:1.15}.bio-text,.bio-paragraph-wrapper .bio-text{font-size:var(--text-body);line-height:1.6}.bio-cta{display:flex;flex-direction:row;flex-wrap:nowrap;gap:var(--spacing-sm);width:100%}.bio-cta>.animated-btn,.bio-cta>a,.bio-cta>button{flex:1 1 0;min-width:0;justify-content:center;text-align:center;white-space:nowrap}.about-rotator-stage{margin:var(--spacing-md) auto}.experience-section{padding:2.5rem 0 3rem}.experience-timeline{gap:.75rem}.experience-item{display:flex;flex-direction:column;grid-template-columns:none;gap:.25rem;padding:1rem 1.125rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md)}.experience-item:last-child{border-bottom:1px solid var(--color-border)}.experience-year{font-size:var(--text-label);font-weight:var(--fw-semibold);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--color-accent);margin-bottom:.25rem}.experience-role{font-size:var(--text-body);font-weight:var(--fw-heading);line-height:var(--lh-snug)}.experience-company{font-size:.8125rem;color:var(--color-text-muted)}.experience-description{font-size:.8125rem;line-height:1.55;color:var(--color-text-muted);margin-top:.25rem}.about-page .edit-mode-indicator .edit-hint{font-size:.8125rem}.about-remove-btn{width:28px;height:28px;font-size:14px}.about-remove-btn.small{width:22px;height:22px;font-size:13px}.about-add-btn{font-size:.8125rem;padding:.5rem .875rem}.about-add-btn.small{font-size:.8125rem;padding:.375rem .75rem}.about-email-edit label{font-size:.8125rem}.about-inline-input{font-size:.875rem;padding:.5rem .625rem}}@media(max-width:480px){.about-container{padding:0 var(--spacing-sm)}.about-image-wrapper{max-width:280px}.image-decoration{inset:10px -10px -10px 10px}.about-hero{min-height:30vh;padding:var(--spacing-md) 0}}@media(max-width:360px){.about-container{padding:0 var(--spacing-sm)}.about-title{font-size:clamp(1.6rem,10vw,2.25rem)}.about-image-wrapper{max-width:240px}}.app{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;opacity:0;transition:opacity .6s ease}.app.loaded{opacity:1}.app.loading{opacity:0;overflow:hidden;height:100vh;height:100dvh}main{flex:1;min-height:0}.footer{flex-shrink:0}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:fadeInUp .6s ease forwards}@media(hover:hover){*{cursor:default}a,button,[role=button]{cursor:pointer}}:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.page-enter{opacity:0;transform:translateY(20px)}.page-enter-active{opacity:1;transform:translateY(0);transition:opacity .4s ease,transform .4s ease}.page-exit{opacity:1}.page-exit-active{opacity:0;transition:opacity .3s ease}@media(max-width:1023.98px){.hide-tablet{display:none!important}}@media(max-width:767.98px){.hide-mobile{display:none!important}}@media(min-width:769px){.show-mobile-only{display:none!important}}@media(min-width:1025px){.show-tablet-only{display:none!important}}.edit-mode-active{position:relative}.edit-mode-active:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--color-accent),transparent);z-index:100;pointer-events:none}.app:has(.edit-panel) main{margin-right:360px;transition:margin-right .3s ease}.app:has(.edit-panel) .footer{margin-right:360px;transition:margin-right .3s ease}@media(max-width:767.98px){.app:has(.edit-panel) main,.app:has(.edit-panel) .footer{margin-right:0}}
