:root{--palette-black: #010101;--palette-mercury: #e4e4e4;--palette-purple-heart: #5f22d9;--palette-christalle: #2c016d;--palette-dusty-gray: #9c9c9c;--palette-galliano: #d7ad0d;--palette-scorpion: #5b5b5b;--palette-viking: #51d6ca;--palette-viking-accessible: #1a857c;--palette-heliotrope: #ac73ff;--palette-persian-red: #c82b28;--palette-mist: #e9e7f0;--color-bg: var(--palette-mist);--color-surface: #ffffff;--color-text: var(--palette-black);--color-text-muted: var(--palette-scorpion);--color-accent: var(--palette-purple-heart);--color-accent-pop: var(--palette-viking);--color-accent-dark: var(--palette-christalle);--color-accent-soft: #f0eaff;--color-link: var(--palette-purple-heart);--color-link-hover: var(--palette-christalle);--color-border: #d8d4e3;--footer-on-dark-muted: #c5c1d0;--font-sans: "Work Sans", system-ui, sans-serif;--font-display: var(--font-sans);--font-body: var(--font-sans);--weight-normal: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--weight-extrabold: 800;--text-xs: clamp(.75rem, .72rem + .15vw, .8125rem);--text-sm: clamp(.875rem, .84rem + .2vw, .9375rem);--text-base: clamp(1rem, .96rem + .25vw, 1.0625rem);--text-md: clamp(1.125rem, 1.05rem + .4vw, 1.25rem);--text-lg: clamp(1.25rem, 1.1rem + .65vw, 1.5rem);--text-xl: clamp(1.5rem, 1.25rem + 1vw, 1.875rem);--text-2xl: clamp(1.875rem, 1.5rem + 1.4vw, 2.375rem);--text-3xl: clamp(2.25rem, 1.75rem + 2vw, 3rem);--text-4xl: clamp(2.75rem, 2rem + 2.75vw, 3.75rem);--leading-tight: 1.15;--leading-snug: 1.3;--leading-normal: 1.5;--leading-relaxed: 1.6;--measure: 65ch;--measure-narrow: 45ch;--tracking-tight: -.02em;--tracking-normal: 0;--tracking-wide: .04em;--space-xs: .5rem;--space-sm: 1rem;--space-md: 1.5rem;--space-lg: 2.5rem;--space-xl: 4rem;--space-2xl: 6rem;--content-max: 72rem;--radius-sm: .375rem;--radius-md: .75rem;--ease-out: cubic-bezier(.22, 1, .36, 1);--duration-fast: .2s;--duration-normal: .4s}@media(prefers-reduced-motion:reduce){:root{--duration-fast: 0ms;--duration-normal: 0ms}}#footer.site-footer{position:relative;background-color:var(--palette-christalle);color:var(--footer-on-dark-muted);font-size:var(--text-base);font-weight:var(--weight-normal);overflow:hidden}#footer.site-footer:before{content:"";position:absolute;inset:0;background-image:url(/portfolio/assets/images/icons.png);background-repeat:repeat;background-position:center top;background-size:1100px auto;opacity:.3;filter:invert(1) brightness(3.2) contrast(1.05);mix-blend-mode:screen;pointer-events:none;z-index:0}#footer.site-footer>.site-footer__inner{position:relative;z-index:1;max-width:var(--content-max);margin:0 auto;padding:var(--space-xl) var(--space-md) var(--space-lg);text-align:left}.site-footer__grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.75fr) minmax(0,.75fr);gap:var(--space-xl) var(--space-lg);align-items:start;padding-bottom:var(--space-lg);border-bottom:1px solid rgba(228,228,228,.12)}.site-footer__brand{display:inline-flex;align-items:center;gap:var(--space-sm);text-decoration:none;color:inherit;margin-bottom:var(--space-md)}.site-footer__brand:hover{color:inherit}.site-footer__logo{flex-shrink:0;width:3.5rem;height:3.5rem;background-image:url(/portfolio/assets/images/de-logo.png);background-size:contain;background-repeat:no-repeat;background-position:center;opacity:.9}.site-footer__name{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--weight-extrabold);letter-spacing:-.02em;color:var(--palette-viking);line-height:var(--leading-tight)}.site-footer__lead{font-size:var(--text-md);line-height:var(--leading-relaxed);color:var(--palette-mercury);max-width:36ch;margin:0 0 var(--space-md)}.site-footer__actions{display:flex;flex-wrap:wrap;gap:var(--space-sm) var(--space-md)}.site-footer__cta{font-family:var(--font-display);font-size:var(--text-base);font-weight:var(--weight-bold);color:var(--palette-mercury);text-decoration:none;transition:color var(--duration-fast) var(--ease-out)}.site-footer__cta:hover{color:var(--palette-viking)}.site-footer__heading{font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--footer-on-dark-muted);margin:0 0 var(--space-sm)}.site-footer__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55em}.site-footer__list a{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--palette-mercury);text-decoration:none;transition:color var(--duration-fast) var(--ease-out)}.site-footer__list a:hover{color:var(--palette-viking)}.site-footer__meta{padding-top:var(--space-md);display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-sm) var(--space-md);font-size:var(--text-xs);line-height:var(--leading-normal);color:var(--footer-on-dark-muted)}.site-footer__meta p{margin:0;max-width:none}.site-footer--medium>.site-footer__inner--medium,.site-footer--minimal>.site-footer__inner--minimal{position:relative;z-index:1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-sm) var(--space-md);padding:var(--space-md) var(--space-md);max-width:var(--content-max);margin:0 auto}.site-footer__medium-nav{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm)}.site-footer__medium-link{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--palette-mercury);text-decoration:none;transition:color var(--duration-fast) var(--ease-out)}.site-footer__medium-link:hover{color:var(--palette-viking)}.site-footer__medium-sep{color:var(--footer-on-dark-muted);font-size:var(--text-sm);user-select:none}.site-footer__copyright{margin:0;font-size:var(--text-sm);color:var(--footer-on-dark-muted)}.site-footer__minimal-link{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--palette-mercury);text-decoration:none;transition:color var(--duration-fast) var(--ease-out)}.site-footer__minimal-link:hover{color:var(--palette-viking)}@media(max-width:768px){#footer.site-footer>.site-footer__inner{padding-top:var(--space-lg)}.site-footer__grid{grid-template-columns:1fr;gap:var(--space-lg)}.site-footer__meta{flex-direction:column}}
