:root{--color-bg-base:#101012;--color-bg-surface-1:#16161a;--color-bg-surface-2:#1c1c21;--color-bg-surface-3:#232329;--color-bg-elevated:#2a2a32;--color-text-primary:#f4f4f8;--color-text-muted:#f4f4f8b8;--color-text-subtle:#f4f4f87a;--color-accent:#e94d43;--color-accent-hover:#f06960;--color-accent-soft:#e94d4338;--color-chrome-line:#ffffffeb;--color-border-ghost:#ffffff14;--color-border-ghost-strong:#ffffff24;--color-input-line:#f4f4f852;--color-focus-ring:#f95f568c;--font-family-display:"Syne", system-ui, sans-serif;--font-family-sans:"IBM Plex Sans", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--font-weight-display:700;--font-weight-heading:600;--font-weight-heading-strong:700;--font-weight-body:400;--font-weight-label:600;--font-weight-nav:600;--letter-spacing-uppercase:.22em;--letter-spacing-label:.2em;--letter-spacing-nav:.18em;--letter-spacing-hero:-.035em;--letter-spacing-tight:-.02em;--line-height-tight:.94;--line-height-display:1.05;--line-height-heading:1.15;--line-height-body:1.62;--line-height-label:1.2;--font-size-hero-min:clamp(2.6rem, 8vw + .95rem, 6.25rem);--font-size-h1:var(--font-size-hero-min);--font-size-h2:clamp(1.875rem, 4vw + 1rem, 3.35rem);--font-size-h3:clamp(1.375rem, 2vw + .72rem, 2.125rem);--font-size-h4:clamp(1.0625rem, 1vw + .47rem, 1.3125rem);--font-size-h5:.875rem;--font-size-h6:.75rem;--font-size-body:1.0625rem;--font-size-small:.84375rem;--font-size-label:.6875rem;--text-transform-label:uppercase;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--space-9:6rem;--space-10:8rem;--space-scale-max:var(--space-10);--padding-section-block:var(--space-10);--padding-section-inline:var(--space-6);--padding-section-inline-lg:var(--space-8);--padding-container-inline:var(--space-6);--layout-edge-inset:var(--space-6);--layout-bleed-offset:calc(-1 * var(--layout-edge-inset));--layout-max-width:72rem;--layout-max-width-narrow:42rem;--grid-columns-default:12;--grid-column-main:7;--grid-column-aside:5;--grid-gap:var(--space-6);--grid-gap-asymmetric:var(--space-8);--radius-none:0;--shadow-none:none;--border-width-hairline:1px;--border-width-input:1px;--noise-opacity:.045;--duration-base:.4s;--easing-base:ease;--transition-color:color var(--duration-base) var(--easing-base);--transition-border:border-color var(--duration-base) var(--easing-base);--transition-background:background-color var(--duration-base) var(--easing-base);--transition-opacity:opacity var(--duration-base) var(--easing-base);--elevation-0:var(--color-bg-base);--elevation-1:var(--color-bg-surface-1);--elevation-2:var(--color-bg-surface-2);--elevation-3:var(--color-bg-surface-3);--elevation-4:var(--color-bg-elevated)}*,:before,:after{box-sizing:border-box;border-radius:var(--radius-none);box-shadow:var(--shadow-none)}html{-webkit-text-size-adjust:100%;font-size:100%}body{min-height:100vh;font-family:var(--font-family-sans);font-size:var(--font-size-body);font-weight:var(--font-weight-body);line-height:var(--line-height-body);letter-spacing:normal;color:var(--color-text-primary);background-color:var(--elevation-0);transition:var(--transition-background), var(--transition-color);margin:0;position:relative}body:before{content:"";pointer-events:none;z-index:9998;opacity:var(--noise-opacity);mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}#app{z-index:0;position:relative}h1{margin:0 0 var(--space-6);font-family:var(--font-family-display);font-size:var(--font-size-h1);font-weight:var(--font-weight-display);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-hero);color:var(--color-text-primary);text-transform:none}h2{margin:0 0 var(--space-5);font-family:var(--font-family-display);font-size:var(--font-size-h2);font-weight:var(--font-weight-heading-strong);line-height:var(--line-height-heading);letter-spacing:var(--letter-spacing-tight);color:var(--color-text-primary)}h3{margin:0 0 var(--space-4);font-family:var(--font-family-display);font-size:var(--font-size-h3);font-weight:var(--font-weight-heading);line-height:var(--line-height-heading);letter-spacing:var(--letter-spacing-tight);color:var(--color-text-primary)}h4{margin:0 0 var(--space-3);font-family:var(--font-family-display);font-size:var(--font-size-h4);font-weight:var(--font-weight-label);line-height:var(--line-height-heading);letter-spacing:var(--letter-spacing-label);text-transform:var(--text-transform-label);color:var(--color-text-muted)}h5{margin:0 0 var(--space-2);font-family:var(--font-family-display);font-size:var(--font-size-h5);font-weight:var(--font-weight-label);line-height:var(--line-height-label);letter-spacing:var(--letter-spacing-label);text-transform:var(--text-transform-label);color:var(--color-text-muted)}h6{margin:0 0 var(--space-2);font-family:var(--font-family-display);font-size:var(--font-size-h6);font-weight:var(--font-weight-label);line-height:var(--line-height-label);letter-spacing:var(--letter-spacing-label);text-transform:var(--text-transform-label);color:var(--color-text-subtle)}p{margin:0 0 var(--space-5);font-family:var(--font-family-sans);font-size:var(--font-size-body);font-weight:var(--font-weight-body);line-height:var(--line-height-body);letter-spacing:.01em;color:var(--color-text-muted)}p:last-child{margin-bottom:0}a{color:var(--color-accent);transition:var(--transition-color), var(--transition-opacity);text-decoration:none}a:hover{color:var(--color-accent-hover)}a:focus-visible{outline:var(--border-width-hairline) solid var(--color-accent);outline-offset:var(--space-2)}nav{font-family:var(--font-family-display);font-size:var(--font-size-small);font-weight:var(--font-weight-nav);line-height:var(--line-height-label);letter-spacing:var(--letter-spacing-uppercase);text-transform:uppercase;color:var(--color-text-primary);background-color:var(--elevation-1);border-bottom:var(--border-width-hairline) solid var(--color-border-ghost)}nav a{color:inherit;letter-spacing:inherit;text-transform:inherit;text-decoration:none}nav a:hover{color:var(--color-accent-hover)}button{padding:var(--space-3) var(--space-6);font-family:var(--font-family-display);font-size:var(--font-size-small);font-weight:var(--font-weight-label);line-height:var(--line-height-label);letter-spacing:var(--letter-spacing-label);text-transform:var(--text-transform-label);color:var(--color-chrome-line);border:var(--border-width-hairline) solid var(--color-chrome-line);border-radius:var(--radius-none);box-shadow:var(--shadow-none);cursor:pointer;transition:var(--transition-color), var(--transition-border), var(--transition-background);background-color:#0000;margin:0}button:hover{color:var(--color-chrome-line);border-color:var(--color-accent);background-color:#0000}button:focus-visible{outline:var(--border-width-hairline) solid var(--color-accent);outline-offset:var(--space-2)}input,textarea,select{padding:var(--space-3) 0;width:100%;max-width:100%;font-family:var(--font-family-sans);font-size:var(--font-size-body);font-weight:var(--font-weight-body);line-height:var(--line-height-body);letter-spacing:.01em;color:var(--color-text-primary);border:none;border-bottom:var(--border-width-input) solid var(--color-input-line);border-radius:var(--radius-none);box-shadow:var(--shadow-none);transition:var(--transition-border), var(--transition-color);background-color:#0000;margin:0}input::placeholder,textarea::placeholder{color:var(--color-text-subtle);letter-spacing:normal}input:focus-visible,textarea:focus-visible,select:focus-visible{border-bottom-color:var(--color-accent);outline:none}form{width:100%;max-width:var(--layout-max-width-narrow);font-family:var(--font-family-sans);background-color:#0000;border:none;margin:0;padding:0;display:block}section{width:100%;padding-block:var(--padding-section-block);padding-inline:var(--padding-section-inline);background-color:var(--elevation-0);box-shadow:var(--shadow-none);border:none;margin:0;display:block}section:nth-of-type(2n){background-color:var(--elevation-1)}section>:not([data-full-bleed]){max-width:var(--layout-max-width);padding-inline:var(--padding-container-inline);margin-inline:auto}section [data-asymmetric-grid]{grid-template-columns:repeat(var(--grid-columns-default), minmax(0, 1fr));gap:var(--grid-gap-asymmetric);max-width:var(--layout-max-width);padding-inline:var(--padding-container-inline);margin-inline:auto;display:grid}section [data-asymmetric-grid]>[data-col-main]{grid-column:span var(--grid-column-main)}section [data-asymmetric-grid]>[data-col-aside]{grid-column:span var(--grid-column-aside)}section [data-full-bleed]{width:100vw;max-width:100vw;margin-inline:var(--layout-bleed-offset);padding-inline:var(--layout-edge-inset);background-color:var(--elevation-2);border-block:var(--border-width-hairline) solid var(--color-border-ghost)}footer{padding-block:var(--padding-section-inline-lg);padding-inline:var(--padding-section-inline);font-family:var(--font-family-display);font-size:var(--font-size-label);font-weight:var(--font-weight-label);line-height:var(--line-height-label);letter-spacing:var(--letter-spacing-label);text-transform:var(--text-transform-label);color:var(--color-text-subtle);background-color:var(--elevation-3);border-top:var(--border-width-hairline) solid var(--color-border-ghost);margin:0}footer a{color:var(--color-text-muted);letter-spacing:var(--letter-spacing-label);text-transform:var(--text-transform-label)}footer a:hover{color:var(--color-accent-hover)}:root{--site-header-offset:clamp(5.25rem, 9vw + 2.75rem, 8rem);--section-pad-block:clamp(2.5rem, 8vw, 4rem);--section-pad-inline:clamp(1.25rem, 4vw, 1.5rem);--hero-pad-inline:clamp(1.5rem, 6vw, 4.5rem)}html{scroll-behavior:smooth;scroll-padding-top:var(--site-header-offset)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}body:before{display:none}}body{overflow-wrap:break-word}#app{flex-direction:column;min-height:100vh;display:flex}#app header{z-index:10003;background-color:var(--elevation-2);width:100%;position:sticky;top:0}#intro,#experience,#articles,#documents,#contact{scroll-margin-top:var(--site-header-offset)}main{flex-direction:column;flex:1;min-width:0;display:flex}main>section{padding:0}.preview-section-inner{box-sizing:border-box;max-width:var(--layout-max-width);padding:var(--section-pad-block) var(--section-pad-inline);margin-inline:auto}main>section>.preview-section-inner{padding-inline:var(--section-pad-inline)}.preview-hero>.preview-hero-grid,.preview-hero>.scroll-cue{max-width:none;margin-inline:0;padding-inline:0}.preview-nav{transition:padding-block var(--duration-base) var(--easing-base);justify-content:space-between;align-items:center;column-gap:var(--space-6);row-gap:var(--space-4);padding-block:var(--space-5);padding-inline:var(--padding-section-inline);background-color:inherit;border-bottom:var(--border-width-hairline) solid var(--color-border-ghost);flex-flow:wrap;display:flex;position:relative}@media (width>=1040px){.is-scrolled .preview-nav{padding-block:var(--space-3)}}@media (prefers-reduced-motion:reduce){.preview-nav{transition:none}}.preview-nav:before{content:"";background-color:var(--color-accent);height:2px;transform:scaleX(var(--nav-rule,1));transform-origin:0;position:absolute;top:0;left:0;right:0}.preview-nav-brand{min-width:0;color:inherit;transition:transform var(--duration-base) var(--easing-base);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.preview-nav-logo{object-fit:contain;flex-shrink:0;width:clamp(34px,9vw,40px);height:clamp(34px,9vw,40px);display:block}a.preview-nav-brand:hover{transform:scale(1.08)}a.preview-nav-brand:focus-visible{outline:var(--border-width-hairline) solid var(--color-accent-hover);outline-offset:var(--space-2)}@media (prefers-reduced-motion:reduce){.preview-nav-brand,a.preview-nav-brand:hover{transition:none;transform:none}}.preview-nav-actions{justify-content:flex-end;align-items:center;gap:var(--space-6) clamp(1.5rem, 3vw, 4rem);flex-flow:wrap;flex:14rem;min-width:0;display:flex}.preview-nav-links{flex-wrap:wrap;flex:1;justify-content:flex-end;align-items:center;gap:clamp(1.5rem,2.4vw,3rem);display:flex}.preview-nav-links a{min-height:44px;font-family:var(--font-family-display);font-size:var(--font-size-small);font-weight:var(--font-weight-nav);letter-spacing:var(--letter-spacing-uppercase);text-transform:uppercase;color:var(--color-text-primary);transition:var(--transition-color);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.nav-link-label{align-items:center;min-height:44px;display:inline-flex;position:relative}.nav-link-label:after{content:"";background-color:var(--color-accent);width:0;height:2px;transition:width var(--duration-base) var(--easing-base);position:absolute;bottom:6px;left:0}.preview-nav-links a:hover,.preview-nav-links a:focus-visible{color:var(--color-accent-hover)}.preview-nav-links a:hover .nav-link-label:after,.preview-nav-links a:focus-visible .nav-link-label:after{width:100%}.preview-nav-links a:focus-visible{outline:var(--border-width-hairline) solid var(--color-accent-hover);outline-offset:var(--space-2)}.preview-nav-menu-btn,.preview-nav-backdrop{display:none}.preview-nav-panel-inner{display:contents}.preview-nav-menu-icon{width:1.25rem;height:.875rem;display:block;position:relative}.preview-nav-menu-line{transform-origin:50%;height:2px;transition:transform var(--duration-base) cubic-bezier(.22, 1, .36, 1), opacity var(--duration-base) cubic-bezier(.22, 1, .36, 1), top var(--duration-base) cubic-bezier(.22, 1, .36, 1), bottom var(--duration-base) cubic-bezier(.22, 1, .36, 1);background-color:currentColor;position:absolute;left:0;right:0}.preview-nav-menu-line:first-child{top:0}.preview-nav-menu-line:nth-child(2){top:50%;transform:translateY(-50%)}.preview-nav-menu-line:nth-child(3){bottom:0}.preview-nav--open .preview-nav-menu-line:first-child{top:50%;transform:translateY(-50%)rotate(45deg)}.preview-nav--open .preview-nav-menu-line:nth-child(2){opacity:0}.preview-nav--open .preview-nav-menu-line:nth-child(3){bottom:50%;transform:translateY(50%)rotate(-45deg)}@media (prefers-reduced-motion:reduce){.preview-nav-menu-line,.nav-link-label:after{transition:none}}.site-social{justify-content:flex-end;align-items:center;gap:var(--space-1);flex-wrap:wrap;display:inline-flex}.preview-nav .site-social:before{content:"";width:1px;height:20px;margin-right:var(--space-2);background-color:var(--color-border-ghost-strong)}.social-link{min-width:44px;min-height:44px;color:var(--color-text-muted);transition:var(--transition-color);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.social-link:hover{color:var(--color-accent-hover)}.social-link:focus-visible{outline:var(--border-width-hairline) solid var(--color-accent-hover);outline-offset:var(--space-2)}.social-icon{flex-shrink:0;width:1.375rem;height:1.375rem;display:block}.js-motion .preview-nav{--nav-rule:0}.js-motion .preview-nav-brand,.js-motion .preview-nav-menu-btn,.js-motion .hero-eyebrow-text,.js-motion .preview-tagline,.js-motion .preview-hero-copy .preview-lede,.js-motion .preview-actions>*,.js-motion .scroll-cue{opacity:0}.js-motion .hero-eyebrow-mark{transform:scale(0)}.js-motion .mask-line>span{transform:translateY(106%)}.js-motion .preview-tagline{--rule-scale:0}.js-motion .preview-hero-photo-wrap{clip-path:inset(0% 0% 100%)}@media (width>=1040px){.js-motion .preview-nav-links a,.js-motion .preview-nav .site-social .social-link{opacity:0}}@media print{.js-motion *,.mask-line>span,.experience-panel,[style*=opacity]{opacity:1!important;clip-path:none!important;visibility:visible!important;height:auto!important;transform:none!important}}.preview-hero{background-color:var(--elevation-0);position:relative;overflow:hidden}.preview-hero-grid{grid-template-columns:1fr;display:grid}@media (width>=840px){.preview-hero-grid{grid-template-columns:1fr 1fr;min-height:clamp(560px,92vh,900px)}}.preview-hero-copy{min-width:0;padding:clamp(2.5rem, 6vw, 5rem) var(--hero-pad-inline);flex-direction:column;justify-content:center;gap:clamp(1.5rem,3vw,2rem);display:flex}.hero-eyebrow{align-items:center;gap:var(--space-3);font-family:var(--font-family-display);font-size:var(--font-size-label);font-weight:var(--font-weight-label);letter-spacing:var(--letter-spacing-label);text-transform:uppercase;color:var(--color-text-muted);margin:0;display:flex}.hero-eyebrow-mark{background-color:var(--color-accent);flex-shrink:0;width:8px;height:8px}.preview-hero-copy h1{letter-spacing:-.03em;overflow-wrap:normal;margin:0;font-size:clamp(2.25rem,5.4vw,4.75rem);font-weight:800;line-height:.96}.mask-line{margin-block:-.08em;padding-block:.08em;display:block;overflow:hidden}.mask-line>span{display:block}.preview-tagline{padding-left:calc(var(--space-5) + 3px);font-size:var(--font-size-h4);letter-spacing:normal;color:var(--color-text-muted);margin:0;font-style:italic;position:relative}.preview-tagline:before{content:"";background-color:var(--color-accent);width:3px;transform:scaleY(var(--rule-scale,1));transform-origin:top;position:absolute;top:0;bottom:0;left:0}.preview-tagline em{font-style:italic}.preview-hero-copy .preview-lede{max-width:34rem;line-height:var(--line-height-body);color:var(--color-text-muted);margin:0}.preview-actions{align-items:center;gap:var(--space-6);flex-wrap:wrap;margin:0;display:flex}.preview-hero-photo-wrap{background-color:var(--elevation-2);min-height:320px;margin:0;padding:0;position:relative;overflow:hidden}.preview-hero-photo-wrap:after{content:"";pointer-events:none;mix-blend-mode:multiply;background:linear-gradient(#10101200 55%,#10101299 100%);position:absolute;inset:0}.preview-hero-photo{object-fit:cover;object-position:center top;filter:grayscale()contrast(1.05);width:100%;height:100%;display:block}.scroll-cue{left:var(--hero-pad-inline);bottom:var(--space-6);align-items:center;gap:var(--space-3);flex-direction:column;margin:0;display:flex;position:absolute}.scroll-cue-label{font-family:var(--font-family-display);font-size:var(--font-size-label);letter-spacing:var(--letter-spacing-label);text-transform:uppercase;color:var(--color-text-subtle)}.scroll-cue-track{background-color:var(--color-border-ghost-strong);width:1px;height:28px;display:block;position:relative}.scroll-cue-dot{background-color:var(--color-accent);width:5px;height:5px;animation:1.8s ease-in-out infinite fz-scroll-dot;position:absolute;top:0;left:-2px}@keyframes fz-scroll-dot{0%{opacity:0;transform:translateY(0)}30%{opacity:1}70%{opacity:1}to{opacity:0;transform:translateY(22px)}}@media (prefers-reduced-motion:reduce){.scroll-cue-dot{opacity:1;animation:none}}.preview-section-inner h2{text-align:center;margin-top:0}.preview-section-inner h2:after{content:"";width:3rem;height:3px;margin:var(--space-5) auto 0;background-color:var(--color-accent);transform:scaleX(var(--rule-scale,1));display:block}.preview-section-inner>.preview-lede{max-width:var(--layout-max-width-narrow);margin:0 auto var(--space-8);text-align:center;color:var(--color-text-muted)}.experience-index{margin-top:var(--space-8);border-top:var(--border-width-hairline) solid var(--color-border-ghost)}.experience-item{border-bottom:var(--border-width-hairline) solid var(--color-border-ghost)}.experience-heading{font-size:inherit;letter-spacing:normal;margin:0}.experience-trigger{justify-content:space-between;align-items:baseline;gap:var(--space-6);width:100%;padding:var(--space-6) var(--space-4);text-align:left;text-transform:none;letter-spacing:normal;cursor:pointer;transition:var(--transition-background);background-color:#0000;border:none;margin:0;display:flex}.experience-trigger:hover,.experience-item.is-open .experience-trigger{background-color:var(--color-accent-soft)}.experience-trigger:focus-visible{outline:var(--border-width-hairline) solid var(--color-focus-ring);outline-offset:-2px}.experience-num{width:3ch;font-family:var(--font-family-display);font-size:clamp(1rem,2vw,1.375rem);font-weight:var(--font-weight-heading);color:var(--color-text-subtle);flex-shrink:0}.experience-labels{flex:1;min-width:0}.experience-company{font-family:var(--font-family-display);font-size:clamp(1.75rem,5vw,3.25rem);font-weight:var(--font-weight-display);letter-spacing:var(--letter-spacing-tight);color:var(--color-text-primary);transition:var(--transition-color);line-height:1;display:block}.experience-trigger:hover .experience-company,.experience-item.is-open .experience-company{color:var(--color-accent-hover)}.experience-title{margin-top:var(--space-2);font-family:var(--font-family-sans);font-size:var(--font-size-small);font-weight:var(--font-weight-body);letter-spacing:normal;color:var(--color-text-muted);display:block}.experience-icon{border:var(--border-width-hairline) solid var(--color-chrome-line);width:32px;height:32px;transition:transform var(--duration-base) var(--easing-base);flex-shrink:0;position:relative;transform:rotate(0)}.experience-icon:before,.experience-icon:after{content:"";background-color:var(--color-chrome-line);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.experience-icon:before{width:13px;height:1px}.experience-icon:after{width:1px;height:13px}.experience-item.is-open .experience-icon{transform:rotate(45deg)}@media (prefers-reduced-motion:reduce){.experience-icon{transition:none}}.experience-panel{visibility:hidden;overflow:hidden}.experience-item.is-open .experience-panel{visibility:visible}.experience-panel-inner{min-height:0;border-inline-start:3px solid var(--color-accent);margin-inline-start:var(--space-4);padding-inline-start:var(--space-5)}.experience-panel-inner>:first-child{padding-top:var(--space-2)}.experience-panel-inner>:last-child{padding-bottom:var(--space-8)}.experience-meta{margin:0 0 var(--space-4);font-size:var(--font-size-small);letter-spacing:.02em;color:var(--color-text-subtle)}.experience-subheading{margin:var(--space-6) 0 var(--space-3);font-size:var(--font-size-h6)}.experience-bullets{margin:0 0 var(--space-5);padding-left:var(--space-6);color:var(--color-text-muted)}.experience-bullets li{margin-bottom:var(--space-3)}.preview-tech-tags{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.preview-tech-tags li{padding:var(--space-2) var(--space-3);font-family:var(--font-family-sans);font-size:var(--font-size-label);letter-spacing:var(--letter-spacing-label);text-transform:var(--text-transform-label);color:var(--color-text-muted);background-color:var(--color-accent-soft);border:var(--border-width-hairline) solid var(--color-border-ghost-strong);margin:0}.preview-articles,.preview-download-list{gap:clamp(1rem,3vw,1.5rem);margin:0;padding:0;list-style:none;display:grid}.preview-articles{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.preview-download-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.preview-articles>li,.preview-download-list>li{margin:0;display:flex}.preview-article-card,.document-card{border:var(--border-width-hairline) solid var(--color-border-ghost-strong);width:100%;transition:var(--transition-background), var(--transition-border);will-change:transform;background-color:#0000;flex-direction:column;text-decoration:none;display:flex}.preview-article-card:hover,.document-card:hover{background-color:var(--color-accent-soft);border-color:var(--color-accent-hover)}.preview-article-card:focus-visible,.document-card:focus-visible{outline:var(--border-width-hairline) solid var(--color-focus-ring);outline-offset:var(--space-2)}.preview-article-card{gap:var(--space-5);padding:var(--space-7) var(--space-6)}.preview-article-meta,.document-card-meta{font-size:var(--font-size-label);font-weight:var(--font-weight-label);letter-spacing:var(--letter-spacing-label);text-transform:var(--text-transform-label);color:var(--color-text-subtle)}.preview-article-card h3{font-family:var(--font-family-display);font-size:clamp(1.375rem,3vw,2rem);font-weight:var(--font-weight-heading-strong);letter-spacing:var(--letter-spacing-tight);text-transform:none;color:var(--color-text-primary);transition:var(--transition-color);margin:0;line-height:1.1}.preview-article-card:hover h3,.document-card:hover .document-card-label{color:var(--color-accent-hover)}.preview-article-desc{font-size:var(--font-size-body);line-height:var(--line-height-body);color:var(--color-text-muted);margin-bottom:auto}.preview-article-desc code{color:var(--color-text-primary);background-color:var(--elevation-2);border:var(--border-width-hairline) solid var(--color-border-ghost);padding:.125em .35em;font-family:ui-monospace,Consolas,monospace;font-size:.9em}.document-card{gap:var(--space-4);padding:var(--space-7) var(--space-6)}.document-card-label{font-family:var(--font-family-display);font-size:clamp(1.25rem,2.4vw,1.625rem);font-weight:var(--font-weight-heading-strong);letter-spacing:var(--letter-spacing-tight);color:var(--color-text-primary);transition:var(--transition-color)}.card-action{align-items:center;gap:var(--space-2);font-family:var(--font-family-display);font-size:var(--font-size-small);font-weight:var(--font-weight-nav);letter-spacing:var(--letter-spacing-uppercase);text-transform:uppercase;color:var(--color-accent-hover);margin-top:auto;display:inline-flex}.card-action-arrow{transition:transform var(--duration-base) var(--easing-base);display:inline-block}.preview-article-card:hover .card-action-arrow{transform:translate(6px)}.document-card:hover .card-action-arrow--diagonal{transform:translate(4px,-4px)}@media (prefers-reduced-motion:reduce){.card-action-arrow{transition:none}}.preview-articles-more{margin:var(--space-8) 0 0;text-align:center}.preview-cta-inline{font-family:var(--font-family-display);font-size:var(--font-size-small);font-weight:var(--font-weight-nav);letter-spacing:var(--letter-spacing-uppercase);text-transform:uppercase;color:var(--color-accent-hover);border-bottom:var(--border-width-hairline) solid var(--color-accent);padding-bottom:var(--space-2);transition:var(--transition-color), var(--transition-border);text-decoration:none;display:inline-block}.preview-cta-inline:hover{color:var(--color-accent);border-bottom-color:var(--color-chrome-line)}.preview-cta-inline:focus-visible{outline:var(--border-width-hairline) solid var(--color-focus-ring);outline-offset:var(--space-2)}.preview-contact-alt{margin-bottom:0}.preview-contact-alt .preview-cta-inline{padding-bottom:0}.preview-cta{box-sizing:border-box;min-height:44px;padding:var(--space-3) var(--space-6);font-family:var(--font-family-display);font-size:var(--font-size-small);font-weight:var(--font-weight-label);line-height:var(--line-height-label);letter-spacing:var(--letter-spacing-label);text-transform:var(--text-transform-label);color:var(--color-chrome-line);border:var(--border-width-hairline) solid var(--color-chrome-line);cursor:pointer;transition:var(--transition-color), var(--transition-border), var(--transition-background);background-color:#0000;justify-content:center;align-items:center;margin:0;text-decoration:none;display:inline-flex}.preview-cta:hover{color:var(--color-text-primary);background-color:var(--color-accent-soft);border-color:var(--color-accent-hover)}.preview-cta:focus-visible{outline:var(--border-width-hairline) solid var(--color-focus-ring);outline-offset:var(--space-2)}#app footer{padding-block:clamp(2rem,6vw,3rem);padding-inline:var(--section-pad-inline);background-color:var(--elevation-3)}#app footer .site-footer-inner{box-sizing:border-box;max-width:var(--layout-max-width);align-items:center;gap:var(--space-5);text-align:center;flex-direction:column;width:100%;margin-inline:auto;display:flex}#app footer .site-footer-nav{justify-content:center;align-items:center;column-gap:var(--space-5);flex-wrap:wrap;row-gap:0;display:flex}#app footer .site-footer-nav a{min-height:44px;padding-inline:var(--space-2);font-family:var(--font-family-display);font-size:var(--font-size-small);letter-spacing:var(--letter-spacing-nav);text-transform:uppercase;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.site-social--footer{justify-content:center;width:100%}.site-footer-copy{font-family:var(--font-family-display);font-size:var(--font-size-label);font-weight:var(--font-weight-label);letter-spacing:var(--letter-spacing-label);text-transform:uppercase;color:var(--color-text-subtle);margin:0}@media (width>=1040px){.preview-nav-menu-btn{display:none}.preview-nav-actions{justify-content:flex-end;align-items:center;gap:var(--space-6) clamp(1.5rem, 3vw, 4rem);z-index:auto;background-color:#0000;border:none;flex-flow:wrap;flex:14rem;width:auto;min-width:0;margin:0;padding:0;overflow:visible;visibility:visible!important;pointer-events:auto!important;display:flex!important;position:static!important;inset:auto!important}.preview-nav-panel-inner{display:contents;opacity:1!important;transform:none!important}.preview-nav-panel-inner .preview-nav-links a,.preview-nav-panel-inner .site-social .social-link{opacity:1!important;transform:none!important}.preview-nav-backdrop{display:none!important}}@media (width<=1039px){:root{--site-header-offset:clamp(3.75rem, 10vw + 2.25rem, 5.25rem)}html.nav-menu-open{overflow:hidden}.preview-nav{column-gap:var(--space-4);padding-block:var(--space-3);flex-wrap:nowrap;row-gap:0}.preview-nav-brand{justify-content:flex-start}.preview-nav-menu-btn{border:var(--border-width-hairline) solid var(--color-border-ghost-strong);width:44px;height:44px;color:var(--color-chrome-line);cursor:pointer;transition:var(--transition-color), var(--transition-border);background-color:#0000;flex-shrink:0;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex}.preview-nav-menu-btn:hover{color:var(--color-accent-hover);border-color:var(--color-accent-hover)}.preview-nav-menu-btn:focus-visible{outline:var(--border-width-hairline) solid var(--color-accent-hover);outline-offset:var(--space-2)}.preview-nav-actions{top:var(--site-header-offset);z-index:10002;visibility:hidden;pointer-events:none;background-color:#0000;border:none;flex-flow:column;flex:none;justify-content:flex-start;align-items:stretch;gap:0;width:100%;margin:0;padding:0;display:flex;position:fixed;bottom:0;left:0;right:0;overflow:hidden}.preview-nav.preview-nav--open .preview-nav-actions{visibility:visible;pointer-events:auto}.preview-nav:not(.preview-nav--open) .preview-nav-panel-inner .preview-nav-links a,.preview-nav:not(.preview-nav--open) .preview-nav-panel-inner .site-social .social-link{opacity:0}.preview-nav:not(.preview-nav--open) .preview-nav-panel-inner{opacity:0;transform:translateY(-1.25rem)}.preview-nav:not(.preview-nav--open) .preview-nav-backdrop{opacity:0}.preview-nav-backdrop{cursor:pointer;z-index:0;background-color:#101012c7;border:none;width:100%;height:100%;margin:0;padding:0;display:block;position:absolute;inset:0}.preview-nav-panel-inner{z-index:1;gap:var(--space-8);overscroll-behavior:contain;min-height:0;padding:var(--space-7) var(--padding-section-inline) var(--space-10);background-color:var(--elevation-1);border-top:var(--border-width-hairline) solid var(--color-border-ghost);flex-direction:column;flex:auto;display:flex;position:relative;overflow-y:auto}.preview-nav-links{width:100%;max-width:var(--layout-max-width-narrow);flex-direction:column;flex:none;justify-content:flex-start;align-items:stretch;gap:0;margin-inline:auto;display:flex}.preview-nav-links a{box-sizing:border-box;text-align:left;border-bottom:var(--border-width-hairline) solid var(--color-border-ghost);justify-content:flex-start;align-items:center;min-height:48px;display:flex}.preview-nav-links a:last-child{border-bottom:none}.nav-link-label{min-height:48px}.nav-link-label:after{display:none}.preview-nav .site-social{justify-content:center;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.preview-nav .site-social:before{display:none}}@media (width<=839px){.preview-hero-photo-wrap{height:min(75vw,26rem);min-height:0}.preview-hero-photo{object-position:center 28%}.scroll-cue{display:none}}@media (width<=719px){.social-icon{width:1.25rem;height:1.25rem}.experience-trigger{padding-inline:var(--space-2);gap:var(--space-4)}.experience-num{width:2.5ch}}@media (width<=380px){:root{--padding-section-inline:var(--space-4);--letter-spacing-uppercase:.12em;--letter-spacing-label:.12em;--site-header-offset:clamp(3.5rem, 9vw + 2rem, 5rem)}}
