.abstract-shapes[data-astro-cid-4khl2bf4]{position:absolute;inset:0;pointer-events:none;overflow:hidden}.shape-circle[data-astro-cid-4khl2bf4]{position:absolute;width:300px;height:300px;border-radius:50%;border:2px solid var(--color-primary);opacity:.05;top:20%;left:-150px}.shape-bar[data-astro-cid-4khl2bf4]{position:absolute;width:4px;height:400px;background:var(--color-primary);opacity:.03;top:10%;right:15%;transform:rotate(-8deg)}.head[data-astro-cid-4khl2bf4]{position:relative;display:grid;gap:var(--space-6)}.head[data-astro-cid-4khl2bf4]:before{content:"";position:absolute;left:0;top:0;width:3px;height:80px;background:var(--color-primary)}.section-eyebrow[data-astro-cid-4khl2bf4],.title[data-astro-cid-4khl2bf4]{padding-left:var(--space-6)}.desc[data-astro-cid-4khl2bf4]{color:var(--color-text-secondary);max-width:60ch;padding-left:var(--space-6)}.about-grid[data-astro-cid-4khl2bf4]{display:grid;grid-template-columns:1.5fr 1fr;gap:var(--space-12);position:relative}.about-grid[data-astro-cid-4khl2bf4]:before{content:"";position:absolute;width:2px;height:100%;background:linear-gradient(to bottom,transparent,var(--color-border) 20%,var(--color-border) 80%,transparent);left:50%;transform:translate(-50%);opacity:.3}.about-main[data-astro-cid-4khl2bf4]{display:grid;gap:var(--space-6);align-content:start}.about-aside[data-astro-cid-4khl2bf4]{display:grid;gap:var(--space-6)}.bullets[data-astro-cid-4khl2bf4]{list-style:none;padding:0;display:grid;gap:var(--space-2);color:var(--color-text)}.bullets[data-astro-cid-4khl2bf4] li[data-astro-cid-4khl2bf4]{position:relative;padding-left:var(--space-5);line-height:1.6}.bullets[data-astro-cid-4khl2bf4] li[data-astro-cid-4khl2bf4]:before{content:"+";position:absolute;left:0;top:0;font-size:var(--font-size-lg);line-height:1.6;font-weight:700;color:var(--color-primary)}.facts[data-astro-cid-4khl2bf4]{display:grid;gap:0;background:var(--color-background);border:2px solid var(--color-border);padding:0}.facts[data-astro-cid-4khl2bf4] .row[data-astro-cid-4khl2bf4]{display:grid;grid-template-columns:120px 1fr;align-items:baseline;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border)}.facts[data-astro-cid-4khl2bf4] .row[data-astro-cid-4khl2bf4]:last-child{border-bottom:0}dd[data-astro-cid-4khl2bf4]{font-size:var(--font-size-sm)}.link[data-astro-cid-4khl2bf4]{color:var(--color-text);text-decoration:none;font-weight:600;border-bottom:2px solid var(--color-primary);transition:color var(--transition-fast),border-color var(--transition-fast);position:relative;display:inline-block}.link[data-astro-cid-4khl2bf4]:hover{color:var(--color-primary);border-bottom-width:3px}.link[data-astro-cid-4khl2bf4]:active{transform:translateY(1px)}.skills[data-astro-cid-4khl2bf4]{display:grid;gap:var(--space-3)}.tags[data-astro-cid-4khl2bf4]{display:flex;flex-wrap:wrap;gap:var(--space-2)}.tag[data-astro-cid-4khl2bf4]{border:2px solid var(--color-border);background:var(--color-background);padding:var(--space-2) var(--space-3);font-weight:700;transition:border-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast);cursor:default}.tag[data-astro-cid-4khl2bf4]:hover{border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-1px);box-shadow:2px 2px 0 var(--color-primary)}@media (max-width: 768px){.about-grid[data-astro-cid-4khl2bf4]{grid-template-columns:1fr;gap:var(--space-8)}.facts[data-astro-cid-4khl2bf4] .row[data-astro-cid-4khl2bf4]{grid-template-columns:100px 1fr;gap:var(--space-2);padding:var(--space-3)}}.cv-sep[data-astro-cid-voowsmg5]{color:var(--color-border-strong);font-weight:700;user-select:none}.section-head[data-astro-cid-ykjc4aql]{position:relative}.section-head-grid[data-astro-cid-ykjc4aql]{display:grid;grid-template-columns:1fr auto;gap:var(--space-8);align-items:start}.section-head-content[data-astro-cid-ykjc4aql]{display:grid;gap:var(--space-4)}.eyebrow-line[data-astro-cid-ykjc4aql]{display:flex;align-items:center;gap:var(--space-4)}.divider-line[data-astro-cid-ykjc4aql]{flex:1;height:2px;background:var(--color-border);position:relative}.divider-line[data-astro-cid-ykjc4aql]:after{content:"";position:absolute;right:0;top:-2px;width:6px;height:6px;background:var(--color-primary)}.desc[data-astro-cid-ykjc4aql]{color:var(--color-text-secondary);font-size:var(--font-size-base);max-width:60ch;line-height:1.6}.section-head-mark[data-astro-cid-ykjc4aql]{width:3px;height:120px;background:linear-gradient(to bottom,var(--color-primary) 0%,var(--color-primary) 50%,transparent 50%,transparent 100%);background-size:100% 8px;position:relative;display:flex;align-items:center;justify-content:center}.mark-text[data-astro-cid-ykjc4aql]{position:absolute;font-size:var(--font-size-2xl);font-weight:700;color:var(--color-primary);transform:rotate(90deg);letter-spacing:.2em}.section-head-mark[data-astro-cid-ykjc4aql]:before{content:"";position:absolute;top:-8px;left:-4px;width:11px;height:11px;border:3px solid var(--color-primary);background:var(--color-background);transform:rotate(45deg)}.section-head-mark[data-astro-cid-ykjc4aql]:after{content:"";position:absolute;bottom:-8px;left:-4px;width:11px;height:11px;border:3px solid var(--color-primary);background:var(--color-background);transform:rotate(45deg)}@media (max-width: 768px){.section-head-grid[data-astro-cid-ykjc4aql]{grid-template-columns:1fr;gap:var(--space-6)}.section-head-mark[data-astro-cid-ykjc4aql]{width:64px;height:3px}}.abstract-shapes[data-astro-cid-4jmlleyw]{position:absolute;inset:0;pointer-events:none;overflow:hidden}.shape-triangle[data-astro-cid-4jmlleyw]{position:absolute;width:0;height:0;border-left:150px solid transparent;border-right:150px solid transparent;border-bottom:260px solid var(--color-primary);opacity:.02;bottom:10%;right:-100px;transform:rotate(25deg)}.shape-dots[data-astro-cid-4jmlleyw]{position:absolute;width:200px;height:200px;top:20%;left:10%;opacity:.04;background-image:radial-gradient(var(--color-primary) 2px,transparent 2px);background-size:20px 20px}.contact-min[data-astro-cid-4jmlleyw]{padding-top:var(--space-24);padding-bottom:var(--space-24)}.contact-grid[data-astro-cid-4jmlleyw]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-6);margin-top:var(--space-12)}.contact-item[data-astro-cid-4jmlleyw]{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:var(--space-4);padding:var(--space-5);border:2px solid var(--color-border);background:var(--color-background);color:var(--color-text);text-decoration:none;transition:border-color var(--transition-normal),box-shadow var(--transition-normal),transform var(--transition-normal);position:relative}.contact-item[data-astro-cid-4jmlleyw]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:transparent;transition:background var(--transition-normal),width var(--transition-normal)}.contact-item[data-astro-cid-4jmlleyw].primary:before{background:var(--color-primary)}.contact-item[data-astro-cid-4jmlleyw]:hover{border-color:var(--color-primary);box-shadow:4px 4px 0 var(--color-primary);transform:translate(2px)}.contact-item[data-astro-cid-4jmlleyw]:hover:before{width:6px}.contact-item[data-astro-cid-4jmlleyw]:active{transform:translate(0);box-shadow:2px 2px 0 var(--color-primary)}.contact-item[data-astro-cid-4jmlleyw] .icon[data-astro-cid-4jmlleyw]{width:28px;height:28px;display:flex;align-items:center;justify-content:center}.meta[data-astro-cid-4jmlleyw]{display:grid;gap:var(--space-2)}.contact-extra[data-astro-cid-4jmlleyw]{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:var(--space-4);margin-top:var(--space-12);padding-top:var(--space-8);border-top:2px solid var(--color-border)}.contact-extra[data-astro-cid-4jmlleyw] .swiss-caption[data-astro-cid-4jmlleyw]{text-align:left}@media (max-width: 768px){.contact-min[data-astro-cid-4jmlleyw]{padding-top:var(--space-16);padding-bottom:var(--space-16)}.contact-grid[data-astro-cid-4jmlleyw]{grid-template-columns:1fr}.contact-extra[data-astro-cid-4jmlleyw]{grid-template-columns:1fr;gap:var(--space-3)}}.footer-min[data-astro-cid-k2f5zb5c]{background:var(--color-background);color:var(--color-text);border-top:4px solid var(--color-text);padding:var(--space-12) 0;margin-top:var(--space-24);position:relative;overflow:hidden}.abstract-bg[data-astro-cid-k2f5zb5c]{position:absolute;inset:0;background-image:repeating-linear-gradient(45deg,transparent,transparent 35px,var(--color-border) 35px,var(--color-border) 36px),repeating-linear-gradient(-45deg,transparent,transparent 35px,var(--color-border) 35px,var(--color-border) 36px);opacity:.1;pointer-events:none}.row[data-astro-cid-k2f5zb5c]{display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--space-8);position:relative}.brand-section[data-astro-cid-k2f5zb5c]{display:flex;flex-direction:column;gap:var(--space-2)}.brand-text[data-astro-cid-k2f5zb5c]{font-size:var(--font-size-base);font-weight:700;color:var(--color-text);letter-spacing:.02em}.copyright[data-astro-cid-k2f5zb5c]{font-size:var(--font-size-xs);color:var(--color-text-tertiary);letter-spacing:.05em}.links[data-astro-cid-k2f5zb5c]{display:inline-flex;gap:var(--space-6)}.links[data-astro-cid-k2f5zb5c] a[data-astro-cid-k2f5zb5c]{color:var(--color-text-tertiary);text-decoration:none;font-weight:700;transition:color var(--transition-normal);position:relative}.links[data-astro-cid-k2f5zb5c] a[data-astro-cid-k2f5zb5c]:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:1px;background:var(--color-primary);transform:scaleX(0);transition:transform var(--transition-normal)}.links[data-astro-cid-k2f5zb5c] a[data-astro-cid-k2f5zb5c]:hover{color:var(--color-text)}.links[data-astro-cid-k2f5zb5c] a[data-astro-cid-k2f5zb5c]:hover:after{transform:scaleX(1)}@media (max-width: 640px){.row[data-astro-cid-k2f5zb5c]{grid-template-columns:1fr;gap:var(--space-4)}.links[data-astro-cid-k2f5zb5c]{gap:var(--space-4)}}.hero-full[data-astro-cid-zi4ldr3x]{position:relative;min-height:100vh;min-height:100svh;display:grid;place-items:center;padding-top:64px;background:var(--color-background);overflow:hidden}.hero-bg-shapes[data-astro-cid-zi4ldr3x]{position:absolute;inset:0;pointer-events:none;z-index:0}.shape[data-astro-cid-zi4ldr3x]{position:absolute;background:var(--color-primary);opacity:.03}.shape-1[data-astro-cid-zi4ldr3x]{width:400px;height:400px;top:-200px;right:-100px;transform:rotate(45deg);animation:float1 22s cubic-bezier(.22,1,.36,1) infinite}.shape-2[data-astro-cid-zi4ldr3x]{width:200px;height:200px;bottom:100px;left:-50px;animation:float2 18s cubic-bezier(.22,1,.36,1) infinite 4s}.shape-3[data-astro-cid-zi4ldr3x]{width:120px;height:600px;top:50%;right:20%;transform:translateY(-50%) rotate(12deg);animation:float3 28s cubic-bezier(.22,1,.36,1) infinite 8s}.grid-overlay[data-astro-cid-zi4ldr3x]{position:absolute;inset:0;background-image:repeating-linear-gradient(0deg,transparent,transparent 79px,var(--color-border) 79px,var(--color-border) 80px),repeating-linear-gradient(90deg,transparent,transparent 79px,var(--color-border) 79px,var(--color-border) 80px);opacity:.15;will-change:background-position;animation:grid-drift 120s linear infinite}.rule-overlay[data-astro-cid-zi4ldr3x]{position:absolute;inset:0;background-image:repeating-linear-gradient(45deg,transparent,transparent 22px,var(--color-border) 22px,var(--color-border) 23px),repeating-linear-gradient(-45deg,transparent,transparent 22px,var(--color-border) 22px,var(--color-border) 23px);opacity:.035;will-change:background-position;animation:rules-drift 90s linear infinite}@keyframes float1{0%,to{transform:translateY(0) rotate(45deg)}50%{transform:translateY(-24px) rotate(47deg)}}@keyframes float2{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes float3{0%,to{transform:translateY(-50%) rotate(12deg)}50%{transform:translateY(calc(-50% - 18px)) rotate(13deg)}}@keyframes grid-drift{0%{background-position:0 0,0 0}to{background-position:0 80px,80px 0}}@keyframes rules-drift{0%{background-position:0 0,0 0}to{background-position:60px 60px,-60px -60px}}.hero-full[data-astro-cid-zi4ldr3x]:before{content:"";position:absolute;top:80px;left:var(--container-padding);width:32px;height:3px;background:var(--color-primary)}.hero-full[data-astro-cid-zi4ldr3x]:after{content:"";position:absolute;top:80px;left:var(--container-padding);width:3px;height:32px;background:var(--color-primary)}.hero-center[data-astro-cid-zi4ldr3x]{width:100%;position:relative;z-index:1}.hero-grid[data-astro-cid-zi4ldr3x]{display:grid;grid-template-columns:1fr 280px;gap:var(--space-12);align-items:center}.hero-content[data-astro-cid-zi4ldr3x]{display:grid;gap:var(--space-8)}.stack[data-astro-cid-zi4ldr3x]{display:grid;gap:var(--space-6);align-content:center;justify-items:start;position:relative}.eyebrow-wrap[data-astro-cid-zi4ldr3x]{display:flex;align-items:center;gap:var(--space-8);width:100%}.hero-rule[data-astro-cid-zi4ldr3x]{width:64px;height:3px;background:var(--color-primary);margin:var(--space-2) 0}.title[data-astro-cid-zi4ldr3x]{font-family:var(--font-heading);font-size:clamp(3rem,8vw,6rem);font-weight:700;line-height:.85;letter-spacing:-.04em;color:var(--color-text);display:flex;flex-direction:column;gap:var(--space-2)}.title-line[data-astro-cid-zi4ldr3x]{display:block;position:relative}.title-line[data-astro-cid-zi4ldr3x]:first-child{margin-left:-.02em}.title-line[data-astro-cid-zi4ldr3x]:last-child{margin-left:.08em;font-weight:300;opacity:.7}.lead[data-astro-cid-zi4ldr3x]{max-width:32ch;color:var(--color-text);font-size:var(--font-size-lg);line-height:1.6;letter-spacing:-.011em}.actions[data-astro-cid-zi4ldr3x]{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap}.hero-aside[data-astro-cid-zi4ldr3x]{display:flex;flex-direction:column;gap:var(--space-4);align-items:flex-start;padding:var(--space-6);border-left:2px solid var(--color-border);position:relative}@media (max-width: 900px){.hero-grid[data-astro-cid-zi4ldr3x]{grid-template-columns:1fr;gap:var(--space-8)}.hero-aside[data-astro-cid-zi4ldr3x]{border-left:none;border-top:2px solid var(--color-border);padding:var(--space-5) 0 0 0}.title[data-astro-cid-zi4ldr3x]{max-width:14ch;font-size:var(--font-size-5xl)}.hero-full[data-astro-cid-zi4ldr3x]{padding-top:64px}}@media (prefers-reduced-motion: reduce){.grid-overlay[data-astro-cid-zi4ldr3x],.rule-overlay[data-astro-cid-zi4ldr3x]{animation:none!important}}.nav-swiss[data-astro-cid-526kr6un]{position:fixed;inset:0 0 auto;z-index:var(--z-nav);background:rgba(var(--color-background-rgb),.92);border-bottom:2px solid var(--color-border);backdrop-filter:blur(8px) saturate(110%);transition:background var(--transition-normal),border-color var(--transition-normal),box-shadow var(--transition-normal)}.nav-swiss[data-astro-cid-526kr6un].scrolled{background:rgba(var(--color-background-rgb),.97);border-bottom-color:var(--color-border-strong);box-shadow:var(--shadow-sm)}.nav-row[data-astro-cid-526kr6un]{height:64px;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:var(--space-6)}.brand[data-astro-cid-526kr6un]{text-decoration:none;color:var(--color-text);font-weight:700;font-size:var(--font-size-sm);transition:color var(--transition-normal),transform var(--transition-normal);display:inline-block}.brand[data-astro-cid-526kr6un]:hover{color:var(--color-primary);transform:scale(1.02)}.brand[data-astro-cid-526kr6un]:active{transform:scale(.98)}.nav-links[data-astro-cid-526kr6un]{display:inline-flex;align-items:center;gap:var(--space-6);padding:0;list-style:none}.nav-link[data-astro-cid-526kr6un]{font-weight:700;color:var(--color-text-secondary);text-decoration:none;position:relative;padding:var(--space-2) 0;transition:color var(--transition-normal)}.nav-link[data-astro-cid-526kr6un]:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--color-primary);transform:scaleX(0);transition:transform var(--transition-normal)}.nav-link[data-astro-cid-526kr6un]:hover,.nav-link[data-astro-cid-526kr6un][aria-current=page]{color:var(--color-text)}.nav-link[data-astro-cid-526kr6un][aria-current=page]:after{transform:scaleX(1)}.nav-link[data-astro-cid-526kr6un][aria-current=page]:before{content:"●";position:absolute;left:-12px;color:var(--color-primary);font-size:8px;top:50%;transform:translateY(-50%)}.theme[data-astro-cid-526kr6un]{border:2px solid var(--color-border-strong);background:transparent;color:var(--color-text-secondary);padding:var(--space-2);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:color var(--transition-normal),border-color var(--transition-normal)}.theme[data-astro-cid-526kr6un]:hover{color:var(--color-text);border-color:var(--color-text)}.theme[data-astro-cid-526kr6un] svg[data-astro-cid-526kr6un]{display:none}.theme[data-astro-cid-526kr6un][data-mode=light] .icon-sun[data-astro-cid-526kr6un],.theme[data-astro-cid-526kr6un][data-mode=dark] .icon-moon[data-astro-cid-526kr6un],.theme[data-astro-cid-526kr6un][data-mode=system] .icon-system[data-astro-cid-526kr6un]{display:block}.visually-hidden[data-astro-cid-526kr6un]{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}@media (max-width: 768px){.nav-row[data-astro-cid-526kr6un]{grid-template-columns:1fr auto;gap:var(--space-4)}.nav-links[data-astro-cid-526kr6un]{display:none}}.scroll-progress[data-astro-cid-h62iabfr]{position:fixed;top:64px;left:0;width:100%;height:4px;z-index:calc(var(--z-nav) - 1);background:var(--color-border)}.progress-track[data-astro-cid-h62iabfr]{width:100%;height:100%;position:relative;overflow:hidden}.progress-fill[data-astro-cid-h62iabfr]{height:100%;background:var(--color-primary);width:0%;transition:width .16s cubic-bezier(.22,1,.36,1)}.progress-marker[data-astro-cid-h62iabfr]{position:absolute;top:0;right:0;width:8px;height:8px;background:var(--color-primary);transform:translateY(-2px) rotate(45deg)}@layer tokens,base,components,utilities;@layer tokens{:root{--bg: #ffffff;--text: #000000;--surface: #fafafa;--border: #d4d4d4;--border-strong: #a3a3a3;--accent: #dc0000;--accent-hover: #b30000;--bg-d: #0a0a0a;--text-d: #ffffff;--surface-d: #161616;--border-d: #333333;--border-strong-d: #525252;--accent-d: #ff3333;--accent-hover-d: #ff6666;--color-background: var(--bg);--color-background-rgb: 255, 255, 255;--color-surface: var(--surface);--color-text: var(--text);--color-text-secondary: #737373;--color-text-tertiary: #a3a3a3;--color-border: var(--border);--color-border-strong: var(--border-strong);--color-primary: var(--accent);--color-primary-hover: var(--accent-hover);--ff-sans: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", Arial, sans-serif;--font-heading: var(--ff-sans);--font-family: var(--ff-sans);--font-size-xs: .64rem;--font-size-sm: .8rem;--font-size-base: 1rem;--font-size-lg: 1.25rem;--font-size-xl: 1.563rem;--font-size-2xl: 1.953rem;--font-size-3xl: 2.441rem;--font-size-4xl: 3.052rem;--font-size-5xl: 3.815rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-12: 3rem;--space-16: 4rem;--space-24: 6rem;--container-max-width: 1200px;--container-padding: var(--space-8);--radius-none: 0;--radius-sm: 2px;--transition-fast: .2s cubic-bezier(.22, 1, .36, 1);--transition-normal: .3s cubic-bezier(.22, 1, .36, 1);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .12);--z-base: 1;--z-nav: 100;--z-modal: 200}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--color-background: var(--bg-d);--color-background-rgb: 10, 10, 10;--color-surface: var(--surface-d);--color-text: var(--text-d);--color-text-secondary: #a3a3a3;--color-text-tertiary: #737373;--color-border: var(--border-d);--color-border-strong: var(--border-strong-d);--color-primary: var(--accent-d);--color-primary-hover: var(--accent-hover-d)}}:root[data-theme=dark]{--color-background: var(--bg-d);--color-background-rgb: 10, 10, 10;--color-surface: var(--surface-d);--color-text: var(--text-d);--color-text-secondary: #a3a3a3;--color-text-tertiary: #737373;--color-border: var(--border-d);--color-border-strong: var(--border-strong-d);--color-primary: var(--accent-d);--color-primary-hover: var(--accent-hover-d)}}@layer base{*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-family);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"cv01" 1,"cv02" 1,"cv03" 1,"cv04" 1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{background:var(--color-background);color:var(--color-text);font-size:var(--font-size-base);font-weight:400;line-height:1.5;letter-spacing:-.011em;transition:background-color var(--transition-normal),color var(--transition-normal);overflow-x:hidden}.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}.skip-link:focus{left:var(--space-4);top:var(--space-4);width:auto;height:auto;background:var(--color-background);color:var(--color-text);border:2px solid var(--color-primary);padding:var(--space-2) var(--space-4);z-index:var(--z-modal);outline:none}}@layer components{.swiss-heading-2,.swiss-heading-3,.swiss-heading-4{font-family:var(--font-heading);color:var(--color-text)}.swiss-heading-2{font-size:var(--font-size-5xl);font-weight:700;line-height:1.05;letter-spacing:-.025em}.swiss-heading-3{font-size:var(--font-size-3xl);font-weight:600;line-height:1.15;letter-spacing:-.02em}.swiss-heading-4{font-size:var(--font-size-2xl);font-weight:600;line-height:1.2;letter-spacing:-.015em}.swiss-body{font-size:var(--font-size-base);line-height:1.5;letter-spacing:-.011em}.swiss-caption{font-size:var(--font-size-xs);line-height:1.3;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.08em;font-weight:600}.swiss-container{width:100%;max-width:var(--container-max-width);margin:0 auto;padding:0 var(--container-padding)}.swiss-section{padding:var(--space-24) 0;position:relative}.swiss-section:before{content:"";position:absolute;top:0;left:0;width:2px;height:100%;background:linear-gradient(to bottom,transparent 0%,var(--color-border) 20%,var(--color-border) 80%,transparent 100%);opacity:.5}.swiss-section+.swiss-section{border-top:1px solid var(--color-border)}.section-number{position:absolute;top:var(--space-16);right:var(--container-padding);font-size:10rem;font-weight:700;color:var(--color-primary);opacity:.04;line-height:1;pointer-events:none;z-index:0}.section-number,.proj-index,.proj-card .count{font-variant-numeric:tabular-nums}.proj-index,.proj-card .count{z-index:var(--z-base)}.swiss-button,.cv-link,.gd-tabs,.gd-close,.gd-wrap{border:2px solid var(--color-border-strong)}.swiss-button,.gd-close,.gd-thumb,.cv-link{border-radius:var(--radius-sm)}.swiss-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);font-size:var(--font-size-xs);font-weight:600;text-decoration:none;text-transform:uppercase;letter-spacing:.08em;background:transparent;color:var(--color-text);cursor:pointer;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.swiss-button:hover{border-color:var(--color-text);background:var(--color-text);color:var(--color-background);transform:translateY(-1px);box-shadow:2px 2px 0 var(--color-primary)}.swiss-button:active{transform:translateY(0);box-shadow:none}.swiss-button-primary{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.swiss-button-primary:hover{background-color:var(--color-primary-hover);border-color:var(--color-primary-hover);transform:translateY(-1px);box-shadow:2px 2px 0 var(--color-text)}.swiss-button-primary:active{transform:translateY(0);box-shadow:none}.swiss-button-outline{border-color:var(--color-primary);color:var(--color-primary);background:transparent}.swiss-button-outline:hover{background-color:var(--color-primary);color:#fff;box-shadow:2px 2px 0 var(--color-text)}.swiss-button-outline:active{transform:translateY(1px);box-shadow:none}.swiss-button-sm{padding:var(--space-2) var(--space-4);font-size:.7rem;letter-spacing:.1em}.proj-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:var(--space-12);margin-top:var(--space-12);position:relative}.proj-grid:before{content:"";position:absolute;top:-64px;right:0;width:200px;height:200px;background:var(--color-primary);opacity:.02;transform:rotate(12deg);pointer-events:none;z-index:-1}.proj-card{position:relative;display:grid;grid-template-rows:auto 1fr;background:var(--color-background);border:3px solid var(--color-text);overflow:hidden;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.proj-card:hover{transform:translateY(-4px);box-shadow:8px 8px 0 var(--color-primary)}.proj-card:focus-within{outline:3px solid var(--color-primary);outline-offset:3px}.proj-index{position:absolute;top:var(--space-4);left:var(--space-4);font-size:var(--font-size-4xl);font-weight:700;line-height:1;color:var(--color-primary);letter-spacing:-.02em;text-shadow:0 0 20px rgba(255,255,255,.9);transition:transform var(--transition-fast),text-shadow var(--transition-fast)}.proj-card:hover .proj-index{transform:scale(1.1);text-shadow:0 0 30px rgba(255,255,255,1),0 0 10px var(--color-primary)}.proj-card .cover{position:relative;border:0;padding:0;background:var(--color-surface);cursor:pointer;overflow:hidden;height:350px;width:100%;display:flex;align-items:flex-start;transition:transform var(--transition-fast)}.proj-card:hover .cover{transform:scale(1.01)}.proj-card .cover img{width:100%;height:auto;display:block;filter:grayscale(.3);transition:filter var(--transition-fast)}.proj-card:hover .cover img{filter:grayscale(0)}.proj-card .count{position:absolute;bottom:0;left:0;background:var(--color-primary);color:#fff;font-size:var(--font-size-xs);font-weight:700;padding:var(--space-2) var(--space-4);letter-spacing:.1em;text-transform:uppercase;transition:transform var(--transition-fast),padding var(--transition-fast)}.proj-card:hover .count{transform:scale(1.05);padding:var(--space-2) var(--space-5)}.proj-card .card-body{display:grid;gap:var(--space-3);padding:var(--space-6);background:var(--color-background)}.proj-card .proj-title{margin:0;font-size:var(--font-size-2xl);line-height:1.1;letter-spacing:-.02em}.proj-card .proj-meta{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-sm);text-transform:none;letter-spacing:0;font-weight:400}.proj-card .blurb{color:var(--color-text);margin:var(--space-3) 0;line-height:1.5;font-size:var(--font-size-sm)}.proj-card .tech-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.proj-card .chip{font-size:10px;padding:4px var(--space-2);background:var(--color-text);color:var(--color-background);font-weight:700}.proj-card .mini{display:flex;gap:var(--space-2);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.proj-card .mini .visit{text-decoration:none;flex:1}.proj-card .mini .swiss-button-primary{flex:1;justify-content:center;background:var(--color-text);border-color:var(--color-text);color:var(--color-background)}.proj-card .mini .swiss-button-primary:hover{background:var(--color-primary);border-color:var(--color-primary)}.proj-card .mini .swiss-button-outline{border-color:var(--color-text);color:var(--color-text)}.proj-card .mini .swiss-button-outline:hover{background:var(--color-text);color:var(--color-background)}.proj-card .mini .swiss-button{gap:var(--space-2);font-size:11px;padding:var(--space-2) var(--space-4)}.current-work-section{margin-top:var(--space-24);position:relative}.work-header{display:flex;justify-content:flex-end;margin-bottom:var(--space-4);margin-top:var(--space-8)}.work-badge{padding:var(--space-1) var(--space-4);background:var(--color-primary);color:#fff;font-weight:700;animation:pulseBadge 2s ease-in-out infinite}@keyframes pulseBadge{0%,to{opacity:1}50%{opacity:.6}}.divider-accent{position:absolute;left:50%;top:50%;width:24px;height:24px;border:3px solid var(--color-primary);transform:translate(-50%,-50%) rotate(45deg)}.current-work-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:var(--space-6)}.current-work-card{position:relative;display:grid;background:var(--color-background);border:2px solid var(--color-border);overflow:hidden;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);gap:var(--space-4);padding:var(--space-5);grid-template-rows:auto auto 1fr auto}.current-work-card:hover{border-color:var(--color-primary);box-shadow:4px 4px 0 var(--color-primary);transform:translateY(-2px)}.current-work-card .work-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3)}.current-work-card .work-title{font-family:var(--font-heading);font-size:var(--font-size-lg);font-weight:700;color:var(--color-text);margin:0;flex:1;letter-spacing:-.015em}.current-work-card .work-description{color:var(--color-text);line-height:1.6;margin:0}.current-work-card .work-topics{display:flex;flex-wrap:wrap;gap:var(--space-2)}.current-work-card .work-topic{padding:var(--space-1) var(--space-3);border:1px solid var(--color-border);color:var(--color-text-tertiary);font-weight:700;transition:border-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast),background-color var(--transition-fast);cursor:default}.current-work-card .work-topic:hover{border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-1px);background-color:var(--color-surface)}.current-work-card .work-meta{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-2)}.current-work-card .work-stats{display:flex;align-items:center;gap:.5rem;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.current-work-card .lang{display:inline-flex;align-items:center;gap:.35rem}.current-work-card .dot{width:8px;height:8px;border-radius:50%;background:var(--color-primary);display:inline-block}.current-work-card .sep{opacity:.5}.loading-spinner,.error-message{grid-column:1 / -1;text-align:center;padding:var(--space-12);color:var(--color-text-secondary);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.08em;border:2px solid var(--color-border);background:var(--color-surface)}.loading-spinner:before{content:"";display:inline-block;width:16px;height:16px;border:2px solid var(--color-border-strong);border-top-color:var(--color-primary);border-radius:50%;animation:spin .9s linear infinite;margin-right:var(--space-2);vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}.section-divider{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--space-8);margin-bottom:var(--space-16);position:relative;animation:fadeInUp .8s cubic-bezier(.22,1,.36,1);padding:var(--space-8) 0}.section-divider:after{content:attr(data-section-number);position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:12rem;font-weight:700;color:var(--color-text);opacity:.02;line-height:1;font-variant-numeric:tabular-nums;pointer-events:none;z-index:-1}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.section-divider:before{content:"";position:absolute;left:0;top:50%;width:8px;height:8px;background:var(--color-primary);transform:translateY(-50%) rotate(45deg)}.section-divider h3{color:var(--color-text);grid-column:2;white-space:nowrap;position:relative;padding:0 var(--space-4)}.section-divider h3:before{content:"[";position:absolute;left:0;color:var(--color-primary);font-weight:400}.section-divider h3:after{content:"]";position:absolute;right:0;color:var(--color-primary);font-weight:400}.section-divider .divider-line{height:4px;background-color:var(--color-text);position:relative}.gd::backdrop{background:#000000d9;backdrop-filter:blur(8px)}.gd{border:0;padding:0;width:min(1200px,94vw);height:min(90dvh,900px);background:transparent;margin:auto}.gd,.gd-wrap{border-radius:var(--radius-none)}.gd-wrap,.gd-head,.gd-foot{background:var(--color-background)}.gd-tab,.gd-close{transition:all var(--transition-fast)}.gd-wrap{position:relative;width:100%;height:100%;display:grid;grid-template-rows:auto 1fr auto;box-shadow:var(--shadow-xl);overflow:hidden}.gd-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-bottom:2px solid var(--color-border)}.gd-head-left{display:flex;align-items:center;gap:var(--space-4)}.gd-title{margin:0;font-size:var(--font-size-base);font-weight:700;letter-spacing:-.011em}.gd-meta{color:var(--color-text-secondary);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.08em;font-weight:600}.gd-tabs{display:flex;gap:0}.gd-tab{background:transparent;border:0;padding:var(--space-2) var(--space-4);font-weight:700;color:var(--color-text-secondary);cursor:pointer;border-right:2px solid var(--color-border-strong)}.gd-tab:last-child{border-right:0}.gd-tab:hover{color:var(--color-text);background:var(--color-surface)}.gd-tab.active{background:var(--color-text);color:var(--color-background)}.gd-close{background:var(--color-background);color:var(--color-text);padding:var(--space-2) var(--space-4);cursor:pointer;font-weight:600}.gd-close:hover{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.gd-stage{display:grid;place-items:start center;padding:var(--space-6);background:var(--color-surface);overflow:auto}.gd-wrap .gd-stage img{width:min(100%,1100px);height:auto;display:block;border:1px solid var(--color-border)}.gd-foot{display:grid;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:2px solid var(--color-border)}.gd-thumbs{display:flex;gap:var(--space-1);overflow-x:auto;padding-bottom:var(--space-1);justify-content:center;flex-wrap:wrap}.gd-thumb{border:2px solid var(--color-border);background:var(--color-background);color:var(--color-text);padding:var(--space-2) var(--space-4);cursor:pointer;font-weight:600;transition:all var(--transition-fast)}.gd-thumb:hover{border-color:var(--color-text);background:var(--color-surface)}.gd-thumb.active{border-color:var(--color-primary);background:var(--color-primary);color:#fff}}@layer utilities{.u-caps{text-transform:uppercase}.u-track-08{letter-spacing:.08em}.u-track-10{letter-spacing:.1em}.u-caps-xs{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.08em}.u-caps-xs-10{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.1em}.khl{position:relative;font-weight:700;color:inherit}.khl:after{content:"";position:absolute;bottom:.05em;left:0;right:0;height:2px;background:var(--color-primary)}.cta-link{display:inline-flex;align-items:center;gap:.4em;font-weight:700;color:var(--color-text);text-decoration:none;border-bottom:2px solid var(--color-primary);transition:color var(--transition-fast),gap var(--transition-fast),border-bottom-width var(--transition-fast)}.cta-link:hover{color:var(--color-primary);gap:.6em;border-bottom-width:3px}.cta-link:active{transform:translateY(1px)}.cta-muted{color:var(--color-text-secondary);border-bottom-color:var(--color-border-strong)}.cta-muted:hover{color:var(--color-text)}.section-eyebrow{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.12em;font-weight:700;color:var(--color-text-tertiary)}.section-header-spacing{margin-bottom:var(--space-16)}.scroll-offset{scroll-margin-top:64px}.label{font-size:var(--font-size-xs);text-transform:uppercase;font-weight:700;color:var(--color-text-tertiary)}.label-normal{letter-spacing:.1em}.cv-inline{display:inline-flex;align-items:center;gap:var(--space-3)}.cv-link{color:var(--color-text);text-decoration:none;font-weight:700;padding:var(--space-2) var(--space-3);transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast)}.cv-link:hover{border-color:var(--color-text);background:var(--color-text);color:var(--color-background)}.meta-label{color:var(--color-text-tertiary);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.08em;font-weight:600}.meta-value{color:var(--color-text);font-weight:600;letter-spacing:-.011em}.icon{display:inline-flex;width:24px;height:24px;color:var(--color-text)}.reveal-element{opacity:0;transform:translateY(20px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1)}.reveal-element.revealed,.animate-in{opacity:1!important;transform:none!important}.reveal-group .reveal-child{opacity:0;transform:translateY(16px);transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1);will-change:opacity,transform}.reveal-group.revealed .reveal-child{opacity:1;transform:none}.reveal-group.revealed .reveal-child{transition-delay:calc(var(--reveal-stagger, 80ms) * var(--i, 0))}.reveal-left{transform:translate(-16px)}.reveal-right{transform:translate(16px)}.reveal-up{transform:translateY(16px)}.reveal-zoom{transform:scale(.98)}.reveal-fade{transform:none}.intro-item{opacity:0;transform:translateY(14px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);will-change:opacity,transform}.intro-item.animate-in{opacity:1;transform:translateY(0)}*:focus-visible{outline:3px solid var(--color-primary);outline-offset:4px;outline-style:solid}button:focus-visible,a:focus-visible{position:relative}button:focus-visible:before,a:focus-visible:before{content:"";position:absolute;top:-8px;left:-8px;width:8px;height:8px;background:var(--color-primary);z-index:1}button:focus-visible:after,a:focus-visible:after{content:"";position:absolute;bottom:-8px;right:-8px;width:8px;height:8px;background:var(--color-primary);z-index:1}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}@media (max-width: 768px){:root{--container-padding: var(--space-5);--font-size-5xl: var(--font-size-3xl)}.swiss-section{padding:var(--space-16) 0}.current-work-grid{grid-template-columns:1fr}.section-divider{grid-template-columns:1fr;grid-template-rows:auto auto auto;gap:var(--space-4)}.section-divider h3{grid-column:1;text-align:center}.section-divider .divider-line:first-child{order:-1}}@media (max-width: 640px){:root{--container-padding: var(--space-4);--font-size-4xl: var(--font-size-2xl);--font-size-3xl: var(--font-size-xl)}.proj-grid{grid-template-columns:1fr;gap:var(--space-8)}.proj-card{border-width:2px}.proj-card:hover{transform:translateY(-2px);box-shadow:4px 4px 0 var(--color-primary)}.proj-card .card-body{padding:var(--space-5)}.proj-card .proj-title{font-size:var(--font-size-xl)}}@media print{*,*:before,*:after{background:transparent!important;color:#000!important;box-shadow:none!important}.swiss-section{page-break-inside:avoid;margin:0;padding:1rem 0;border:none!important}}}
