*,*:before,*:after{box-sizing:border-box}html{min-width:320px;overflow-x:clip;background:var(--bg-base);color:var(--text-primary);font-family:var(--font-sans);font-synthesis:none;scroll-behavior:smooth;scroll-padding-top:0}body{margin:0;min-height:100dvh;background:var(--bg-base)}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}button{color:inherit}img,video,canvas,svg{display:block;max-width:100%}:focus-visible{outline:2px solid var(--accent-blue);outline-offset:4px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.page-container{width:min(var(--content-max),calc(100% - (var(--page-gutter) * 2)));margin-inline:auto}.system-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--grid-gutter)}.section{position:relative;padding-block:var(--section-start) var(--section-end)}.type-hero,.type-h2,.type-h3,.type-lead,.type-body,.type-label{margin:0}.type-hero,.type-display{font-size:var(--type-display-size, 64px);font-weight:var(--type-display-weight, 500);line-height:var(--type-display-leading, 1.12);letter-spacing:var(--type-display-tracking, -.035em);text-wrap:balance}.type-h2,.type-section-title{font-size:var(--type-section-title-size, 44px);font-weight:var(--type-section-title-weight, 500);line-height:var(--type-section-title-leading, 1.12);letter-spacing:var(--type-section-title-tracking, -.025em);text-wrap:balance}.type-h2--process{font-size:56px;line-height:1.1;letter-spacing:-.035em}.type-h2--contact{font-size:clamp(56px,4.5vw,64px);font-size:round(nearest,clamp(56px,4.5vw,64px),2px);line-height:1.12;letter-spacing:-.04em}.type-h2--compact{font-size:32px}.type-h3,.type-card-title{font-size:var(--type-card-title-size, 30px);font-weight:var(--type-card-title-weight, 500);line-height:var(--type-card-title-leading, 1.15);letter-spacing:var(--type-card-title-tracking, -.018em);text-wrap:balance}.type-lead{max-width:62ch;color:var(--text-secondary);font-size:20px;font-weight:400;line-height:1.43;letter-spacing:-.01em;text-wrap:pretty}.type-lead--compact{font-size:18px}.type-lead--hero{font-size:20px}.type-body{max-width:62ch;color:var(--text-secondary);font-size:var(--type-body-size, 16px);font-weight:var(--type-body-weight, 400);line-height:var(--type-body-leading, 1.58);text-wrap:pretty}.type-label,.type-meta{color:var(--text-muted);font-family:var(--font-mono);font-size:12px;font-weight:500;line-height:1.3;letter-spacing:.08em;text-transform:uppercase}.type-meta--compact{font-size:10px}.type-hero,.type-h2,.type-h3,.type-lead,.type-body,.type-label{min-inline-size:0;overflow-wrap:anywhere}.heading-gradient{color:transparent;background-image:radial-gradient(circle at 50% 48%,#f4f5fa,#e0e3eed6 60%,#a4abbf6b);background-position:center;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}@supports not (background-clip: text){.heading-gradient{color:var(--text-primary);background:none;-webkit-text-fill-color:var(--text-primary)}}@media(min-width:1024px)and (max-width:1439px){.type-hero{font-size:58px}}@media(min-width:768px)and (max-width:1023px){.system-grid{grid-template-columns:repeat(8,minmax(0,1fr))}.type-hero{font-size:50px}.type-h2{font-size:40px}.type-h3{font-size:28px}}@media(max-width:767px){.system-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.type-hero{font-size:42px}.type-h2--process{font-size:44px}.type-h2--contact{font-size:34px}.type-h2--compact{font-size:28px}.type-h2{font-size:36px}.type-h3{font-size:26px}.type-lead{font-size:18px}.type-lead--compact{font-size:16px}.type-lead--hero{font-size:16px;line-height:1.48}.type-body{font-size:16px}}body{font-weight:400}button{border:0;background:none;cursor:pointer}.type-hero{padding-bottom:2px;line-height:calc(1em + 2px);letter-spacing:-.05em}.type-display{line-height:var(--display-optical-leading, calc(1em + 4px) );letter-spacing:-.05em}.type-h2,.type-section-title{line-height:calc(1em + 2px);letter-spacing:-.04em}.type-h2--process,.type-h2--contact{line-height:calc(1em + 4px);letter-spacing:-.05em}.type-h3,.type-card-title{line-height:calc(1em + 4px);letter-spacing:-.03em}.type-lead{line-height:1.36;letter-spacing:-.018em}.type-body{line-height:1.45;letter-spacing:-.012em}.button{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-control);background:#07090f33;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transition:color var(--motion-ui) var(--ease-standard),border-color var(--motion-ui) var(--ease-standard),background-color var(--motion-ui) var(--ease-standard),transform var(--motion-micro) var(--ease-enter)}.button{min-height:44px;padding-inline:19px;border:1px solid transparent;font-size:14px;font-weight:400}.button-primary{position:relative;isolation:isolate;overflow:visible;border-color:#ecf0ff61;background:#07090f33;color:var(--text-primary);box-shadow:inset 0 0 0 1px #ecf0ff66}.button-primary>span{position:relative;z-index:var(--z-canvas)}.button-secondary{border-color:#ecf0ff61;background:#07090f2e;color:var(--text-secondary)}.button:active{transform:scale(.985)}.text-link{position:relative;display:inline-flex;padding-block:4px;color:var(--text-secondary);font-size:16px;transition:color .36s var(--ease-enter)}.text-link:focus-visible{color:var(--text-primary)}[data-link-tone]{color:var(--text-link-muted);transition:color .36s var(--ease-standard)}[data-link-tone]:hover,[data-link-tone]:focus-visible{color:var(--text-primary)}@media(hover:hover)and (pointer:fine){.button-primary:hover{border-color:#ecf0ff33;color:var(--text-primary)}.button-secondary:hover,.text-link:hover{color:var(--text-primary)}}.spotlight-button{--spotlight-field-size: var(--button-glass-spotlight-size);--spotlight-frame: var(--button-glass-frame);--spotlight-surface: var(--button-glass-surface);--spotlight-surface-hover: var(--button-glass-surface-hover);--spotlight-radius: var(--radius-control);--spotlight-surface-min-height: 42px;--spotlight-surface-gap: 8px;--spotlight-surface-padding-inline: 15px;display:inline-flex;align-items:center;justify-content:center;grid-template-columns:minmax(0,1fr);position:relative;isolation:isolate;overflow:hidden;padding:1px;border:0;border-radius:var(--spotlight-radius);background:var(--spotlight-frame);-webkit-backdrop-filter:var(--button-glass-filter);backdrop-filter:var(--button-glass-filter)}.spotlight-button:before{content:"";position:absolute;z-index:0;inset:0;border-radius:inherit;background:radial-gradient(var(--spotlight-field-size) circle at var(--spotlight-x, 50%) var(--spotlight-y, 50%),rgb(255 255 255 / 1) 0,rgb(225 231 255 / .76) 27%,rgb(154 169 255 / .22) 50%,transparent 72%);opacity:0;transition:opacity .3s var(--ease-standard);pointer-events:none}.spotlight-button__surface{position:relative;z-index:1;display:flex;align-self:stretch;justify-self:stretch;flex:1 1 auto;width:auto;min-width:0;min-height:var(--spotlight-surface-min-height);align-items:center;justify-content:center;gap:var(--spotlight-surface-gap);padding-inline:var(--spotlight-surface-padding-inline);border-radius:inherit;background:var(--spotlight-surface);box-shadow:var(--button-glass-inner-shadow);transition:background-color .3s var(--ease-standard),box-shadow .3s var(--ease-standard);pointer-events:none}@media(hover:hover)and (pointer:fine){.spotlight-button:hover{color:var(--text-primary)}.spotlight-button:hover .spotlight-button__surface{background:var(--spotlight-surface-hover)}.spotlight-button[data-spotlight-active=true]:before{opacity:1}}@media(prefers-reduced-motion:reduce){[data-link-tone]{transition:none}.spotlight-button:before,.spotlight-button__surface{transition:none}}.surface{border:1px solid var(--line-subtle);border-radius:var(--radius-card);background:#090b129e;box-shadow:none}.surface-inset{border:1px solid rgba(236,240,255,.04);border-radius:var(--radius-card);background:var(--surface-inset)}.project-media{overflow:hidden;border-radius:var(--radius-media)}.project-media>img,.project-media>video{width:100%;height:100%;object-fit:cover;outline:1px solid rgba(255,255,255,.1);outline-offset:-1px;transition:transform var(--motion-overlay) var(--ease-enter)}@media(hover:hover)and (pointer:fine){.project-card:hover .project-media>img,.project-card:hover .project-media>video{transform:scale(1.03)}.project-card:hover .project-poster.has-image:after{opacity:1}}.project-meta{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:start;padding:20px 4px 4px}.project-meta>:first-child{min-width:0}.project-title{margin:0 0 7px;font-size:28px;font-weight:400;line-height:1.1;letter-spacing:-.018em;overflow-wrap:anywhere}.project-scope{margin:0;color:var(--text-muted);font-size:14px;line-height:1.4;overflow-wrap:anywhere}.panel-backdrop{position:fixed;z-index:var(--z-backdrop);inset:0;background:var(--overlay-backdrop);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.panel{position:fixed;z-index:var(--z-panel);top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));display:grid;grid-template-rows:72px minmax(0,1fr);width:min(var(--panel-width, 600px),calc(100vw - max(24px,env(safe-area-inset-left) + env(safe-area-inset-right) + 24px)));height:calc(100dvh - max(12px,env(safe-area-inset-top)) - max(12px,env(safe-area-inset-bottom)));overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--bg-raised)}.panel--compact{--panel-width: 440px}@media(max-width:1024px){.panel{top:0;right:0;width:100vw;height:100dvh;grid-template-rows:calc(72px + env(safe-area-inset-top)) minmax(0,1fr);border-radius:0}.panel__body{padding-bottom:env(safe-area-inset-bottom)}}.panel__body{overflow-y:auto;overscroll-behavior:contain}.ui-divider-top,.ui-divider-bottom{position:relative}.ui-divider-top:after,.ui-divider-bottom:after{content:"";position:absolute;right:0;left:0;height:1px;background:linear-gradient(90deg,transparent 0%,var(--line-faint) 8%,var(--line-divider) 22%,var(--line-divider) 78%,var(--line-faint) 92%,transparent 100%);pointer-events:none}.ui-divider-top:after{top:0}.ui-divider-bottom:after{bottom:0}@media(max-width:767px){.project-media{border-radius:20px}.project-scope{font-size:14px}.panel{top:0;right:0;width:100vw;height:100dvh;grid-template-rows:calc(72px + env(safe-area-inset-top)) minmax(0,1fr);border-radius:0}.panel__body{padding-bottom:env(safe-area-inset-bottom)}}.fluid-glass-button{isolation:isolate;overflow:hidden;border-color:#ecf0ff38;background:radial-gradient(80% 160% at 92% 12%,rgb(var(--gradient-violet) / .28),transparent 58%),linear-gradient(112deg,rgb(var(--gradient-blue) / .16),#05060bf5 34%,rgb(var(--gradient-violet) / .22)),#05060b;box-shadow:inset 0 0 0 1px #ffffff26,0 10px 30px -10px #00000080;transition:transform var(--motion-state) var(--ease-enter),z-index 0s}.fluid-glass-button>.fluid-glass-button__canvas{position:absolute;z-index:var(--z-background);inset:0;display:block;overflow:hidden;border-radius:inherit;pointer-events:none}.fluid-glass-button__canvas canvas{display:block;width:100%;height:100%}.fluid-glass-button>span:not(.fluid-glass-button__canvas){z-index:var(--z-content);color:var(--text-primary);text-shadow:0 2px 10px rgba(196,208,255,.3)}.fluid-glass-button:active{transform:scale(.985)}@media(hover:hover)and (pointer:fine){.button-primary.fluid-glass-button:hover{border-color:#ecf0ff38;color:var(--text-primary)}}@media(prefers-reduced-motion:reduce){.fluid-glass-button{box-shadow:inset 0 1px #ffffff70,inset 0 -2px 6px #758de240,0 0 20px -8px #7378ff66}.fluid-glass-button:active{transform:none}}:root{color-scheme:dark;--font-sans: "Geist", Arial, Helvetica, sans-serif;--font-mono: "Geist Mono", ui-monospace, SFMono-Regular, Consolas, monospace;--bg-base: #06070b;--bg-raised: #090b12;--bg-section: #0d1019;--surface-inset: #080808;--surface-1: #111522;--surface-2: #161b2a;--surface-hover: #1c2234;--button-glass-frame: rgb(211 218 240 / .18);--button-glass-surface: rgb(6 7 11 / .86);--button-glass-surface-hover: rgb(8 10 18 / .9);--button-glass-active-frame: rgb(244 245 250 / .96);--button-glass-active-surface: rgb(244 245 250 / .96);--button-glass-active-surface-hover: rgb(244 245 250);--button-glass-filter: blur(10px) saturate(112%);--button-glass-spotlight-size: 96px;--button-glass-inner-shadow: inset 0 1px 0 rgb(255 255 255 / .06), inset 0 0 0 1px rgb(255 255 255 / .025);--text-primary: #f4f5fa;--text-secondary: #757984;--text-muted: #747883;--text-link-muted: rgba(215, 219, 232, .76);--line-faint: rgba(236, 240, 255, .07);--line-subtle: rgba(236, 240, 255, .08);--line: rgba(236, 240, 255, .1);--line-divider: rgba(236, 240, 255, .15);--line-strong: rgba(236, 240, 255, .18);--accent-blue: #4169ff;--gradient-blue: 57 86 238;--gradient-violet: 92 62 221;--accent-indigo: #5a43f2;--accent-violet: #7c3aed;--accent-purple: #9f4bff;--signal-cyan: #4cd8ff;--state-warning: #f6b94a;--state-critical: #ff5b73;--overlay-backdrop: rgba(3, 4, 8, .64);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--space-9: 96px;--space-10: 128px;--space-11: 160px;--space-12: 224px;--section-start: 64px;--section-end: 160px;--content-gap: 96px;--anchor-offset: 72px;--section-gap: var(--section-end);--page-gutter: 64px;--grid-gutter: 24px;--content-max: 1600px;--composition-base-width: 1920px;--composition-scale-divisor: 927.536;--composition-scale-offset: 1.069565;--composition-scale-pixels: clamp(1px, calc(100vw / var(--composition-scale-divisor) - var(--composition-scale-offset) * 1px), 2px);--composition-scale: 1;--radius-control: 999px;--radius-small: 12px;--radius-card: 24px;--radius-media: 28px;--radius-panel: 32px;--radius-group: 36px;--motion-instant: 0ms;--motion-press: .18s;--motion-micro: .26s;--motion-ui: .36s;--motion-state: .52s;--motion-overlay: .9s;--motion-reveal: 1s;--motion-line: 1.15s;--motion-scene: 1.3s;--motion-intro: 1.6s;--motion-stagger: .1s;--motion-stagger-mobile: 70ms;--motion-offset-xs: 4px;--motion-offset-sm: 8px;--motion-offset-md: 16px;--motion-offset-lg: 28px;--ease-standard: cubic-bezier(.22, .61, .36, 1);--ease-enter: cubic-bezier(.77, 0, .175, 1);--ease-exit: cubic-bezier(.4, 0, .6, 1);--z-background: 0;--z-canvas: 1;--z-content: 2;--z-header: 10;--z-backdrop: 40;--z-panel: 50;--z-focus: 60}@supports (zoom: calc(100vw/1px)){:root{--composition-scale: clamp(1, calc(100vw / (var(--composition-scale-divisor) * 1px) - var(--composition-scale-offset)), 2)}}@media(min-width:1024px)and (max-width:1439px){:root{--section-start: 64px;--section-end: 160px;--content-gap: 96px;--anchor-offset: 72px;--page-gutter: 40px;--grid-gutter: 20px}}@media(min-width:768px)and (max-width:1023px){:root{--section-start: 56px;--section-end: 160px;--content-gap: 80px;--anchor-offset: 64px;--page-gutter: 24px;--grid-gutter: 16px}}@media(max-width:767px){:root{--section-start: 48px;--section-end: 128px;--content-gap: 64px;--anchor-offset: 64px;--page-gutter: 16px;--grid-gutter: 12px}}.reveal-ready{--reveal-x: 0px;--reveal-y: var(--motion-offset-md);--reveal-scale: .99;--reveal-duration: var(--motion-reveal);opacity:0;transform:translate3d(var(--reveal-x),var(--reveal-y),0) scale(var(--reveal-scale));transition:opacity var(--reveal-duration) var(--ease-enter),transform var(--reveal-duration) var(--ease-enter)}.reveal-ready.is-visible{opacity:1;transform:translateZ(0) scale(1)}.reveal-ready[data-reveal=left]{--reveal-x: calc(var(--motion-offset-lg) * -1);--reveal-y: 0px}.reveal-ready[data-reveal=right]{--reveal-x: var(--motion-offset-lg);--reveal-y: 0px}.reveal-ready[data-reveal=scale]{--reveal-y: var(--motion-offset-sm);--reveal-scale: .985;--reveal-duration: var(--motion-scene)}.reveal-ready[data-reveal=editorial]{--reveal-y: var(--motion-offset-lg);--reveal-duration: var(--motion-scene)}.reveal-ready[data-reveal=clip]{--reveal-y: var(--motion-offset-sm);clip-path:inset(0 0 100% 0);transition:clip-path var(--motion-scene) var(--ease-enter),opacity var(--motion-reveal) var(--ease-enter),transform var(--motion-scene) var(--ease-enter)}.reveal-ready[data-reveal=clip].is-visible{clip-path:inset(0 0 0 0)}.panel-backdrop,.panel{transition:opacity var(--motion-overlay) var(--ease-enter),transform var(--motion-overlay) var(--ease-enter)}.panel-backdrop[data-state=opening],.panel-backdrop[data-state=open]{opacity:1}.panel-backdrop[data-state=closing],.panel-backdrop[data-state=closed]{opacity:0}.panel[data-state=opening],.panel[data-state=open]{opacity:1;transform:translate(0)}.panel[data-state=closing],.panel[data-state=closed]{opacity:0;transform:translate(var(--motion-offset-md))}.panel-backdrop[data-state=closing],.panel[data-state=closing]{transition-timing-function:var(--ease-exit)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.reveal-ready,.reveal-ready.is-visible,.panel,.panel-backdrop{clip-path:none;opacity:1;transform:none}}html:after{content:"";position:fixed;z-index:2147483647;inset:0;background:#06070b;opacity:0;pointer-events:none;transform:none;transition:opacity var(--motion-overlay) var(--ease-enter);will-change:opacity}html.page-transition-leaving:after,html.page-transition-entering:after{opacity:1;pointer-events:auto}html.page-transition-entering.page-transition-revealing:after{opacity:0;pointer-events:none}@media(prefers-reduced-motion:reduce){html:after,html.page-transition-leaving:after,html.page-transition-entering:after,html.page-transition-entering.page-transition-revealing:after{opacity:0;transform:none;transition:none;will-change:auto}}
