:root{color-scheme:light dark;--font-sans: "Geist Variable", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;--color-gray: #737373;--color-blue: #171717;--color-text: #171717;--color-secondary-text: #a3a3a3;--color-bg: #ffffff;--color-bg-secondary: #f5f5f5;--color-primary-text: #171717;--color-primary-bg: #ffffff;--color-stroke: #d4d4d4;--color-divider: #e5e5e5;--color-canvas: var(--color-bg);--color-surface: var(--color-primary-bg);--color-surface-raised: #fafafa;--color-surface-hover: var(--color-bg-secondary);--color-border: var(--color-stroke);--color-ink: var(--color-text);--color-ink-muted: #737373;--color-ink-subtle: #737373;--color-accent: var(--color-gray);--color-accent-muted: var(--color-bg-secondary);--color-accent-strong: #525252;--color-success: #2f7d4f;--color-warning: #a76a12;--color-danger: #b13b3f;--color-focus: var(--color-gray);--color-link-text: #737373;--color-link-underline: #d4d4d4;--color-link-hover: var(--color-ink);--color-impact-card: #fafafa;--color-impact-primary: #0a0a0a;--color-header-bg: rgb(255 255 255 / .9);--color-header-border: rgb(229 229 229 / .82);--color-button-primary-text: #ffffff;--color-button-primary-bg: #171717;--color-button-primary-hover: #404040;--color-button-secondary-text: var(--color-text);--color-button-secondary-bg: var(--color-primary-bg);--color-button-secondary-hover-bg: var(--color-surface-hover);--color-button-secondary-border: var(--color-stroke);--color-button-secondary-hover-border: #737373;--color-button-ghost-text: var(--color-text);--color-button-ghost-hover: var(--color-ink);--color-tooltip-bg: #171717;--color-tooltip-text: #ffffff;--color-overlay: rgb(0 0 0 / .48);--selection-bg: #171717;--selection-text: #ffffff;--border-divider: 1px solid var(--color-divider);--space-0-5: .125rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--space-32: 8rem;--space-site-x: clamp(1rem, 4vw, 3rem);--space-section-y: var(--space-12);--space-page-gap: var(--space-12);--space-section-gap: var(--space-12);--space-card-gap: var(--space-4);--space-card-padding-y: var(--space-6);--space-card-padding-x: var(--space-8);--text-step--1: .875rem;--text-step-0: 1rem;--text-step-1: 1.125rem;--text-step-2: 1.5rem;--text-step-3: 2rem;--leading-tight: 1.15;--leading-body: 1.5;--type-h1-size: 16px;--type-h1-line-height: 1.5;--type-h1-weight: 500;--type-h1-letter-spacing: -.025em;--type-h2-size: 16px;--type-h2-line-height: 1.5;--type-h2-weight: 500;--type-h2-letter-spacing: -.025em;--type-body-size: 16px;--type-body-line-height: 1.5;--type-body-weight: 450;--type-body-letter-spacing: -.025em;--type-button-size: 16px;--type-button-line-height: 1.5;--type-button-weight: 450;--type-button-letter-spacing: -.025em;--type-caption-size: 16px;--radius-xs: 1.5rem;--radius-sm: 1.5rem;--radius-md: 1.5rem;--radius-lg: 1.5rem;--radius-xl: 1.5rem;--radius-full: 999px;--shadow-subtle: 0 12px 32px rgb(0 0 0 / .055);--shadow-card: 0 1px 2px rgb(0 0 0 / .025);--shadow-modal: 0 24px 60px rgb(0 0 0 / .16);--shadow-focus: 0 0 0 3px rgb(153 153 153 / .24);--size-content: 37.5rem;--size-copy: 37.5rem;--size-measure: 42rem;--size-contact-trigger: 6rem}@media(prefers-color-scheme:dark){:root{--color-gray: #a3a3a3;--color-text: #ffffff;--color-secondary-text: #a3a3a3;--color-bg: #171717;--color-bg-secondary: #1f1f1f;--color-primary-text: #ffffff;--color-primary-bg: #171717;--color-stroke: #404040;--color-divider: #404040;--color-surface-raised: #1f1f1f;--color-surface-hover: #262626;--color-ink-muted: #a3a3a3;--color-ink-subtle: #a3a3a3;--color-accent-strong: #a3a3a3;--color-link-text: #a3a3a3;--color-link-underline: #525252;--color-link-hover: #fafafa;--color-impact-card: #262626;--color-impact-primary: #fafafa;--color-header-bg: rgb(23 23 23 / .9);--color-header-border: rgb(64 64 64 / .72);--color-button-primary-text: #171717;--color-button-primary-bg: #ffffff;--color-button-primary-hover: #d4d4d4;--color-button-secondary-text: var(--color-text);--color-button-secondary-bg: var(--color-bg-secondary);--color-button-secondary-hover-bg: var(--color-surface-hover);--color-button-secondary-border: var(--color-stroke);--color-button-secondary-hover-border: #737373;--color-button-ghost-text: var(--color-text);--color-button-ghost-hover: #ffffff;--color-tooltip-bg: #ffffff;--color-tooltip-text: #171717;--color-overlay: rgb(0 0 0 / .48);--selection-bg: #ffffff;--selection-text: #171717;--shadow-subtle: 0 14px 34px rgb(0 0 0 / .28);--shadow-card: 0 1px 2px rgb(0 0 0 / .24);--shadow-modal: 0 24px 60px rgb(0 0 0 / .5)}}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-wght-normal.BgDaEnEv.woff2) format("woff2-variations")}@layer base{*,*:before,*:after{box-sizing:border-box}html{min-height:100%;background:var(--color-canvas);color:var(--color-ink);font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}body{min-height:100%;margin:0;background:var(--color-canvas);color:var(--color-ink);font-size:var(--type-body-size);font-weight:var(--type-body-weight);line-height:var(--type-body-line-height);letter-spacing:var(--type-body-letter-spacing)}:where(h1,h2,h3,h4,h5,h6){text-wrap:balance}:where(p,li,dd,figcaption,blockquote){text-wrap:pretty}body.is-scroll-locked{overflow:hidden}a{color:inherit;text-decoration:none}a,button{transition:color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease}a:hover{color:var(--color-link-hover)}img,picture,svg,video{display:block;max-width:100%}button,input,textarea,select{font:inherit}:focus:not(:focus-visible){outline:none}:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}::selection{background:var(--selection-bg);color:var(--selection-text)}::-moz-selection{background:var(--selection-bg);color:var(--selection-text)}@media(prefers-reduced-motion:reduce){a,button{transition:none}}}@layer components{@supports (corner-shape: squircle){:where(.case-card-link,.case-media,.case-visual-trigger,.case-visual-images img,.case-lightbox figure img,.placeholder-block,.impact-item,.testimonial-card,.impact-summary,.project-meta,.callout,.evolution-grid li,.outcome-section,.summary-item,.related-work,.impact-section){corner-shape:squircle}}.site-shell{width:min(var(--size-copy),calc(100% - var(--space-site-x) * 2));margin-inline:auto;padding-block:var(--space-section-y)}.placeholder-page{min-height:100svh;display:grid;align-content:center;gap:var(--space-4)}.placeholder-page>*{max-width:var(--size-measure)}.eyebrow{margin:0;color:var(--color-accent-strong);font-size:var(--type-body-size);font-weight:var(--type-button-weight);line-height:var(--type-body-line-height);letter-spacing:var(--type-body-letter-spacing);font-style:normal}}@layer utilities{.text-h1{color:var(--color-ink);font-size:var(--type-h1-size);font-style:normal;font-weight:var(--type-h1-weight);letter-spacing:var(--type-h1-letter-spacing);line-height:var(--type-h1-line-height);text-align:left}.text-h2{color:var(--color-ink);font-size:var(--type-h2-size);font-style:normal;font-weight:var(--type-h2-weight);letter-spacing:var(--type-h2-letter-spacing);line-height:var(--type-h2-line-height);text-align:left}.text-body{color:var(--color-ink);font-size:var(--type-body-size);font-style:normal;font-weight:var(--type-body-weight);letter-spacing:var(--type-body-letter-spacing);line-height:var(--type-body-line-height);text-align:left}.text-button{color:var(--color-ink);font-size:var(--type-button-size);font-style:normal;font-weight:var(--type-button-weight);letter-spacing:var(--type-button-letter-spacing);line-height:var(--type-button-line-height);text-align:center}.text-balance{text-wrap:balance}.text-pretty{text-wrap:pretty}}a.text-link.text-link,button.text-link-button.text-link-button{color:var(--color-link-text);text-decoration-color:var(--color-link-underline);text-decoration-line:underline;text-decoration-skip-ink:auto;text-decoration-style:solid;text-decoration-thickness:2px;text-underline-offset:2px;transition:color .15s cubic-bezier(.4,0,.2,1),text-decoration-color .15s cubic-bezier(.4,0,.2,1)}a.text-link.text-link:hover,button.text-link-button.text-link-button:hover{color:var(--color-link-hover)}:where(.header-inner,.hero,.case-hero){opacity:0;will-change:opacity,transform,filter;animation:portfolio-reveal .3s cubic-bezier(.17,.55,.55,1) .1s forwards;transform:translateZ(0)}:where(.work-section,.case-section,.placeholder-page){opacity:0;will-change:opacity,transform,filter;animation:portfolio-reveal .4s cubic-bezier(.17,.55,.55,1) .2s forwards;transform:translateZ(0)}:where(.testimonials-section,.case-study-nav){opacity:0;will-change:opacity,transform,filter;animation:portfolio-reveal .4s cubic-bezier(.17,.55,.55,1) .3s forwards;transform:translateZ(0)}.site-footer{opacity:0;will-change:opacity,transform,filter;animation:portfolio-reveal .4s cubic-bezier(.17,.55,.55,1) .5s forwards;transform:translateZ(0)}@keyframes portfolio-reveal{0%{opacity:0;filter:blur(4px);transform:translateY(8px) translateZ(0)}to{opacity:1;filter:blur(0);transform:translateY(0) translateZ(0)}}@keyframes portfolio-reveal-mobile{0%{opacity:0;transform:translateY(8px) translateZ(0)}to{opacity:1;transform:translateY(0) translateZ(0)}}@media(max-width:768px){:where(.header-inner,.hero,.case-hero,.work-section,.case-section,.placeholder-page,.testimonials-section,.case-study-nav),.site-footer{animation-name:portfolio-reveal-mobile}}@media(prefers-reduced-motion:reduce){:where(.header-inner,.hero,.case-hero,.work-section,.case-section,.placeholder-page,.testimonials-section,.case-study-nav),.site-footer{opacity:1;filter:none;animation:none;transform:none}}
