:root{color-scheme:dark;--bg: #0a0b0d;--surface: #191b21;--hover: rgba(255, 255, 255, .04);--nav-scrim: rgba(20, 21, 26, .72);--overlay: rgba(10, 10, 10, .55);--scrim: rgba(10, 10, 10, .88);--ink: #e8e9ee;--ink-muted: #80828b;--ink-subtle: #5e616b;--border: rgba(220, 226, 240, .1);--border-strong: rgba(220, 226, 240, .18);--dark-bg: #0d0e12;--dark-surface: #191b21;--dark-ink: #e8e9ee;--dark-muted: #8b8e98;--dark-border: rgba(220, 226, 240, .1);--status-ok: #22c55e;--shadow-card: 0 1px 2px rgba(0, 0, 0, .4), 0 4px 16px rgba(0, 0, 0, .3);--shadow-nav: 0 4px 24px rgba(0, 0, 0, .5);--radius-sm: 10px;--radius-md: 16px;--radius-lg: 20px;--radius-xl: 1.5rem;--radius-2xl: 2rem;--radius-pill: 9999px;--space-3xs: .125rem;--space-2xs: .25rem;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.25rem;--space-xl: 1.5rem;--space-2xl: 2rem;--space-3xl: 2.5rem;--space-4xl: 3rem;--space-5xl: 4rem;--space-6xl: 5rem;--space-7xl: 6rem;--space-8xl: 8rem;--font-sans: "Inter Tight", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display: "neue-haas-grotesk-display", "Inter Tight", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--text-2xs: .6875rem;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .875rem;--text-md: .9375rem;--text-lg: 1rem;--text-xl: 1.0625rem;--text-2xl: 1.125rem;--text-3xl: 1.25rem;--text-display: clamp(3.5rem, 14.5vw, 12rem);--text-display-sm: clamp(2.5rem, 6vw, 4rem);--text-title: clamp(1.875rem, 4vw, 3rem);--text-section: clamp(1.75rem, 3.5vw, 2.75rem);--text-headline: clamp(1.5rem, 2.8vw, 2.125rem);--text-heading: clamp(1.25rem, 2.2vw, 1.625rem);--text-lead: clamp(1.25rem, 2.5vw, 1.875rem);--text-subhead: clamp(1.0625rem, 1.6vw, 1.25rem);--wrap-max: 1200px;--wrap-pad: 2rem;--section-pad-y: 6rem;--section-pad-x: 1.5rem;--ease-out: cubic-bezier(.2, .8, .2, 1);--dur-fast: .15s;--dur-base: .2s;--dur-slow: .5s}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-sans);background:var(--bg);color:var(--ink);font-feature-settings:"ss01","cv11";line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit}.display{font-family:var(--font-display);font-weight:500;letter-spacing:-.035em;line-height:.92}.wrap{max-width:var(--wrap-max);margin:0 auto;padding:0 var(--wrap-pad)}@media(max-width:640px){.wrap{padding:0 var(--space-lg)}}.eyebrow{font-size:var(--text-2xs);font-weight:500;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-muted);display:inline-block;margin-bottom:var(--space-lg)}.signature{display:inline-block;color:currentColor;vertical-align:middle}.section-header{margin-bottom:var(--space-5xl);max-width:720px}.section-header h2{font-size:var(--text-section);font-weight:500;letter-spacing:-.025em;line-height:1.15}.section-header h2 .muted{color:var(--ink-muted)}.pill-nav{position:fixed;top:var(--space-lg);left:50%;transform:translate(-50%);background:var(--nav-scrim);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);border:1px solid var(--border);border-radius:var(--radius-pill);padding:var(--space-xs) var(--space-xs);display:flex;align-items:center;gap:var(--space-sm);box-shadow:var(--shadow-nav);z-index:100;max-width:calc(100vw - var(--space-2xl))}.pill-nav__logo{display:flex;align-items:center;padding:0 var(--space-sm) 0 var(--space-sm);border-right:1px solid var(--border);color:var(--ink);transition:color var(--dur-fast)}.pill-nav__logo:hover{color:var(--ink-muted)}.pill-nav__signature{display:block;height:20px;width:auto}.pill-nav__list{display:flex;gap:var(--space-3xs);list-style:none}.pill-nav__link{padding:var(--space-xs) var(--space-md);border-radius:var(--radius-pill);font-size:var(--text-base);color:var(--ink-muted);text-decoration:none;display:inline-block;transition:background var(--dur-fast),color var(--dur-fast)}.pill-nav__link:hover{color:var(--ink);background:var(--hover)}.pill-nav__link--cta{background:var(--ink);color:var(--surface);transition:opacity var(--dur-fast)}.pill-nav__link--cta:hover{opacity:.85}@media(max-width:640px){.pill-nav{padding:var(--space-2xs) var(--space-2xs);gap:var(--space-2xs)}.pill-nav__logo{padding:0 var(--space-2xs)}.pill-nav__signature{height:18px}.pill-nav__list{gap:0}.pill-nav__link{padding:var(--space-xs) var(--space-xs);font-size:var(--text-sm)}}.hero{min-height:92vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:var(--space-8xl) var(--space-xl) var(--space-5xl)}.hero__name{font-size:var(--text-display);margin-bottom:var(--space-4xl);color:var(--ink)}.hero__role{font-size:var(--text-base);font-weight:500;text-transform:uppercase;letter-spacing:.18em;color:var(--ink-muted);margin-bottom:var(--space-md)}.hero__statement{font-size:var(--text-lead);line-height:1.3;letter-spacing:-.02em;max-width:700px;font-weight:500}.hero__statement .muted{color:var(--ink-muted);display:block}.hero__statement .primary{color:var(--ink);display:block}.hero__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-sm);margin-top:var(--space-3xl)}@media(max-width:640px){.hero{min-height:46vh;padding-top:var(--space-8xl);padding-bottom:var(--space-4xl)}}.btn{display:inline-flex;align-items:center;padding:var(--space-sm) var(--space-xl);border-radius:var(--radius-pill);font-size:var(--text-md);font-weight:500;text-decoration:none;border:1px solid transparent;transition:background var(--dur-fast),color var(--dur-fast),border-color var(--dur-fast)}.btn--primary{background:var(--ink);color:var(--surface);transition:opacity var(--dur-fast),color var(--dur-fast)}.btn--primary:hover{opacity:.85}.btn--ghost{border-color:var(--border-strong);color:var(--ink)}.btn--ghost:hover{background:var(--hover);border-color:var(--ink)}.intro{padding-block:var(--space-3xl) var(--space-4xl);text-align:center}.intro__lead{max-width:760px;margin:0 auto;font-size:var(--text-2xl);line-height:1.6;letter-spacing:-.005em}.intro__lead strong{font-weight:600;color:var(--ink)}.intro__lead .muted{color:var(--ink-muted)}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2xl);border-top:1px solid var(--border);padding-top:var(--space-2xl)}@media(max-width:900px){.principles{grid-template-columns:1fr}}.principle__title{font-size:var(--text-xl);font-weight:600;letter-spacing:-.01em;color:var(--ink);margin-bottom:var(--space-md)}.principle__body{color:var(--ink-muted);font-size:var(--text-md);line-height:1.6}.approach__closer{margin-top:var(--space-3xl);max-width:60ch;font-size:var(--text-2xl);font-weight:600;line-height:1.45;letter-spacing:-.01em;color:var(--ink)}.approach__closer .muted{font-weight:400;color:var(--ink-muted)}.case-study{padding-bottom:var(--space-7xl)}.case-study__bar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2xl) var(--wrap-pad);max-width:var(--wrap-max);margin:0 auto}.case-study__home{display:inline-flex;color:var(--ink)}.case-study__signature{display:block;height:22px;width:auto}.case-study__back{font-size:var(--text-md);color:var(--ink-muted);text-decoration:none;transition:color var(--dur-fast)}.case-study__back:hover{color:var(--ink)}.case-study__hero{padding-top:var(--space-xl);padding-bottom:var(--space-5xl)}.case-study__card{cursor:default}.case-study__card.project-card{border-radius:var(--radius-md)}.case-study__card .project-card__visual{padding:var(--space-md)}.case-study__card .project-card__image{object-fit:contain;border-radius:var(--radius-lg)}.case-study__intro{max-width:880px;margin-bottom:var(--space-5xl)}.case-study__intro h1{font-size:var(--text-title);font-weight:500;letter-spacing:-.03em;line-height:1.1;margin:var(--space-lg) 0}.case-study__summary{font-size:var(--text-subhead);line-height:1.5;color:var(--ink-muted);max-width:60ch}.case-study__body{display:grid;grid-template-columns:minmax(200px,240px) 1fr;gap:var(--space-5xl);align-items:start}.case-study__meta{position:sticky;top:var(--space-2xl)}.case-study__meta dl>div{padding:var(--space-md) 0;border-top:1px solid var(--border)}.case-study__meta dl>div:first-child{border-top:none;padding-top:0}.case-study__meta dt{font-size:var(--text-2xs);font-weight:500;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-muted);display:inline-block;margin-bottom:var(--space-xs)}.case-study__meta dd{font-size:var(--text-md);line-height:1.45;color:var(--ink)}.case-study__live{display:inline-block;margin-top:var(--space-lg);font-size:var(--text-md);color:var(--ink);text-decoration:none;border-bottom:1px solid var(--border-strong);padding-bottom:var(--space-3xs);transition:border-color var(--dur-fast)}.case-study__live:hover{border-color:var(--ink)}.case-study__next{margin-top:var(--space-7xl);display:flex;flex-direction:column;gap:var(--space-lg)}.case-study__next .project-card{max-width:480px}@media(max-width:900px){.case-study__body{grid-template-columns:1fr;gap:var(--space-3xl)}.case-study__meta{position:static}.case-study__meta dl{display:grid;grid-template-columns:1fr 1fr;gap:0}.case-study__meta dl>div{border-top:1px solid var(--border)}}.cs-prose{min-width:0}.cs-prose>p,.cs-prose>h2{max-width:68ch}.cs-prose__context{font-size:var(--text-3xl);line-height:1.55;color:var(--ink)}.cs-prose__standfirst{font-size:var(--text-xl);line-height:1.6;color:var(--ink-muted);margin-bottom:var(--space-2xl)}.cs-prose h2{font-size:var(--text-heading);font-weight:600;letter-spacing:-.02em;line-height:1.2;margin:var(--space-4xl) 0 var(--space-md)}.cs-prose p{font-size:var(--text-xl);line-height:1.7;color:var(--ink-muted)}.cs-prose p+p{margin-top:var(--space-lg)}.cs-prose strong{color:var(--ink);font-weight:600}.cs-prose em{font-style:italic}.cs-figure{margin:var(--space-3xl) 0}.cs-figure__zoom{position:relative;display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in}.cs-figure__expand{position:absolute;top:var(--space-sm);right:var(--space-sm);display:flex;align-items:center;justify-content:center;width:var(--space-2xl);height:var(--space-2xl);border-radius:var(--radius-pill);background:var(--overlay);color:var(--surface);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;transition:opacity var(--dur-fast)}.cs-figure__expand svg{width:var(--space-md);height:var(--space-md)}.cs-figure__zoom:hover .cs-figure__expand,.cs-figure__zoom:focus-visible .cs-figure__expand{opacity:1}.cs-figure img{width:100%;border-radius:var(--radius-md);border:1px solid var(--border);display:block}.cs-figure__placeholder{aspect-ratio:16/9;border:1px dashed var(--border-strong);border-radius:var(--radius-md);background:var(--surface);display:flex;align-items:center;justify-content:center}.cs-figure figcaption{margin-top:var(--space-md);font-size:var(--text-base);line-height:1.5;color:var(--ink-subtle)}.cs-lockfile__panel{max-width:100%;height:16rem;overflow:hidden}@media(max-width:640px){.cs-lockfile__panel{height:14rem}}.cs-lockfile__scroll{height:100%;min-width:0;overflow:auto;scrollbar-width:none}.cs-lockfile__scroll::-webkit-scrollbar{display:none}.cs-lockfile__scroll{mask-image:linear-gradient(to bottom,transparent 0%,black 15%,black 85%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,black 15%,black 85%,transparent 100%)}.cs-lockfile__code{margin:0;padding:var(--space-md) 0;font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.8;color:var(--ink);white-space:pre}.cs-lockfile__line,.cs-lockfile__line--dim{display:block}.cs-lockfile__line--dim{color:var(--ink-subtle)}.cs-pullquote{margin:var(--space-3xl) 0;max-width:68ch;padding-left:var(--space-xl);border-left:2px solid var(--ink);font-size:var(--text-heading);font-weight:500;letter-spacing:-.02em;line-height:1.3;color:var(--ink)}.cs-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--space-lg);background:var(--scrim);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);cursor:zoom-out;animation:cs-lightbox-fade var(--dur-base) var(--ease-out)}.cs-lightbox__image{max-width:100%;max-height:100%;object-fit:contain;border-radius:var(--radius-md);box-shadow:var(--shadow-card);cursor:default}.cs-lightbox__close{position:fixed;top:var(--space-lg);right:var(--space-lg);display:flex;align-items:center;justify-content:center;width:var(--space-4xl);height:var(--space-4xl);border-radius:var(--radius-pill);border:1px solid var(--dark-border);background:var(--dark-surface);color:var(--dark-ink);cursor:pointer;transition:border-color var(--dur-fast)}.cs-lightbox__close:hover{border-color:var(--dark-muted)}.cs-lightbox__close svg{width:var(--space-lg);height:var(--space-lg)}@keyframes cs-lightbox-fade{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.cs-lightbox{animation:none}.project-card:not(.case-study__card):hover{transform:none}}::view-transition-group(*){animation-duration:var(--dur-slow);animation-timing-function:var(--ease-out)}::view-transition-old(*){animation-duration:var(--dur-slow);animation-timing-function:var(--ease-out)}::view-transition-new(*){animation-duration:var(--dur-slow);animation-timing-function:var(--ease-out)}@media(prefers-reduced-motion:reduce){::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}}.section{padding:var(--section-pad-y) var(--section-pad-x)}@media(max-width:640px){.section{padding:var(--space-6xl) var(--space-lg)}}.thesis__feature{display:grid;gap:var(--space-lg)}.feature-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:var(--radius-md);text-decoration:none;color:inherit;overflow:hidden;display:grid;grid-template-columns:1.1fr 1fr;transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),border-color var(--dur-fast)}.feature-card:hover{transform:translateY(calc(-1 * var(--space-2xs)));border-color:var(--border-strong);box-shadow:var(--shadow-nav)}.feature-card__visual{position:relative;background:var(--surface)}.feature-card__image{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}.feature-card__type{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--dark-surface);display:flex;align-items:center;justify-content:center}.feature-card__body{padding:var(--space-3xl);display:flex;flex-direction:column}.feature-card__kicker{font-size:var(--text-2xs);font-weight:500;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-muted);display:inline-block;margin-bottom:var(--space-sm)}.feature-card__title{font-size:var(--text-3xl);font-weight:600;letter-spacing:-.02em;line-height:1.1;margin-bottom:var(--space-2xs)}.feature-card__tagline{color:var(--ink-muted);font-size:var(--text-md);margin-bottom:var(--space-lg)}.feature-card__synopsis{color:var(--ink-muted);font-size:var(--text-md);line-height:1.6}.feature-card__cue{align-self:flex-start;margin-top:var(--space-xl);display:inline-flex;align-items:center;gap:var(--space-xs);font-size:var(--text-base);font-weight:500;color:var(--ink-muted);transition:color var(--dur-fast) var(--ease-out)}.feature-card__cue-arrow{transition:transform var(--dur-base) var(--ease-out)}.feature-card:hover .feature-card__cue{color:var(--ink)}.feature-card:hover .feature-card__cue-arrow{transform:translate(var(--space-2xs))}@media(max-width:900px){.feature-card{grid-template-columns:1fr}.feature-card__image{height:auto}.feature-card__body{padding:var(--space-2xl)}}.fl-feature{display:block;text-decoration:none;color:inherit}.fl-feature__band{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-lg);margin-bottom:var(--space-lg)}.fl-feature__title{font-size:var(--text-3xl);font-weight:600;letter-spacing:-.02em;line-height:1.1;margin-bottom:var(--space-2xs)}.fl-feature__tagline{display:block;color:var(--ink-muted);font-size:var(--text-md)}.fl-feature__cta{flex:none;display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);border:1px solid var(--border-strong);border-radius:var(--radius-pill);font-size:var(--text-base);font-weight:500;color:var(--ink);text-decoration:none;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.fl-feature__cue-arrow{transition:transform var(--dur-base) var(--ease-out)}.fl-feature__cta:hover{background:var(--ink);color:var(--surface);border-color:var(--ink)}.fl-feature__cta:hover .fl-feature__cue-arrow{transform:translate(var(--space-2xs))}.fl-feature__stage{position:relative;overflow:hidden;background:var(--bg);aspect-ratio:1440/735}.fl-feature__stage:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(to bottom,transparent 89%,var(--bg) 100%)}.fl-feature__stage-inner{position:absolute;top:0;left:0;transform-origin:top left}@media(max-width:900px){.fl-feature__stage{aspect-ratio:3/2}.fl-feature__stage:after{background:linear-gradient(to bottom,transparent 60%,var(--bg) 100%),linear-gradient(to right,transparent 82%,var(--bg) 100%)}}@media(max-width:640px){.fl-feature__band{flex-direction:column;align-items:flex-start;gap:var(--space-md)}.fl-feature__stage{aspect-ratio:4/5}.fl-feature__stage:after{background:linear-gradient(to bottom,transparent 64%,var(--bg) 100%),linear-gradient(to right,transparent 70%,var(--bg) 100%)}}.about__grid{display:grid;grid-template-columns:minmax(300px,440px) 1fr;gap:var(--space-5xl);align-items:center}@media(max-width:900px){.about__grid{grid-template-columns:1fr;gap:var(--space-3xl);align-items:start}}.photo-card img{width:100%;height:auto;display:block}.photo-card__meta{padding:var(--space-lg) 0 0;display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-sm)}.photo-card h3{font-size:var(--text-xl);font-weight:600;letter-spacing:-.01em;margin-bottom:var(--space-3xs)}.photo-card p{color:var(--ink-muted);font-size:var(--text-base)}@media(max-width:900px){.photo-card{max-width:440px}}.status-badge{display:inline-flex;align-items:center;font-size:var(--text-xs);color:var(--ink-muted);background:var(--bg);border:1px solid var(--border);padding:var(--space-2xs) var(--space-sm);border-radius:var(--radius-pill);white-space:nowrap}.bio__eyebrow{display:block;margin-bottom:var(--space-lg)}.bio p{font-size:var(--text-2xl);line-height:1.6;letter-spacing:-.005em}.bio p strong{font-weight:600;color:var(--ink)}.bio p .muted{color:var(--ink-muted)}.bio p+p{margin-top:var(--space-xl)}.project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:var(--space-lg)}.project-grid--pair{margin-top:var(--space-5xl)}.project-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:var(--radius-sm);text-decoration:none;color:inherit;overflow:hidden;display:flex;flex-direction:column;transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),border-color var(--dur-fast)}.project-card:not(.case-study__card):hover{transform:translateY(calc(-1 * var(--space-2xs)));border-color:var(--border-strong);box-shadow:var(--shadow-nav)}.project-card__visual{position:relative;background:var(--surface)}.project-card__image{display:block;width:100%;height:auto}.project-card__type{aspect-ratio:16/10;width:100%;background:var(--dark-surface);display:flex;align-items:center;justify-content:center}.project-card__wordmark{font-size:var(--text-display-sm);color:var(--dark-ink);letter-spacing:-.04em}.project-card__meta{padding:var(--space-xl);display:flex;flex-direction:column}.project-card__kicker{font-size:var(--text-2xs);font-weight:500;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-muted);display:inline-block;margin-bottom:var(--space-sm)}.project-card h3{font-size:var(--text-3xl);font-weight:600;letter-spacing:-.02em;line-height:1.1;margin-bottom:var(--space-2xs)}.project-card__tagline{color:var(--ink-muted);font-size:var(--text-md);line-height:1.4}.project-card__meta:not(:last-child){padding-bottom:var(--space-md)}.project-card__synopsis{padding:0 var(--space-xl);margin:0 0 var(--space-xl);color:var(--ink-muted);font-size:var(--text-md);line-height:1.6}.project-card__cue{align-self:flex-start;margin:auto var(--space-xl) var(--space-xl);display:inline-flex;align-items:center;gap:var(--space-xs);font-size:var(--text-base);font-weight:500;color:var(--ink-muted);transition:color var(--dur-fast) var(--ease-out)}.project-card__cue-arrow{transition:transform var(--dur-base) var(--ease-out)}.project-card:hover .project-card__cue{color:var(--ink)}.project-card:hover .project-card__cue-arrow{transform:translate(var(--space-2xs))}@media(max-width:640px){.project-card__meta{padding:var(--space-lg)}.project-card__synopsis{padding:0 var(--space-lg)}.project-card__cue{margin:var(--space-lg)}}.exp-list{border-top:1px solid var(--border)}.exp-row{display:flex;align-items:baseline;gap:var(--space-md);padding:var(--space-lg) 0;border-bottom:1px solid var(--border)}.exp-row__role{font-size:var(--text-xl);font-weight:600;letter-spacing:-.01em;color:var(--ink)}.exp-row__org{color:var(--ink-muted);font-size:var(--text-md)}.exp-row__years{margin-left:auto;padding-left:var(--space-lg);color:var(--ink-subtle);font-size:var(--text-base);font-variant-numeric:tabular-nums;white-space:nowrap}@media(max-width:900px){.exp-row{flex-direction:column;align-items:flex-start;gap:var(--space-2xs)}.exp-row__years{order:-1;margin-left:0;padding-left:0;font-size:var(--text-sm)}}.contact{background:var(--dark-bg);color:var(--dark-ink);padding-top:var(--space-8xl);padding-bottom:var(--space-4xl);margin-top:var(--space-4xl)}.contact__name{font-size:var(--text-display);color:var(--dark-ink);text-align:center;margin-bottom:var(--space-5xl)}.contact__divider{border-top:1px solid var(--dark-border);margin:0 auto var(--space-5xl);max-width:var(--wrap-max)}.contact__grid{display:grid;grid-template-columns:1.2fr 1fr;gap:var(--space-5xl);margin-bottom:var(--space-6xl)}.contact__lead h3{font-size:var(--text-headline);font-weight:500;letter-spacing:-.02em;line-height:1.2;margin-bottom:var(--space-lg);max-width:16ch}.contact__lead p{color:var(--dark-muted);font-size:var(--text-lg);line-height:1.6;max-width:40ch}.contact__columns{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2xl)}.contact__columns h5{font-size:var(--text-2xs);font-weight:500;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-muted);display:inline-block;color:var(--dark-muted);margin-bottom:var(--space-md)}.contact__columns a,.contact__columns span{display:block;color:var(--dark-ink);text-decoration:none;font-size:var(--text-md);padding:var(--space-2xs) 0;transition:color var(--dur-fast)}.contact__columns a:hover{color:var(--dark-muted)}.contact__footer{border-top:1px solid var(--dark-border);padding-top:var(--space-2xl);display:flex;justify-content:space-between;font-size:var(--text-sm);color:var(--dark-muted)}@media(max-width:900px){.contact__grid{grid-template-columns:1fr;gap:var(--space-4xl)}}@media(max-width:640px){.contact{padding-top:var(--space-6xl)}.contact__columns{grid-template-columns:1fr 1fr;gap:var(--space-xl)}.contact__footer{flex-direction:column;gap:var(--space-xs)}}.page-bar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2xl) var(--wrap-pad);max-width:var(--wrap-max);margin:0 auto}.page-bar__home{display:inline-flex;color:var(--ink);transition:color var(--dur-fast)}.page-bar__home:hover{color:var(--ink-muted)}.page-bar__signature{display:block;height:22px;width:auto}.page-bar__back{font-size:var(--text-md);color:var(--ink-muted);text-decoration:none;transition:color var(--dur-fast)}.page-bar__back:hover{color:var(--ink)}.writing{padding-bottom:var(--space-6xl)}.writing__kicker{font-size:var(--text-2xs);font-weight:500;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-muted);display:inline-block}.writing__header{max-width:820px;margin:var(--space-2xl) auto var(--space-5xl)}.writing__header h1{font-size:var(--text-title);font-weight:500;letter-spacing:-.03em;line-height:1.1;margin:var(--space-md) 0 var(--space-lg)}.writing__header p{font-size:var(--text-subhead);line-height:1.5;color:var(--ink-muted);max-width:56ch}.writing-list{max-width:820px;margin:0 auto;border-bottom:1px solid var(--border)}.writing-entry{display:grid;grid-template-columns:1fr auto;gap:var(--space-md) var(--space-2xl);align-items:start;padding:var(--space-2xl) var(--space-lg);border-top:1px solid var(--border);text-decoration:none;color:inherit;transition:background var(--dur-fast)}.writing-entry:hover{background:var(--hover)}.writing-entry__kicker{font-size:var(--text-2xs);font-weight:500;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-muted);display:inline-block}.writing-entry__title{font-size:var(--text-headline);font-weight:500;letter-spacing:-.02em;line-height:1.15;color:var(--ink);margin:var(--space-sm) 0 0}.writing-entry__excerpt{margin-top:var(--space-sm);font-size:var(--text-lg);line-height:1.6;color:var(--ink-muted);max-width:58ch}.writing-entry__time{font-size:var(--text-2xs);font-weight:500;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-muted);display:inline-block;color:var(--ink-subtle);justify-self:end;white-space:nowrap;padding-top:var(--space-3xs)}@media(max-width:640px){.writing-entry{grid-template-columns:1fr;gap:var(--space-sm)}.writing-entry__time{order:-1;justify-self:start}}.writing-post{padding-bottom:var(--space-7xl)}.writing-post__header{max-width:760px;margin:var(--space-xl) auto var(--space-5xl);padding:0 var(--wrap-pad)}.writing-post__header h1{font-size:var(--text-title);font-weight:500;letter-spacing:-.03em;line-height:1.1;margin:var(--space-md) 0 var(--space-lg)}.writing-post__kicker{font-size:var(--text-2xs);font-weight:500;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-muted);display:inline-block}.writing-post__byline{font-size:var(--text-2xs);font-weight:500;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-muted);display:inline-block;color:var(--ink-subtle)}.writing-post__body{max-width:760px;margin:0 auto;padding:0 var(--wrap-pad)}.writing-post__footer{max-width:760px;margin:var(--space-7xl) auto 0;padding:var(--space-2xl) var(--wrap-pad) 0;border-top:1px solid var(--border);display:flex;justify-content:space-between;gap:var(--space-lg)}.writing-post__footer a{font-size:var(--text-md);color:var(--ink-muted);text-decoration:none;transition:color var(--dur-fast)}.writing-post__footer a:hover{color:var(--ink)}@media(max-width:640px){.writing-post__footer{flex-direction:column;gap:var(--space-sm)}}.fl-mock{--fl-canvas: hsl(210 18% 7%);--fl-sidebar: hsl(210 19% 10%);--fl-panel: hsl(210 20% 15%);--fl-raised: hsl(210 20% 18%);--fl-input: hsl(210 18% 7%);--fl-ink: hsl(210 8% 91%);--fl-ink-2: hsl(210 12% 57%);--fl-ink-3: hsl(210 14% 46%);--fl-ink-4: hsl(210 14% 36%);--fl-nav-label: hsl(210 10% 65%);--fl-inverse: hsl(210 18% 5%);--fl-brand: hsl(180 85% 45%);--fl-accent: hsl(180 85% 50%);--fl-accent-hover: hsl(180 85% 44%);--fl-hover: hsl(210 18% 15% / .5);--fl-blocked: hsl(350 80% 42%);--fl-blocked-bg: hsl(350 80% 42% / .1);--fl-blocked-border: hsl(350 80% 42% / .25);--fl-border: hsl(210 16% 23% / .55);--fl-border-soft: hsl(210 16% 23% / .45);--fl-border-hl: hsl(210 14% 36% / .2);--fl-border-default: hsl(210 14% 36% / .32);--fl-radius-md: 12px;--fl-radius-sm: 8px;--fl-radius-xs: 4px;--fl-radius-pill: 9999px;--fl-font-tight: "Inter Tight", system-ui, -apple-system, sans-serif;--fl-font-sans: "Inter Tight", system-ui, -apple-system, sans-serif;--fl-shadow-sm: 0 1px 2px hsl(210 20% 2% / .4), inset 0 1px 0 hsl(210 14% 36% / .06);--fl-shadow-topbar: 0 1px 3px hsl(210 20% 2% / .25);width:1440px;flex:none;border-radius:16px;overflow:hidden;background:var(--fl-canvas);border:1px solid var(--fl-border);font-family:var(--fl-font-sans);color:var(--fl-ink);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;text-align:left;cursor:default}.fl-mock *,.fl-mock *:before,.fl-mock *:after{box-sizing:border-box}.fl-mock__chrome{display:flex;align-items:center;gap:16px;height:40px;padding:0 18px;background:#0c0f12;border-bottom:1px solid var(--fl-border-hl)}.fl-mock__dots{display:flex;gap:8px;flex:none}.fl-mock__dot{width:11px;height:11px;border-radius:var(--fl-radius-pill);background:#363d45}.fl-mock__address{flex:1;height:24px;border-radius:var(--fl-radius-pill);background:#101418}.fl-mock__viewport{background:var(--fl-canvas)}.fl-shell{display:grid;grid-template-columns:200px 1fr;height:700px}.fl-shell__main{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;background:var(--fl-canvas)}.fl-sidebar{display:flex;flex-direction:column;min-height:0;background:var(--fl-sidebar);border-right:1px solid var(--fl-border-hl)}.fl-sidebar__top{flex:none;padding:16px 16px 12px}.fl-sidebar__logo{display:block;height:18px;width:auto}.fl-sidebar__footer{flex:none;margin-top:auto;display:flex;flex-direction:column;gap:8px;padding:0 0 20px}.fl-sidebar__tagline{font-size:10px;color:var(--fl-ink-4);padding:0 16px;opacity:.6}.fl-nav{flex:1;overflow:hidden;padding:4px 8px;display:flex;flex-direction:column}.fl-nav__section{margin-bottom:4px}.fl-nav__section-label{font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--fl-ink-4);padding:16px 8px 4px}.fl-nav__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.fl-nav__item{display:flex;align-items:center;gap:8px;min-height:32px;padding:8px 12px;border-radius:var(--fl-radius-sm);color:var(--fl-nav-label);font-size:12px;font-weight:500}.fl-nav__item--active{background:var(--fl-raised);color:var(--fl-ink)}.fl-nav__item--active .fl-nav__icon{color:var(--fl-ink)}.fl-nav__item:hover:not(.fl-nav__item--active){background:var(--fl-hover);color:var(--fl-ink)}.fl-nav__item:hover .fl-nav__icon{color:var(--fl-ink)}.fl-nav__icon{width:18px;height:18px;flex:none;color:var(--fl-ink-4);transition:color .12s ease}.fl-nav__label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fl-nav__chevron{width:16px;height:16px;color:var(--fl-ink-4);flex:none}.fl-integrity{position:relative;height:112px;width:100%;overflow:hidden}.fl-integrity__chart{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.fl-integrity__overlay{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;padding:0 16px 12px;text-align:center}.fl-integrity__score{font-family:var(--fl-font-tight);font-size:32px;font-weight:700;color:var(--fl-brand);line-height:1;letter-spacing:-.02em}.fl-integrity__label{margin-top:4px;font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--fl-ink-2)}.fl-topbar{display:flex;align-items:center;justify-content:space-between;height:52px;padding:0 24px;background:var(--fl-sidebar);border-bottom:1px solid var(--fl-border-hl);box-shadow:var(--fl-shadow-topbar);flex:none}.fl-topbar__left{display:flex;align-items:center;gap:12px;color:var(--fl-ink-4);font-size:14px}.fl-topbar__menu{width:18px;height:18px;color:var(--fl-ink-3)}.fl-topbar__brand{display:flex;align-items:center;gap:8px;padding:5px 10px;border-radius:var(--fl-radius-sm);background:var(--fl-panel);color:var(--fl-ink);font-size:14px;font-weight:500}.fl-topbar__brand-mark{width:16px;height:16px}.fl-topbar__caret{width:15px;height:15px;color:var(--fl-ink-3)}.fl-topbar__sep{color:var(--fl-ink-4);opacity:.5}.fl-topbar__crumb{color:var(--fl-ink);font-weight:500}.fl-topbar__right{display:flex;align-items:center;gap:8px}.fl-topbar__search{display:flex;align-items:center;gap:8px;min-width:160px;padding:4px 12px;border-radius:var(--fl-radius-sm);border:1px solid var(--fl-border-hl);background:var(--fl-input);box-shadow:var(--fl-shadow-sm);color:var(--fl-ink-4);font-size:12px;transition:border-color .12s ease,color .12s ease}.fl-topbar__search:hover{border-color:var(--fl-border-default);color:var(--fl-ink-2)}.fl-topbar__search-icon{width:14px;height:14px;flex:none}.fl-topbar__search-text{margin-right:auto}.fl-topbar__divider{width:1px;height:16px;background:var(--fl-border);margin:0 4px}.fl-topbar__avatar{width:28px;height:28px;border-radius:var(--fl-radius-pill);object-fit:cover;flex:none}.fl-kbd{display:inline-flex;align-items:center;justify-content:center;padding:2px 4px;border-radius:var(--fl-radius-xs);background:var(--fl-panel);border:1px solid var(--fl-border-hl);box-shadow:var(--fl-shadow-sm);font-size:10px;line-height:1.4;color:var(--fl-ink-4)}.fl-screen{padding:28px 32px;overflow:hidden}.fl-scratch__header{padding-bottom:16px;border-bottom:1px solid var(--fl-border-soft);margin-bottom:24px}.fl-scratch__title{font-family:var(--fl-font-tight);font-size:18px;font-weight:600;color:var(--fl-ink);letter-spacing:-.02em;line-height:1.35}.fl-scratch__subtitle{margin-top:4px;font-size:12px;color:var(--fl-ink-4)}.fl-scratch__workspace{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.fl-scratch__input-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.fl-scratch__modes{display:flex;background:var(--fl-raised);border:1px solid var(--fl-border);border-radius:var(--fl-radius-sm);overflow:hidden}.fl-scratch__mode{padding:4px 8px;font-size:12px;font-weight:500;color:var(--fl-ink-3);transition:color .12s ease}.fl-scratch__mode:hover:not(.fl-scratch__mode--active){color:var(--fl-ink-2)}.fl-scratch__mode--active{color:var(--fl-ink)}.fl-scratch__field{position:relative;min-height:240px;padding:16px;border-radius:var(--fl-radius-sm);background:var(--fl-sidebar);border:1px solid var(--fl-border);transition:border-color .15s ease,box-shadow .15s ease}.fl-scratch__field:hover{border-color:#13ecec73;box-shadow:0 0 0 1px #13ecec1f}.fl-scratch__typed{margin:0;font-size:14px;line-height:1.7;color:var(--fl-ink);opacity:0;transform:translateY(4px);transition:opacity .36s ease,transform .36s ease}.fl-scratch__caret{display:inline-block;width:2px;height:18px;margin-left:1px;vertical-align:text-bottom;background:var(--fl-accent);animation:fl-blink 1s steps(2,start) infinite}.fl-scratch__helper{margin:8px 0 0;font-size:12px;line-height:1.7;color:var(--fl-ink-4)}.fl-scratch__hint{margin:10px 0 0;font-size:12px;line-height:1.6;color:var(--fl-ink-4);text-align:center}.fl-scratch__run{margin-top:16px;display:flex;align-items:center;justify-content:center;padding:8px 16px;border-radius:var(--fl-radius-sm);background:var(--fl-accent);color:var(--fl-inverse);font-size:14px;font-weight:500;cursor:pointer;transition:background .15s ease,box-shadow .2s ease,opacity .2s ease,transform 80ms ease}.fl-scratch__run:hover{background:var(--fl-accent-hover);box-shadow:0 0 0 1px #2beeee99,0 6px 20px #13ecec47}.fl-scratch__run:active{transform:translateY(1px)}.fl-panel{padding:24px;border-radius:var(--fl-radius-md);background:var(--fl-panel);border:1px solid var(--fl-border)}.fl-panel__label{font-size:14px;font-weight:500;color:var(--fl-ink-2)}.fl-scratch__input{display:flex;flex-direction:column}.fl-scratch__result{position:relative;min-height:320px;display:flex;flex-direction:column;gap:16px}.fl-result__head{display:flex;flex-direction:column;gap:4px}.fl-result__label{font-size:12px;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:var(--fl-ink-3)}.fl-result__brand{font-size:14px;color:var(--fl-ink-2)}.fl-result__meta{font-size:10px;color:var(--fl-ink-4);opacity:.75;border-top:1px solid var(--fl-border);padding-top:12px;margin-top:8px;letter-spacing:.02em}.fl-result__body{display:flex;flex-direction:column;gap:16px;opacity:0;transition:opacity .32s ease}.fl-result__tabs{display:flex;gap:16px;border-bottom:1px solid var(--fl-border)}.fl-result__tab{position:relative;padding:8px 0 12px;font-size:14px;font-weight:500;color:var(--fl-ink-3)}.fl-result__tab--active{color:var(--fl-ink)}.fl-result__tab--active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--fl-accent);border-radius:var(--fl-radius-xs) var(--fl-radius-xs) 0 0}.fl-result__score-row{display:flex;align-items:center;gap:16px}.fl-result__score{font-family:var(--fl-font-tight);font-size:56px;font-weight:700;color:var(--fl-ink);letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}.fl-result__score-label{font-size:12px;color:var(--fl-ink-3)}.fl-result__analysis{margin:0;font-size:16px;line-height:1.7;color:var(--fl-ink);max-width:70ch}.fl-result__scan{padding:16px;border-radius:var(--fl-radius-sm);background:#191f24;border:1px solid var(--fl-border)}.fl-result__scan-title{font-family:var(--fl-font-tight);font-size:15px;font-weight:600;color:var(--fl-ink)}.fl-result__sublabel{margin:14px 0 10px;font-size:12px;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:var(--fl-ink-3)}.fl-result__violation{margin:0;font-size:14px;line-height:1.6;color:var(--fl-ink-2)}.fl-result__violation+.fl-result__violation{margin-top:12px;padding-top:12px;border-top:1px solid var(--fl-border)}.fl-verdict{display:inline-flex;align-items:center;gap:8px;padding:4px 12px;border:1px solid transparent;border-radius:var(--fl-radius-pill);font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;line-height:1}.fl-verdict__dot{width:4px;height:4px;border-radius:var(--fl-radius-pill);background:currentColor;flex:none}.fl-verdict[data-verdict=blocked]{color:var(--fl-blocked);background:var(--fl-blocked-bg);border-color:var(--fl-blocked-border)}.fl-verdict[data-verdict=aligned]{color:var(--fl-brand);background:#11d4d41a;border-color:#11d4d440}.fl-mock[data-stage=content] .fl-scratch__typed,.fl-mock[data-stage=evaluating] .fl-scratch__typed,.fl-mock[data-stage=verdict] .fl-scratch__typed{opacity:1;transform:none}.fl-mock[data-stage=content] .fl-scratch__caret,.fl-mock[data-stage=evaluating] .fl-scratch__caret,.fl-mock[data-stage=verdict] .fl-scratch__caret{display:none}.fl-mock[data-stage=evaluating] .fl-scratch__run{opacity:.7}.fl-mock[data-stage=verdict] .fl-result__body{opacity:1}.fl-result__body>*{opacity:0;transform:translateY(6px);transition:opacity .36s ease,transform .36s ease}.fl-mock[data-stage=verdict] .fl-result__body>*{opacity:1;transform:none}.fl-mock[data-stage=verdict] .fl-result__body>*:nth-child(1){transition-delay:40ms}.fl-mock[data-stage=verdict] .fl-result__body>*:nth-child(2){transition-delay:.12s}.fl-mock[data-stage=verdict] .fl-result__body>*:nth-child(3){transition-delay:.18s}.fl-mock[data-stage=verdict] .fl-result__body>*:nth-child(4){transition-delay:.26s}.fl-mock[data-stage=verdict] .fl-result__body>*:nth-child(5){transition-delay:.34s}@keyframes fl-blink{0%,to{opacity:1}50%{opacity:0}}.fl-mock[data-stage=verdict] .fl-scratch__run{animation:fl-evaluate-glow 1.5s ease-out 1}@keyframes fl-evaluate-glow{0%{box-shadow:0 0 #13ecec00}35%{box-shadow:0 0 18px 2px #13ecec73}to{box-shadow:0 0 #13ecec00}}@media(prefers-reduced-motion:reduce){.fl-mock .fl-scratch__typed,.fl-mock .fl-result__body,.fl-mock .fl-result__body>*{opacity:1!important;transform:none!important;transition:none!important}.fl-mock .fl-scratch__caret{display:none}.fl-mock .fl-scratch__run{animation:none!important}}
