@font-face{font-family:Fraunces;src:url(../media/Fraunces-latin.0rg7ym60g9xsl.woff2)format("woff2");font-weight:300 700;font-style:normal;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;src:url(../media/Fraunces-latin-ext.438h7bwt6ldsi.woff2)format("woff2");font-weight:300 700;font-style:normal;font-display:swap;unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;src:url(../media/Geist-Variable.2-i4fw5gbtlb7.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(../media/GeistMono-Variable.0b02cdm7g7y6h.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}:root{--paper:#f2eee5;--paper-2:#eae4d7;--bone:#fbf9f4;--ink:#16150f;--ink-2:#3d3a2f;--muted:#6b6656;--soil:#17160f;--soil-2:#201e15;--soil-3:#2a2719;--cream:#f4f0e6;--cream-2:#c9c3b0;--cream-3:#8e8974;--clay:#b4552b;--clay-text:#9e4620;--clay-bright:#d97742;--wheat:#c9a24a;--line:#16150f24;--line-2:#16150f47;--line-dark:#f4f0e624;--line-dark-2:#f4f0e64d;--font-display:"Fraunces", Georgia, "Times New Roman", serif;--font-sans:"Geist", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-mono:"Geist Mono", ui-monospace, "SF Mono", "Menlo", monospace;--ease:cubic-bezier(.16, 1, .3, 1);--ease-out:cubic-bezier(.33, 1, .68, 1);--gutter:clamp(20px, 4.5vw, 60px);--shell:74rem;--section-y:clamp(72px, 8.5vw, 132px);--nav-h:68px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);letter-spacing:-.011em;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:1rem;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,p,figure,dl,dd,ul,ol{margin:0;padding:0}ul,ol{list-style:none}img,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}[id]{scroll-margin-top:calc(var(--nav-h) + 20px)}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}::selection{background:var(--clay);color:var(--bone)}:focus-visible{outline:2px solid var(--clay-text);outline-offset:3px;border-radius:1px}.on-dark :focus-visible{outline-color:var(--clay-bright)}.cv-page{min-height:100dvh;position:relative;overflow:clip}.cv-page:after{content:"";z-index:9;pointer-events:none;opacity:.045;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:200px 200px;position:fixed;inset:0}.cv-shell{width:100%;max-width:var(--shell);padding-inline:var(--gutter);margin-inline:auto}.cv-skip-link{z-index:200;background:var(--ink);color:var(--paper);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;transition:transform .25s var(--ease);padding:12px 18px;font-size:.72rem;position:fixed;top:8px;left:8px;transform:translateY(-160%)}.cv-skip-link:focus-visible{transform:translateY(0)}.cv-kicker{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--clay-text);align-items:center;gap:10px;font-size:.68rem;font-weight:500;display:inline-flex}.cv-kicker:before{content:"";opacity:.7;background:currentColor;width:22px;height:1px}.on-dark .cv-kicker{color:var(--clay-bright)}.cv-index{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-size:.68rem;font-weight:500}.on-dark .cv-index{color:var(--cream-3)}.cv-button{border:1px solid var(--ink);background:var(--ink);height:50px;color:var(--paper);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;cursor:pointer;transition:background .4s var(--ease), color .4s var(--ease), border-color .4s var(--ease);justify-content:center;align-items:center;gap:12px;padding-inline:22px;font-size:.72rem;font-weight:500;display:inline-flex}.cv-button svg{width:.95em;height:.95em;transition:transform .4s var(--ease)}.cv-button:hover svg,.cv-button:focus-visible svg{transform:translate(3px,-3px)}.cv-button-down:hover svg,.cv-button-down:focus-visible svg{transform:translateY(3px)}.cv-button:hover{background:var(--clay);border-color:var(--clay);color:var(--bone)}.cv-button-secondary{color:var(--ink);border-color:var(--line-2);background:0 0}.cv-button-secondary:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}.on-dark .cv-button{background:var(--cream);border-color:var(--cream);color:var(--soil)}.on-dark .cv-button:hover{background:var(--clay-bright);border-color:var(--clay-bright);color:var(--soil)}.on-dark .cv-button-secondary{border-color:var(--line-dark-2);color:var(--cream);background:0 0}.on-dark .cv-button-secondary:hover{background:var(--cream);border-color:var(--cream);color:var(--soil)}.cv-chip{border:1px solid var(--line);font-family:var(--font-mono);letter-spacing:.06em;color:var(--ink-2);background:color-mix(in srgb, var(--bone) 60%, transparent);align-items:center;padding:5px 10px;font-size:.65rem;display:inline-flex}.on-dark .cv-chip{border-color:var(--line-dark);color:var(--cream-2);background:color-mix(in srgb, var(--cream) 5%, transparent)}.cv-link-inline{color:var(--ink);align-items:center;gap:6px;font-weight:450;display:inline-flex;position:relative}.cv-link-inline:after{content:"";transform-origin:0;height:1px;transition:transform .45s var(--ease);background:currentColor;position:absolute;bottom:-2px;left:0;right:0;transform:scaleX(0)}.cv-link-inline:hover:after,.cv-link-inline:focus-visible:after{transform:scaleX(1)}.on-dark .cv-link-inline{color:var(--cream)}[data-reveal]{opacity:0;transition:opacity .85s var(--ease-out), transform .85s var(--ease);transition-delay:calc(var(--reveal-delay,0) * 70ms);will-change:opacity, transform;transform:translateY(16px)}[data-reveal=in]{opacity:1;will-change:auto;transform:none}.cv-nav{z-index:60;color:var(--cream);transition:background .5s var(--ease), color .5s var(--ease), box-shadow .5s var(--ease);background:0 0;position:sticky;top:0}.cv-nav:before{content:"";background:color-mix(in srgb, var(--paper) 88%, transparent);-webkit-backdrop-filter:blur(14px)saturate(150%);border-bottom:1px solid var(--line);opacity:0;transition:opacity .45s var(--ease);position:absolute;inset:0}.cv-nav[data-stuck=true]{color:var(--ink)}.cv-nav[data-stuck=true]:before{opacity:1}.cv-nav-progress{width:100%;height:2px;transform:scaleX(var(--progress,0));transform-origin:0;background:var(--clay);opacity:0;transition:opacity .4s var(--ease);position:absolute;bottom:-1px;left:0}.cv-nav[data-stuck=true] .cv-nav-progress{opacity:1}.cv-nav-inner{z-index:1;min-height:var(--nav-h);align-items:center;gap:clamp(12px,2vw,28px);display:flex;position:relative}.cv-nav-brand{align-items:center;gap:10px;margin-right:auto;display:inline-flex}.cv-nav-mark{background:var(--clay);width:30px;height:30px;color:var(--bone);font-family:var(--font-mono);letter-spacing:.04em;transition:transform .5s var(--ease);place-items:center;font-size:.7rem;font-weight:600;display:grid}.cv-nav-brand:hover .cv-nav-mark{transform:rotate(-8deg)}.cv-nav-name{font-family:var(--font-display);letter-spacing:-.01em;font-variation-settings:"SOFT" 0, "WONK" 0, "opsz" 40;font-size:1rem;font-weight:500}.cv-nav-links{align-items:center;gap:clamp(14px,1.8vw,26px);display:none}.cv-nav-links a{color:color-mix(in srgb, currentColor 74%, transparent);transition:color .3s var(--ease);padding-block:4px;font-size:.9rem;position:relative}.cv-nav-links a:after{content:"";background:var(--clay);transform-origin:0;height:1px;transition:transform .45s var(--ease);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.cv-nav[data-stuck=false] .cv-nav-links a:after{background:var(--clay-bright)}.cv-nav-links a:hover,.cv-nav-links a[aria-current=true]{color:currentColor}.cv-nav-links a:hover:after,.cv-nav-links a[aria-current=true]:after{transform:scaleX(1)}.cv-nav-tools{align-items:center;gap:10px;display:flex}.cv-locale-switcher{border:1px solid color-mix(in srgb, currentColor 26%, transparent);align-items:center;display:flex}.cv-locale-switcher a{font-family:var(--font-mono);letter-spacing:.08em;color:color-mix(in srgb, currentColor 66%, transparent);transition:background .3s var(--ease), color .3s var(--ease);padding:6px 9px;font-size:.64rem;font-weight:500}.cv-locale-switcher a+a{border-left:1px solid color-mix(in srgb, currentColor 18%, transparent)}.cv-locale-switcher a:hover{color:currentColor}.cv-locale-switcher a[aria-current=page]{background:var(--cream);color:var(--soil)}.cv-nav[data-stuck=true] .cv-locale-switcher a[aria-current=page]{background:var(--ink);color:var(--paper)}.cv-nav-cta{border:1px solid color-mix(in srgb, currentColor 30%, transparent);height:38px;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;transition:background .35s var(--ease), color .35s var(--ease), border-color .35s var(--ease);align-items:center;gap:9px;padding-inline:14px;font-size:.64rem;font-weight:500;display:none}.cv-nav-cta svg{width:.95em;height:.95em;transition:transform .35s var(--ease)}.cv-nav-cta:hover{background:var(--clay);border-color:var(--clay);color:var(--bone)}.cv-nav-cta:hover svg{transform:translateY(3px)}.cv-nav-toggle{border:1px solid color-mix(in srgb, currentColor 30%, transparent);cursor:pointer;background:0 0;place-items:center;width:40px;height:38px;display:inline-grid}.cv-nav-toggle span{width:17px;height:11px;display:block;position:relative}.cv-nav-toggle span i{width:100%;height:1.5px;transition:transform .4s var(--ease), opacity .25s var(--ease);background:currentColor;position:absolute;left:0}.cv-nav-toggle span i:first-child{top:0}.cv-nav-toggle span i:nth-child(2){top:5px}.cv-nav-toggle span i:nth-child(3){top:10px}.cv-nav-toggle[aria-expanded=true] span i:first-child{transform:translateY(5px)rotate(45deg)}.cv-nav-toggle[aria-expanded=true] span i:nth-child(2){opacity:0}.cv-nav-toggle[aria-expanded=true] span i:nth-child(3){transform:translateY(-5px)rotate(-45deg)}.cv-nav-scrim{inset:var(--nav-h) 0 0 0;z-index:0;cursor:default;animation:scrimIn .4s var(--ease);background:#16150f80;border:0;padding:0;position:fixed}@keyframes scrimIn{0%{opacity:0}}.cv-nav-sheet{z-index:1;max-height:calc(100dvh - var(--nav-h));overscroll-behavior:contain;background:var(--paper);color:var(--ink);border-top:1px solid var(--line);border-bottom:1px solid var(--line);animation:sheetIn .4s var(--ease);position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 24px 48px -28px #16150f80}@keyframes sheetIn{0%{opacity:0;transform:translateY(-8px)}}.cv-nav-sheet nav{flex-direction:column;padding-block:8px 20px;display:flex}.cv-nav-sheet nav a{border-bottom:1px solid var(--line);color:var(--ink-2);transition:color .3s var(--ease), padding-left .3s var(--ease);justify-content:space-between;align-items:center;gap:16px;padding-block:15px;font-size:1.05rem;display:flex}.cv-nav-sheet nav a:hover{color:var(--clay-text);padding-left:6px}.cv-nav-sheet nav a svg{width:.85em;height:.85em;color:var(--muted)}.cv-nav-sheet nav a.cv-button{border-bottom:1px solid var(--ink);width:100%;color:var(--paper);justify-content:center;margin-top:22px;padding-block:0;font-size:.72rem}.cv-nav-sheet nav a.cv-button:hover{border-bottom-color:var(--clay);color:var(--bone);padding-left:22px}.cv-hero{margin-top:calc(var(--nav-h) * -1);padding-top:calc(var(--nav-h) + clamp(48px, 7vw, 96px));background:var(--soil);color:var(--cream);padding-bottom:clamp(56px,7vw,104px);position:relative;overflow:hidden}.cv-hero-backdrop{pointer-events:none;opacity:.55;position:absolute;inset:0}.cv-hero-backdrop svg{width:100%;height:100%;position:absolute;inset:0}.cv-hero-backdrop path{fill:none;stroke:var(--wheat);stroke-width:1px;vector-effect:non-scaling-stroke;opacity:.18;stroke-dasharray:1400;stroke-dashoffset:1400px;animation:drawLine 2.6s var(--ease) forwards;animation-delay:calc(var(--line-i,0) * .16s + .26s)}@keyframes drawLine{to{stroke-dashoffset:0}}.cv-hero-glow{aspect-ratio:1;pointer-events:none;background:radial-gradient(circle,#b4552b38 0%,#b4552b00 66%);width:min(60vw,720px);position:absolute;top:-22%;right:-12%}.cv-hero-inner{z-index:1;align-items:start;gap:clamp(44px,6vw,76px);display:grid;position:relative}.cv-hero-name{font-family:var(--font-display);letter-spacing:-.028em;font-variation-settings:"SOFT" 0, "WONK" 0, "opsz" 144;margin-top:22px;font-size:clamp(2.9rem,7.4vw,5.6rem);font-weight:400;line-height:.94}.cv-hero-statement{max-width:22ch;font-family:var(--font-display);letter-spacing:-.015em;color:var(--cream);font-variation-settings:"SOFT" 0, "WONK" 0, "opsz" 60;margin-top:clamp(24px,3vw,34px);font-size:clamp(1.35rem,2.5vw,2rem);font-weight:300;line-height:1.22}.cv-hero-summary{max-width:54ch;color:var(--cream-2);margin-top:20px;font-size:clamp(.98rem,1.1vw,1.06rem);line-height:1.68}.cv-hero-actions{flex-wrap:wrap;gap:12px;margin-top:clamp(28px,3vw,38px);display:flex}.cv-hero-meta{border-top:1px solid var(--line-dark);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--cream-3);flex-wrap:wrap;align-items:center;gap:9px 16px;margin-top:clamp(30px,3.4vw,40px);padding-top:20px;font-size:.645rem;display:flex}.cv-hero-meta a{color:var(--cream-2);transition:color .3s var(--ease);align-items:center;gap:5px;display:inline-flex}.cv-hero-meta a:hover{color:var(--clay-bright)}.cv-hero-meta svg{width:.85em;height:.85em}.cv-hero-products{border-top:1px solid var(--line-dark-2);padding-top:18px}.cv-hero-products-head{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.cv-hero-products-head p:last-child{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--cream-3);font-size:.64rem}.cv-hero-product-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(8px,1.2vw,14px);margin-top:22px;display:grid}.cv-hero-product{transition:transform .55s var(--ease);flex-direction:column;gap:10px;display:flex}.cv-hero-product:nth-child(2){transform:translateY(clamp(12px,2.4vw,26px))}.cv-hero-product:nth-child(3){transform:translateY(clamp(24px,4.8vw,52px))}.cv-hero-product:hover,.cv-hero-product:focus-visible{transform:translateY(-6px)}.cv-hero-product:nth-child(2):hover,.cv-hero-product:nth-child(2):focus-visible{transform:translateY(calc(clamp(12px,2.4vw,26px) - 6px))}.cv-hero-product:nth-child(3):hover,.cv-hero-product:nth-child(3):focus-visible{transform:translateY(calc(clamp(24px,4.8vw,52px) - 6px))}.cv-hero-product-visual{border:1px solid var(--line-dark);background:var(--soil-2);display:block;position:relative;overflow:hidden}.cv-hero-product-visual img{width:100%;height:auto;transition:transform .7s var(--ease)}.cv-hero-product:hover .cv-hero-product-visual img{transform:scale(1.035)}.cv-hero-product-index{z-index:1;background:var(--clay);color:var(--bone);font-family:var(--font-mono);letter-spacing:.06em;padding:3px 6px;font-size:.6rem;position:absolute;top:0;left:0}.cv-hero-product-caption{font-family:var(--font-mono);letter-spacing:.07em;text-transform:uppercase;flex-direction:column;gap:2px;font-size:.6rem;display:flex}.cv-hero-product-caption span:first-child{color:var(--cream)}.cv-hero-product-caption span:last-child{color:var(--cream-3)}.cv-hero-status{border-top:1px solid var(--line-dark);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--cream-2);align-items:center;gap:10px;margin-top:clamp(46px,6vw,74px);padding-top:18px;font-size:.68rem;display:flex}.cv-hero-status i{background:var(--clay-bright);flex:none;width:7px;height:7px;position:relative}.cv-hero-status i:after{content:"";background:inherit;animation:ping 2.6s var(--ease) infinite;position:absolute;inset:0}@keyframes ping{0%{opacity:.7;transform:scale(1)}70%,to{opacity:0;transform:scale(3.2)}}.cv-hero-status span:last-child{color:var(--cream-3)}.cv-section{padding-block:var(--section-y);position:relative}.cv-section-paper-2{background:var(--paper-2)}.cv-section-dark{background:var(--soil);color:var(--cream)}.cv-section-head{border-top:1px solid var(--line);gap:clamp(18px,2.4vw,30px);padding-top:22px;display:grid}.cv-section-dark .cv-section-head{border-top-color:var(--line-dark-2)}.cv-section-head h2{font-family:var(--font-display);letter-spacing:-.026em;font-variation-settings:"SOFT" 0, "WONK" 0, "opsz" 120;max-width:18ch;font-size:clamp(2.1rem,4.4vw,3.5rem);font-weight:400;line-height:1.04}.cv-section-head-intro{max-width:46ch;color:var(--muted);font-size:clamp(.98rem,1.1vw,1.06rem);line-height:1.65}.cv-section-dark .cv-section-head-intro{color:var(--cream-2)}.cv-impact-board{background:var(--line);border:1px solid var(--line);gap:1px;margin-top:clamp(40px,5vw,62px);display:grid}.cv-impact-cell{background:var(--paper);transition:background .45s var(--ease);flex-direction:column;gap:6px;padding:clamp(22px,2.6vw,32px);display:flex;position:relative}.cv-impact-cell:hover{background:var(--bone)}.cv-impact-cell dt{flex-direction:column;gap:8px;display:flex}.cv-impact-cell-lead{background:var(--soil);color:var(--cream)}.cv-impact-cell-lead:hover{background:var(--soil-2)}.cv-impact-value{font-family:var(--font-display);letter-spacing:-.03em;font-variation-settings:"SOFT" 0, "WONK" 0, "opsz" 144;font-size:clamp(2.6rem,5.4vw,4.2rem);font-weight:400;line-height:.92}.cv-impact-cell-lead .cv-impact-value{color:var(--clay-bright)}.cv-impact-label{color:var(--ink);font-size:1rem;font-weight:500;line-height:1.35}.cv-impact-cell-lead .cv-impact-label{color:var(--cream)}.cv-impact-detail{font-family:var(--font-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-top:4px;font-size:.66rem}.cv-impact-cell-lead .cv-impact-detail{color:var(--cream-3)}.cv-impact-cell-index{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);order:-1;margin-bottom:clamp(14px,2vw,26px);font-size:.64rem;font-weight:500}.cv-impact-cell-lead .cv-impact-cell-index{color:var(--clay-bright)}.cv-work-reels{gap:clamp(18px,2vw,26px);margin-top:clamp(40px,5vw,62px);display:grid}.cv-work-case{border:1px solid var(--line-dark);background:var(--soil-2);transition:border-color .5s var(--ease), background .5s var(--ease);display:grid;overflow:hidden}.cv-work-case:hover{border-color:var(--line-dark-2);background:var(--soil-3)}.cv-work-media{background:var(--line-dark);grid-auto-columns:1fr;grid-auto-flow:column;gap:1px;display:grid}.cv-work-surface{background:var(--soil);display:block;position:relative;overflow:hidden}.cv-work-surface-media{height:clamp(224px,25vw,312px);display:block;position:relative;overflow:hidden}.cv-work-surface-media img{object-fit:cover;object-position:top center;width:100%;height:100%;transition:transform .9s var(--ease), opacity .6s var(--ease)}.cv-work-surface-image-2{opacity:0;position:absolute;inset:0}.cv-work-surface:hover .cv-work-surface-image-1{opacity:0}.cv-work-surface:hover .cv-work-surface-image-2{opacity:1}.cv-work-surface:hover .cv-work-surface-media img{transform:scale(1.04)}.cv-work-surface-caption{border-top:1px solid var(--line-dark);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--cream-3);justify-content:space-between;align-items:center;gap:14px;padding:13px 16px;font-size:.64rem;display:flex}.cv-work-surface-caption strong{color:var(--cream);font-weight:500}.cv-work-surface-caption span:last-child{white-space:nowrap;transition:color .3s var(--ease);align-items:center;gap:5px;display:inline-flex}.cv-work-surface-caption svg{width:.9em;height:.9em;transition:transform .4s var(--ease)}.cv-work-surface:hover .cv-work-surface-caption span:last-child{color:var(--clay-bright)}.cv-work-surface:hover .cv-work-surface-caption svg{transform:translate(2px,-2px)}.cv-work-body{border-top:1px solid var(--line-dark);gap:clamp(16px,2vw,26px);padding:clamp(22px,2.6vw,32px);display:grid}.cv-work-identity{align-items:baseline;gap:14px;display:flex}.cv-work-number{font-family:var(--font-mono);letter-spacing:.1em;color:var(--cream-3);padding-top:6px;font-size:.66rem}.cv-work-identity h3{font-family:var(--font-display);letter-spacing:-.02em;font-variation-settings:"SOFT" 0, "WONK" 0, "opsz" 72;font-size:clamp(1.5rem,2.4vw,2rem);font-weight:400;line-height:1.1}.cv-work-role{color:var(--cream-2);margin-top:5px;font-size:.94rem}.cv-work-meta{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--cream-3);flex-wrap:wrap;gap:6px 16px;margin-top:10px;font-size:.64rem;display:flex}.cv-work-contribution dt{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--cream-3);font-size:.64rem}.cv-work-contribution dd{max-width:62ch;color:var(--cream);margin-top:10px;font-size:1rem;line-height:1.6}.cv-capabilities{background:var(--line);border:1px solid var(--line);gap:1px;margin-top:clamp(40px,5vw,62px);display:grid}.cv-capability{background:var(--paper);transition:background .45s var(--ease);flex-direction:column;gap:14px;padding:clamp(24px,2.8vw,34px);display:flex}.cv-capability:hover{background:var(--bone)}.cv-capability-head{min-height:3.2em;font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:4px 12px;font-size:.64rem;display:flex}.cv-capability-head b{color:var(--clay-text);font-weight:500}.cv-capability h3{font-family:var(--font-display);letter-spacing:-.02em;font-variation-settings:"SOFT" 0, "WONK" 0, "opsz" 72;font-size:clamp(1.4rem,2vw,1.75rem);font-weight:400;line-height:1.14}.cv-capability p{color:var(--ink-2);font-size:.97rem;line-height:1.62}.cv-capability ul{flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:8px;display:flex}.cv-oss-grid{gap:clamp(18px,2vw,24px);margin-top:clamp(40px,5vw,62px);display:grid}.cv-oss-card{border:1px solid var(--line-dark);background:var(--soil-2);transition:background .45s var(--ease), border-color .45s var(--ease);flex-direction:column;gap:12px;padding:clamp(24px,2.8vw,34px);display:flex}.cv-oss-card:hover{background:var(--soil-3);border-color:var(--line-dark-2)}.cv-oss-card-index{font-family:var(--font-mono);letter-spacing:.12em;color:var(--cream-3);font-size:.64rem}.cv-oss-card h3{font-family:var(--font-mono);letter-spacing:-.01em;color:var(--cream);overflow-wrap:anywhere;font-size:clamp(1rem,1.5vw,1.18rem);font-weight:500}.cv-oss-card p{color:var(--cream-2);font-size:.96rem;line-height:1.62}.cv-oss-card a{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--clay-bright);align-items:center;gap:8px;margin-top:auto;padding-top:12px;font-size:.66rem;display:inline-flex}.cv-oss-card a svg{width:.95em;height:.95em;transition:transform .4s var(--ease)}.cv-oss-card a:hover svg{transform:translate(3px,-3px)}.cv-oss-footer{border-top:1px solid var(--line-dark);color:var(--cream-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;margin-top:clamp(28px,3vw,40px);padding-top:22px;font-size:.97rem;display:flex}.cv-experience-list{border-top:1px solid var(--line);margin-top:clamp(40px,5vw,62px)}.cv-experience{border-bottom:1px solid var(--line);transition:background .4s var(--ease);gap:10px 28px;padding-block:clamp(22px,2.6vw,30px);display:grid}.cv-experience-index{font-family:var(--font-mono);letter-spacing:.1em;color:var(--muted);font-size:.66rem}.cv-experience-primary h3{font-family:var(--font-display);letter-spacing:-.02em;font-variation-settings:"SOFT" 0, "WONK" 0, "opsz" 72;font-size:clamp(1.3rem,1.9vw,1.6rem);font-weight:400;line-height:1.14}.cv-experience-primary p{color:var(--ink-2);margin-top:4px;font-size:.95rem}.cv-experience-meta{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);flex-direction:column;gap:3px;font-size:.64rem;display:flex}.cv-experience-detail>p{color:var(--ink-2);max-width:60ch;font-size:.99rem;line-height:1.62}.cv-experience-detail details{margin-top:14px}.cv-experience-detail summary{cursor:pointer;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);transition:color .3s var(--ease);align-items:center;gap:9px;font-size:.64rem;list-style:none;display:inline-flex}.cv-experience-detail summary::-webkit-details-marker{display:none}.cv-experience-detail summary:hover{color:var(--clay-text)}.cv-experience-detail summary i{flex:none;width:10px;height:10px;position:relative}.cv-experience-detail summary i:before,.cv-experience-detail summary i:after{content:"";transition:transform .4s var(--ease), opacity .3s var(--ease);background:currentColor;position:absolute}.cv-experience-detail summary i:before{width:10px;height:1px;top:4.5px;left:0}.cv-experience-detail summary i:after{width:1px;height:10px;top:0;left:4.5px}.cv-experience-detail details[open] summary i:after{opacity:0;transform:rotate(90deg)}.cv-experience-detail details>div{animation:detailIn .45s var(--ease);padding-top:16px}@keyframes detailIn{0%{opacity:0;transform:translateY(-6px)}}.cv-experience-points{gap:10px;max-width:62ch;display:grid}.cv-experience-points li{color:var(--ink-2);padding-left:20px;font-size:.96rem;line-height:1.6;position:relative}.cv-experience-points li:before{content:"";background:var(--clay);width:9px;height:1px;position:absolute;top:.62em;left:0}.cv-experience-stack{flex-wrap:wrap;gap:6px;margin-top:18px;display:flex}.cv-contact{padding-block:var(--section-y);background:var(--soil);color:var(--cream);position:relative}.cv-contact-grid{align-items:start;gap:clamp(36px,5vw,64px);margin-top:clamp(30px,3.4vw,44px);display:grid}.cv-contact h2{font-family:var(--font-display);letter-spacing:-.028em;font-variation-settings:"SOFT" 0, "WONK" 0, "opsz" 144;max-width:15ch;font-size:clamp(2.3rem,5.2vw,4rem);font-weight:400;line-height:1.02}.cv-contact-intro{max-width:48ch;color:var(--cream-2);margin-top:20px;font-size:clamp(1rem,1.1vw,1.08rem);line-height:1.65}.cv-contact-actions{flex-wrap:wrap;gap:12px;margin-top:clamp(26px,3vw,34px);display:flex}.cv-contact-list{border-top:1px solid var(--line-dark);font-style:normal;display:grid}.cv-contact-list a,.cv-contact-list div{border-bottom:1px solid var(--line-dark);transition:padding-left .4s var(--ease), color .3s var(--ease);justify-content:space-between;align-items:baseline;gap:16px;padding-block:16px;display:flex}.cv-contact-list a:hover{color:var(--clay-bright);padding-left:8px}.cv-contact-list dt,.cv-contact-list-label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--cream-3);flex:none;font-size:.62rem}.cv-contact-list-value{text-align:right;overflow-wrap:anywhere;align-items:center;gap:7px;font-size:.98rem;display:inline-flex}.cv-contact-list svg{flex:none;width:.85em;height:.85em}.cv-contact-footer{border-top:1px solid var(--line-dark);font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--cream-3);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-top:clamp(46px,6vw,78px);padding-top:22px;font-size:.64rem;display:flex}.cv-contact-footer a{white-space:nowrap;transition:color .3s var(--ease);align-items:center;gap:7px;display:inline-flex}.cv-contact-footer a:hover{color:var(--clay-bright)}@media (min-width:640px){.cv-impact-board,.cv-oss-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cv-nav-cta{display:inline-flex}}@media (min-width:860px){.cv-hero-inner{grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);align-items:center}.cv-section-head{grid-template-columns:minmax(0,8rem) minmax(0,1fr) minmax(0,.85fr);align-items:start;gap:clamp(20px,3vw,44px)}.cv-section-head-intro{padding-top:8px}.cv-capabilities{grid-template-columns:repeat(3,minmax(0,1fr))}.cv-work-case{grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);align-items:stretch}.cv-work-body{border-top:0;border-left:1px solid var(--line-dark);align-content:start}.cv-experience{grid-template-columns:minmax(0,2.2rem) minmax(0,1fr) minmax(0,9rem) minmax(0,1.35fr);align-items:start}.cv-experience-meta{text-align:right;align-items:flex-end}.cv-contact-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}}@media (min-width:1000px){.cv-nav-links{display:flex}.cv-nav-toggle{display:none}.cv-impact-board{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr}}@media (max-width:859px){.cv-section-head h2{max-width:20ch}.cv-hero-products{max-width:520px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;transition-delay:0s!important;animation-duration:.001ms!important;animation-iteration-count:1!important;animation-delay:0s!important}[data-reveal]{opacity:1;transform:none}.cv-hero-backdrop path{stroke-dashoffset:0}.cv-hero-product:nth-child(2),.cv-hero-product:nth-child(3){transform:none}}@media print{:root{--paper:#fff;--soil:#fff;--soil-2:#fff;--cream:#000;--cream-2:#333;--cream-3:#555}.cv-nav,.cv-skip-link,.cv-hero-backdrop,.cv-hero-glow,.cv-hero-actions,.cv-contact-actions,.cv-page:after{display:none!important}.cv-hero,.cv-section-dark,.cv-contact,.cv-work-case,.cv-oss-card,.cv-impact-cell-lead{color:#000!important;background:#fff!important;border-color:#ccc!important}[data-reveal]{opacity:1!important;transform:none!important}.cv-section,.cv-experience,.cv-work-case{break-inside:avoid}.cv-experience-detail details{display:none}}
