@import "https://fonts.googleapis.com/css2?family=Montserrat:wght@300..700&family=Poppins:wght@200;300;400;500;600;700&display=swap";@layer base{*,:before,:after{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){html{--lightningcss-light: ;--lightningcss-dark:initial}}body{font-family:var(--font-sans);font-weight:300;font-size:var(--text-md);line-height:var(--leading-normal);letter-spacing:.02em;color:var(--ink-soft);background:var(--paper);-webkit-font-smoothing:antialiased;margin:0}::selection{background:var(--accent);color:var(--paper)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1,h2,h3,h4,h5,h6{line-height:var(--leading-tight);margin-block:0 var(--space-sm);text-wrap:balance}h1{font-family:var(--font-display);font-weight:500;font-size:var(--text-3x);letter-spacing:.02em;text-transform:uppercase;color:var(--ink-soft)}h2{font-family:var(--font-display);font-weight:600;font-size:var(--text-2x);letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}h3{font-family:var(--font-sub);font-weight:300;font-size:var(--text-xl);letter-spacing:-.04em;color:var(--ink)}h4,h5{font-family:var(--font-sub);font-weight:400;font-size:var(--text-lg);letter-spacing:-.04em;color:var(--ink-soft)}h6{font-family:var(--font-display);font-weight:500;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.14em;color:var(--ink-faint)}p{margin-block:0 var(--space-sm);max-width:var(--measure)}small{font-size:var(--text-sm);color:var(--ink-soft)}a{color:var(--accent);-webkit-text-decoration-color:color-mix(in oklch, var(--accent) 40%, transparent);text-decoration-color:color-mix(in oklch, var(--accent) 40%, transparent);text-underline-offset:.2em;transition:text-decoration-color var(--snap)}a:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}code,kbd,samp,pre{font-family:var(--font-mono);font-size:.9em}code{background:var(--wash);padding:.1em .35em}pre{background:var(--wash);padding:var(--space-sm);overflow-x:auto}pre>code{background:0 0;padding:0}blockquote{margin:0 0 var(--space-sm);border-inline-start:var(--border-hair);color:var(--ink-faint);max-width:var(--measure);padding-inline-start:var(--space-md)}hr{border:none;border-top:var(--border-hair);margin-block:var(--space-lg)}ul,ol{margin-block:0 var(--space-sm);padding-inline-start:var(--space-md)}li{margin-block-end:.25em}li>ul,li>ol{margin-block:.25em 0}::marker{color:var(--ink-faint)}nav :is(ul,ol),[role=list]{max-width:none;margin-block:0;padding-inline-start:0;list-style:none}:is(nav :is(ul,ol),[role=list])>li{margin-block-end:0}dl{margin-block:0 var(--space-sm);max-width:var(--measure)}dt{font-weight:600}dd{color:var(--ink-soft);margin-block-end:var(--space-xs);margin-inline-start:0}figure{margin:0 0 var(--space-sm)}figcaption{font-size:var(--text-sm);color:var(--ink-faint);margin-block-start:var(--space-xs)}address{font-style:normal}mark{background:var(--accent-wash);color:var(--ink);padding:.1em .2em}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;-webkit-text-decoration-color:var(--ink-faint);text-decoration-color:var(--ink-faint);cursor:help}sub,sup{line-height:0}button{font-family:var(--font-display);font-weight:450;font-size:var(--text-xs);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);border:var(--border-hair);padding:var(--space-sm) var(--space-md);cursor:pointer;transition:background var(--snap), border-color var(--snap), color var(--snap);background:0 0}button:hover:not(:disabled){background:color-mix(in oklch, var(--ink) 5%, transparent);border-color:var(--ink-soft);color:var(--ink)}button:active:not(:disabled){background:var(--accent-wash);border-color:var(--ink)}button:disabled{color:var(--ink-faint);background:var(--wash);cursor:not-allowed;border-color:#0000}input,textarea,select{font:inherit;color:var(--ink);background:var(--wash);padding:var(--space-xs) var(--space-sm);transition:border-color var(--snap), background var(--snap);border:1px solid #0000}input:focus,textarea:focus,select:focus{background:var(--paper);border-color:var(--accent);outline:none}input:user-invalid{border-color:var(--danger)}textarea{resize:vertical;min-block-size:6rem}input[type=checkbox],input[type=radio]{block-size:1.05rem;inline-size:1.05rem;accent-color:var(--ink);cursor:pointer;vertical-align:text-bottom;background:0 0;border:none;padding:0}input[type=checkbox]:disabled,input[type=radio]:disabled{cursor:not-allowed}input[type=range]{appearance:none;cursor:pointer;background:0 0;border:none;block-size:1.25rem;inline-size:100%;padding:0}input[type=range]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input[type=range]::-webkit-slider-runnable-track{background:var(--line);block-size:.125rem}input[type=range]::-webkit-slider-thumb{appearance:none;border-radius:var(--radius);background:var(--accent);block-size:.875rem;inline-size:.875rem;transition:background var(--snap);margin-block-start:-.375rem}input[type=range]::-moz-range-track{background:var(--line);block-size:.125rem}input[type=range]::-moz-range-thumb{border-radius:var(--radius);background:var(--accent);block-size:.875rem;inline-size:.875rem;transition:background var(--snap);border:none}input[type=range]:disabled{cursor:not-allowed}input[type=range]:disabled::-webkit-slider-thumb{background:var(--ink-faint)}input[type=range]:disabled::-moz-range-thumb{background:var(--ink-faint)}label{font-size:var(--text-sm);color:var(--ink-soft);margin-block-end:var(--space-xs);display:block}fieldset{border:none;border-inline-start:var(--border-hair);padding:var(--space-xs) var(--space-md)}legend{font-family:var(--font-display);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.14em;color:var(--ink-faint);padding-inline:var(--space-xs)}details{background:var(--wash)}summary{padding:var(--space-xs) var(--space-sm);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--snap)}summary:hover{background:var(--accent-wash)}details[open]>summary{border-block-end:var(--border-hair)}details>:not(summary){padding:var(--space-sm)}dialog{color:var(--ink);background:var(--paper);box-shadow:0 .125rem .875rem var(--hairline);border:none;max-width:min(90vw,32rem);margin:auto;padding:0}dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:oklch(10% .01 260/.5)}dialog>header{justify-content:space-between;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-block-end:var(--border-hair);display:flex}dialog>header>button{padding:var(--space-xs);background:0 0;border:none}dialog>article{padding:var(--space-md)}dialog>footer{justify-content:flex-end;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-block-start:var(--border-hair);display:flex}table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}th,td{text-align:start;padding:var(--space-xs) var(--space-sm);border-block-end:var(--border-hair)}th{font-family:var(--font-display);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.14em;color:var(--ink-faint)}progress{appearance:none;background:var(--wash);block-size:.25rem;inline-size:100%;color:var(--ink);border:none;overflow:hidden}progress::-webkit-progress-bar{background:var(--wash)}progress::-webkit-progress-value{background:var(--ink);transition:inline-size var(--snap)}progress::-moz-progress-bar{background:var(--ink)}progress:indeterminate{background-image:linear-gradient(90deg, transparent 0%, var(--ink) 50%, transparent 100%);background-repeat:no-repeat;background-size:40% 100%;animation:1.2s ease-in-out infinite progress-slide}progress:indeterminate::-webkit-progress-bar{background:0 0}@keyframes progress-slide{0%{background-position:-40% 0}to{background-position:140% 0}}img,svg,video{max-width:100%;height:auto;display:block}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}}@layer components{button.primary{background:var(--accent);border-color:var(--accent);color:var(--paper)}button.primary:hover:not(:disabled){background:var(--accent-strong);border-color:var(--accent-strong)}button.ghost{background:0 0;border-color:#0000}button.ghost:hover:not(:disabled){background:var(--wash);color:var(--ink-soft);border-color:#0000}button.danger{color:var(--danger);border-color:var(--danger);background:0 0}button.danger:hover:not(:disabled){background:var(--danger);border-color:var(--danger);color:var(--paper)}button.small{padding:.15rem var(--space-sm);font-size:var(--text-sm)}a[data-button]{align-items:center;gap:var(--space-xs);font-family:var(--font-display);font-weight:450;font-size:var(--text-xs);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);border:var(--border-hair);padding:var(--space-sm) var(--space-md);transition:background var(--snap), border-color var(--snap), color var(--snap);background:0 0;text-decoration:none;display:inline-flex}a[data-button]:hover{background:color-mix(in oklch, var(--ink) 5%, transparent);border-color:var(--ink-soft);color:var(--ink)}a[data-button][data-button=primary]{background:var(--accent);border-color:var(--accent);color:var(--paper)}a[data-button][data-button=primary]:hover{background:var(--accent-strong);border-color:var(--accent-strong)}label[data-check]{align-items:center;gap:var(--space-xs);font-size:var(--text-md);color:var(--ink);cursor:pointer;margin-block-end:0;display:inline-flex}label[data-check]:has(input:disabled){color:var(--ink-faint);cursor:not-allowed}input[role=switch]{appearance:none;background:var(--accent-wash);cursor:pointer;block-size:1.25rem;inline-size:2.5rem;transition:background var(--snap);border:none;flex:none;padding:0;position:relative}input[role=switch]:before{content:"";background:var(--ink);inline-size:.75rem;transition:translate var(--snap), background var(--snap);position:absolute;inset-block:.25rem;inset-inline-start:.25rem}input[role=switch]:checked{background:var(--ink)}input[role=switch]:checked:before{background:var(--paper);translate:1.25rem}input[role=switch]:disabled{cursor:not-allowed;background:var(--wash)}input[role=switch]:disabled:before{background:var(--ink-faint)}[data-badge]{align-items:center;gap:var(--space-xs);font-family:var(--font-display);font-weight:450;font-size:var(--text-xs);letter-spacing:.15em;text-transform:uppercase;border:var(--border-hair);color:var(--ink-soft);background:0 0;padding:.25rem .625rem;line-height:1;display:inline-flex}[data-badge][data-badge=accent]{background:var(--accent);border-color:var(--accent);color:var(--paper)}[data-badge][data-badge=danger]{color:var(--danger);border-color:color-mix(in oklch, var(--danger) 40%, transparent)}[data-badge][data-badge=success]{color:var(--success);border-color:color-mix(in oklch, var(--success) 40%, transparent)}[data-eyebrow]{margin-block:0 var(--space-xs);font-family:var(--font-sub);font-size:var(--text-xs);letter-spacing:.32em;text-transform:uppercase;color:var(--ink-faint);font-weight:400;display:block}header[data-section-head]{margin-block-end:var(--space-lg)}header[data-section-head]>:is(h1,h2,h3){margin-block:0 var(--space-xs)}header[data-section-head] p[data-lede]{font-size:var(--text-lg);color:var(--ink-soft);max-width:var(--measure);margin-block:0}ul[data-tags]{gap:var(--space-xs);margin-block:0 var(--space-sm);flex-wrap:wrap;max-width:none;padding-inline-start:0;list-style:none;display:flex}ul[data-tags]>li{font-family:var(--font-display);font-weight:450;font-size:var(--text-xs);letter-spacing:.15em;text-transform:uppercase;border:var(--border-hair);color:var(--ink-soft);margin:0;padding:.2rem .625rem;line-height:1.4}ol[data-timeline]{margin-block:0 var(--space-lg);max-width:none;padding-inline-start:0;list-style:none}ol[data-timeline]>li{border-inline-start:var(--border-hair);margin-block-end:0;padding-block-end:var(--space-md);padding-inline-start:var(--space-lg);position:relative}ol[data-timeline]>li:before{content:"";background:var(--paper);border:var(--border);block-size:.5rem;inline-size:.5rem;position:absolute;inset-block-start:.4em;inset-inline-start:0;translate:-50%}ol[data-timeline]>li time{font-family:var(--font-sub);font-size:var(--text-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint)}ul[data-icon-list]{margin-block:0 var(--space-sm);padding-inline-start:0;list-style:none}ul[data-icon-list]>li{align-items:center;gap:var(--space-sm);padding-block:var(--space-xs);margin-block-end:0;display:flex}ul[data-icon-list]>li svg{stroke:currentColor;flex:none;block-size:1.25em;inline-size:1.25em}[data-field]{gap:var(--space-xs);flex-direction:column;display:flex}[data-field]>label{margin-block-end:0}[data-field]>small{color:var(--ink-faint)}[data-field]>small[role=alert]{color:var(--danger)}[data-alert]{gap:var(--space-xs);padding:var(--space-sm) var(--space-md);border-inline-start:.125rem solid var(--ink);background:var(--wash);color:var(--ink);flex-direction:column;display:flex}[data-alert][data-alert=success]{border-inline-start-color:var(--success)}[data-alert][data-alert=danger]{border-inline-start-color:var(--danger)}[data-alert]>strong{font-family:var(--font-display);font-weight:600;font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}[data-alert] p:last-child{margin-block-end:0}[data-tabs]>[role=tablist]{gap:var(--space-md);border-block-end:var(--border-hair);display:flex}[data-tabs] [role=tab]{font-family:var(--font-display);font-weight:500;font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);border:none;padding:var(--space-xs) 0;cursor:pointer;transition:color var(--snap), border-color var(--snap);background:0 0;border-block-end:.125rem solid #0000;margin-block-end:-.0625rem}[data-tabs] [role=tab]:hover:not([aria-selected=true]){color:var(--ink-soft)}[data-tabs] [role=tab][aria-selected=true]{color:var(--ink);border-block-end-color:var(--ink)}[data-tabs] [role=tabpanel]{padding-block-start:var(--space-md)}[data-tabs] [role=tabpanel][hidden]{display:none}nav[aria-label=Breadcrumb]>ol{align-items:center;gap:var(--space-xs);font-family:var(--font-display);font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}nav[aria-label=Breadcrumb] li{align-items:center;gap:var(--space-xs);color:var(--ink-faint);display:flex}nav[aria-label=Breadcrumb] li:not(:last-child):after{content:"/";color:var(--line)}nav[aria-label=Breadcrumb] a{color:var(--ink-soft);transition:color var(--snap);text-decoration:none}nav[aria-label=Breadcrumb] a:hover{color:var(--ink)}nav[aria-label=Breadcrumb] [aria-current=page]{color:var(--ink)}body>header{justify-content:space-between;align-items:center;gap:var(--space-md);block-size:var(--header-h);padding-inline:var(--space-md);background:color-mix(in oklch, var(--paper) 85%, transparent);-webkit-backdrop-filter:blur(.75rem);backdrop-filter:blur(.75rem);z-index:10;display:flex;position:sticky;top:0}body>header>a{align-items:center;gap:var(--space-xs);text-decoration:none;display:flex}body>header>a svg{block-size:auto;inline-size:1.625rem;color:var(--ink)}body>header strong{font-family:var(--font-mark);font-weight:700;font-size:var(--text-xs);letter-spacing:.3em;text-transform:uppercase;color:var(--ink)}body>header>nav{gap:var(--space-md);display:flex}body>header>nav a{font-family:var(--font-display);font-weight:450;font-size:var(--text-xs);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-faint);transition:color var(--snap);padding-block-end:.2rem;text-decoration:none;position:relative}body>header>nav a:after{content:"";background:var(--ink);block-size:.0625rem;inline-size:0;transition:inline-size .35s var(--immersive);position:absolute;inset-block-end:0;inset-inline-start:0}body>header>nav a:hover,body>header>nav a[aria-current=page]{color:var(--ink)}body>header>nav a:hover:after,body>header>nav a[aria-current=page]:after{inline-size:100%}body>header>menu{gap:var(--space-xs);margin:0;padding:0;list-style:none;display:flex}main{max-width:var(--page-max);padding:var(--space-lg) var(--space-md);margin-inline:auto}main:has(>[data-layout=screens]){max-width:none;padding:0}body>footer{padding:var(--space-md);color:var(--ink-faint);text-align:center}body>footer small{font-family:var(--font-display);font-weight:450;font-size:var(--text-xs);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-faint)}aside[data-slot=panel]{width:min(var(--panel-w), 90vw);background:var(--paper);box-shadow:0 0 2.5rem var(--hairline);padding:var(--space-md);z-index:20;position:fixed;inset-block:0;inset-inline-end:0;overflow-y:auto}article.card{background:var(--wash)}article.card>:is(img,a,figure):first-child{aspect-ratio:3/2;object-fit:cover;object-position:top;border-block-end:var(--border-hair);inline-size:100%;margin:0;display:block;overflow:hidden}article.card>:is(img,a,figure):first-child img{object-fit:cover;object-position:top;block-size:100%;inline-size:100%;margin:0;display:block}article.card>header{padding:var(--space-md) var(--space-md) 0}article.card>header h3{font-family:var(--font-display);font-weight:450;font-size:var(--text-xs);letter-spacing:.22em;text-transform:uppercase;color:var(--ink);margin:0}article.card>div{padding:var(--space-sm) var(--space-md) var(--space-md)}article.card>footer{padding:0 var(--space-md) var(--space-md);justify-content:flex-start;gap:var(--space-sm);display:flex}form[role=search]{gap:var(--space-xs);display:flex}form[role=search]>input{flex:1}section[data-component=chat]{gap:var(--space-sm);background:var(--wash);max-width:var(--measure);flex-direction:column;display:flex}section[data-component=chat]>ol{padding:var(--space-md);gap:var(--space-sm);flex-direction:column;min-height:12rem;max-height:24rem;margin:0;list-style:none;display:flex;overflow-y:auto}section[data-component=chat] li{max-width:85%;padding:var(--space-xs) var(--space-sm);white-space:pre-wrap}section[data-component=chat] li[data-role=user]{background:var(--accent-wash);align-self:flex-end}section[data-component=chat] li[data-role=assistant]{background:var(--paper);align-self:flex-start}section[data-component=chat]>form{gap:var(--space-xs);padding:var(--space-sm);border-block-start:var(--border-hair);display:flex}section[data-component=chat]>form>input{flex:1}[data-layout=stack]{gap:var(--space-md);flex-direction:column;display:flex}[data-layout=cluster]{gap:var(--space-sm);flex-wrap:wrap;align-items:center;display:flex}[data-layout=row]{gap:var(--space-sm);align-items:center;display:flex}[data-layout=row][data-wrap]{flex-wrap:wrap}[data-layout=row][data-align=start]{align-items:flex-start}[data-layout=row][data-align=end]{align-items:flex-end}[data-layout=row][data-align=stretch]{align-items:stretch}[data-layout=row][data-align=baseline]{align-items:baseline}[data-layout=grid]{grid-template-columns:repeat(auto-fill, minmax(var(--grid-min), 1fr));gap:var(--space-md);display:grid}[data-layout=grid][data-min=sm]{--grid-min:12rem}[data-layout=grid][data-min=md]{--grid-min:16rem}[data-layout=grid][data-min=lg]{--grid-min:22rem}[data-overlay]{z-index:50;padding:var(--space-md);background:color-mix(in oklch, var(--scrim) 72%, transparent);animation:overlay-in var(--snap);place-items:center;display:grid;position:fixed;inset:0}[data-overlay]>[data-overlay-content]{background:var(--paper);color:var(--ink);padding:var(--space-lg);max-width:min(90vw,40rem);max-height:90vh;box-shadow:var(--shadow-2);overflow-y:auto}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}figure[data-token]{font-size:var(--text-xs);font-family:var(--font-mono);margin:0}figure[data-token]>div{block-size:3rem;inline-size:4.5rem}[data-swatches]{gap:var(--space-sm) 0;grid-template-columns:repeat(auto-fill,minmax(5.5rem,1fr));display:grid}[data-swatches] figure[data-token]>div{inline-size:100%}[data-swatches] figcaption{text-overflow:ellipsis;white-space:nowrap;padding-inline-end:var(--space-xs);overflow:hidden}section[data-component=carousel]{flex-direction:column;display:flex;position:relative}section[data-component=carousel]>ul{scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;flex:1;margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}section[data-component=carousel]>ul::-webkit-scrollbar{display:none}section[data-component=carousel]>ul>li{scroll-snap-align:start;scroll-snap-stop:always;background:var(--wash);flex:0 0 100%;min-block-size:26rem;display:flex;position:relative;overflow:hidden}section[data-component=carousel]>ul>li>img{object-fit:cover;z-index:0;block-size:100%;inline-size:100%;position:absolute;inset:0}section[data-component=carousel]>ul>li:has(>img):after{content:"";z-index:1;background:linear-gradient(130deg, color-mix(in oklch, var(--scrim) 90%, transparent) 0%, color-mix(in oklch, var(--scrim) 60%, transparent) 55%, color-mix(in oklch, var(--scrim) 35%, transparent) 100%);position:absolute;inset:0}section[data-component=carousel]>ul>li>div{z-index:2;justify-content:flex-end;gap:var(--space-sm);padding:var(--space-xl) var(--space-lg) calc(var(--space-lg) + var(--space-md));flex-direction:column;flex:1;display:flex;position:relative}section[data-component=carousel] li h2{font-weight:300;font-size:clamp(var(--text-2x), 4.6vw, var(--text-3x));letter-spacing:.06em;margin-block-end:0;line-height:1.05}section[data-component=carousel] li p{max-width:34rem}section[data-component=carousel] li:has(>img) :is(h1,h2,h3,h4,h5){color:var(--on-photo)}section[data-component=carousel] li:has(>img) h6,section[data-component=carousel] li:has(>img) p{color:var(--on-photo-soft)}section[data-component=carousel] li:has(>img) a{color:var(--on-photo);-webkit-text-decoration-color:var(--on-photo-faint);text-decoration-color:var(--on-photo-faint)}section[data-component=carousel] li:has(>img) [data-badge]{color:var(--on-photo-soft);border-color:var(--on-photo-faint)}section[data-component=carousel]:has(li>img)>footer{color:var(--on-photo-soft)}section[data-component=carousel]>footer{z-index:3;justify-content:space-between;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);display:flex;position:absolute;inset-block-end:0;inset-inline:0}section[data-component=carousel]>footer button{block-size:2.375rem;inline-size:2.375rem;color:inherit;background:0 0;border-color:currentColor;place-items:center;padding:0;display:grid}section[data-component=carousel]>footer button:hover:not(:disabled){background:color-mix(in oklch, currentColor 8%, transparent);color:inherit;border-color:currentColor}section[data-component=carousel]>footer button:disabled{opacity:.35;background:0 0;border-color:currentColor}section[data-component=carousel]>footer svg{stroke:currentColor;fill:none;stroke-width:1.6px;block-size:.8125rem;inline-size:.8125rem}section[data-component=carousel]>footer>ol{align-items:center;gap:var(--space-xs);margin:0;padding:0;list-style:none;display:flex}section[data-component=carousel]>footer>ol button{block-size:.875rem;inline-size:1.25rem;transition:inline-size .38s var(--immersive);background:0 0;border:none;padding:0;position:relative}section[data-component=carousel]>footer>ol button:after{content:"";opacity:.35;block-size:.0625rem;transition:opacity .38s var(--immersive);background:currentColor;position:absolute;inset-block-start:50%;inset-inline:0}section[data-component=carousel]>footer>ol button[aria-current=true]{inline-size:2.5rem}section[data-component=carousel]>footer>ol button[aria-current=true]:after{opacity:.9}section[data-hero]{justify-content:center;align-items:center;gap:var(--space-sm);padding-block:var(--space-xl) var(--space-lg);text-align:center;flex-direction:column;display:flex;position:relative}section[data-hero]>svg{block-size:auto;inline-size:4.25rem;color:var(--ink);margin-block-end:var(--space-sm)}section[data-hero]>h1{font-size:var(--text-4x);letter-spacing:.22em;color:var(--ink);margin:0;font-weight:300}section[data-hero]>h6{color:var(--accent);margin:0}section[data-hero]>p{max-width:28rem;color:var(--ink-faint);text-wrap:pretty;margin-inline:auto}section[data-hero] [data-scroll-hint]{font-family:var(--font-display);font-size:var(--text-xs);letter-spacing:.32em;text-transform:uppercase;color:var(--ink-faint);animation:2.8s infinite scroll-bob;position:absolute;inset-block-end:var(--space-md)}a[data-cta]{font-family:var(--font-display);font-weight:450;font-size:var(--text-xs);letter-spacing:.22em;text-transform:uppercase;color:var(--ink);border:var(--border-hair);transition:border-color var(--snap), background var(--snap);padding:.8125rem 1.75rem;text-decoration:none;display:inline-block}a[data-cta]:hover{border-color:var(--ink-soft);background:color-mix(in oklch, var(--ink) 5%, transparent)}@keyframes scroll-bob{0%,to{opacity:.35;translate:0}55%{opacity:.75;translate:0 .4375rem}}[data-layout=screens]{block-size:calc(100dvh - var(--header-h));scroll-snap-type:y mandatory;overscroll-behavior-y:contain;scrollbar-width:none;overflow-y:auto}[data-layout=screens]::-webkit-scrollbar{display:none}[data-layout=screens]>*{scroll-snap-align:start;scroll-snap-stop:always;min-block-size:100%}[data-layout=screens]>section:not([data-hero],[data-component=carousel]){justify-content:center;gap:var(--space-sm);padding:var(--space-lg) max(var(--space-lg), 9vw);flex-direction:column;display:flex}[data-layout=screens]>section[data-component=carousel]>ul>li{min-block-size:100%}[data-layout=screens] h6{color:var(--accent)}body:has([data-layout=screens])>footer{display:none}[data-layout=split]{gap:var(--space-lg);grid-template-columns:1.2fr .8fr;align-items:start;display:grid}@media (width<=56rem){[data-layout=split]{grid-template-columns:1fr}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){[data-layout=screens]>section:not([data-hero],[data-component=carousel])>*{animation:1ms linear both screen-reveal;animation-timeline:view();animation-range:entry 5% entry 50%}}}@keyframes screen-reveal{0%{opacity:0;filter:blur(.625rem);translate:0 2.75rem}to{opacity:1;filter:blur();translate:0}}dl[data-meta]{gap:var(--space-md);flex-direction:column;margin:0;display:flex}dl[data-meta]>div{border-inline-start:var(--border-hair);padding-inline-start:var(--space-sm)}dl[data-meta] dt{font-family:var(--font-display);font-weight:450;font-size:var(--text-xs);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-faint)}dl[data-meta] dd{color:var(--ink);margin:.25rem 0 0;line-height:1.5}form[data-component=theme-customizer]{gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));display:grid}form[data-component=theme-customizer]>fieldset{gap:var(--space-xs);flex-direction:column;display:flex}form[data-component=theme-customizer] [data-swatch]{block-size:3rem;margin-block-end:var(--space-xs)}form[data-component=theme-customizer] label{align-items:center;gap:var(--space-xs);grid-template-columns:5.5rem 1fr 3.5rem;margin-block-end:0;display:grid}form[data-component=theme-customizer] output{font-family:var(--font-mono);font-size:var(--text-xs);text-align:end;color:var(--ink-faint)}form[data-component=theme-customizer]>footer{gap:var(--space-sm);grid-column:1/-1;display:flex}[data-brand-mark]{inline-size:4rem;color:var(--ink);display:inline-block}[data-brand-mark] svg{display:block}[data-lockup]{align-items:center;gap:var(--space-xs);display:inline-flex}[data-lockup] svg{color:currentColor;block-size:auto;inline-size:1.625rem}[data-lockup] strong{font-family:var(--font-mark);font-weight:700;font-size:var(--text-xs);letter-spacing:.3em;text-transform:uppercase;color:var(--ink)}[data-lockup][data-lockup=inverse]{color:var(--on-photo)}[data-lockup][data-lockup=inverse] strong{color:var(--on-photo)}[data-space-scale]{gap:var(--space-xs);flex-direction:column;display:flex}[data-space-scale] figure{align-items:center;gap:var(--space-sm);font-family:var(--font-mono);font-size:var(--text-xs);margin:0;display:flex}[data-space-scale] figure>div{block-size:var(--space-xs);background:var(--ink)}[data-space-scale] figure[data-space=xs]>div{inline-size:var(--space-xs)}[data-space-scale] figure[data-space=sm]>div{inline-size:var(--space-sm)}[data-space-scale] figure[data-space=md]>div{inline-size:var(--space-md)}[data-space-scale] figure[data-space=lg]>div{inline-size:var(--space-lg)}[data-space-scale] figure[data-space=xl]>div{inline-size:var(--space-xl)}[data-icon]{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:square;stroke-linejoin:miter;flex:none;block-size:1rem;inline-size:1rem}[data-medallion]{border-radius:var(--radius-full);background:var(--ink-faint);block-size:4rem;inline-size:4rem;color:var(--paper);place-items:center;display:grid}[data-medallion] [data-icon]{block-size:1.5rem;inline-size:1.5rem}[data-popover]{display:inline-block;position:relative}[popover]{padding:var(--space-md);border:var(--border-hair);background:var(--paper);max-inline-size:22rem;color:var(--ink);box-shadow:var(--shadow-2);margin:0}[popover] :last-child{margin-block-end:0}@supports (position-area:block-end){[popover]{position-area:block-end span-inline-end;margin-block-start:var(--space-xs);inset:auto}}[data-notifications]{z-index:60;gap:var(--space-xs);inline-size:min(24rem, calc(100vw - 2 * var(--space-md)));flex-direction:column;display:flex;position:fixed;inset-block-end:var(--space-md);inset-inline-end:var(--space-md)}[data-notifications] [data-notice]{justify-content:space-between;align-items:flex-start;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--ink);color:var(--paper);border-inline-start:.125rem solid var(--paper);box-shadow:var(--shadow-2);animation:notice-in .32s var(--immersive);display:flex}[data-notifications] [data-notice][data-kind=success]{border-inline-start-color:var(--success)}[data-notifications] [data-notice][data-kind=danger]{border-inline-start-color:var(--danger)}[data-notifications] [data-notice] p{max-width:none;color:inherit;margin:0}[data-notifications] [data-notice] button{color:inherit;padding:var(--space-xs);border:none}[data-notifications] [data-notice] button:hover:not(:disabled){background:color-mix(in oklch, var(--paper) 12%, transparent);color:inherit;border-color:#0000}@keyframes notice-in{0%{opacity:0;translate:0 .5rem}to{opacity:1;translate:0}}article[data-founder]{gap:var(--space-sm);padding:var(--space-lg);background:var(--ink);color:var(--on-photo);flex-direction:column;display:flex}article[data-founder] [data-brand-mark]{inline-size:3rem;color:var(--on-photo)}article[data-founder] h6{color:var(--on-photo-soft)}article[data-founder] h3{color:var(--on-photo);margin:0}article[data-founder] p{color:var(--on-photo-soft)}article[data-founder] [data-cta]{color:var(--on-photo);border-color:var(--on-photo-faint);align-self:flex-start}article[data-founder] [data-cta]:hover{border-color:var(--on-photo);background:color-mix(in oklch, var(--on-photo) 8%, transparent)}[data-pillars]{gap:var(--space-lg);grid-template-columns:repeat(3,1fr);margin:0;padding:0;list-style:none;display:grid}[data-pillars]>li{gap:var(--space-xs);border-inline-start:var(--border-hair);flex-direction:column;padding-inline-start:var(--space-md);display:flex}[data-pillars] h6{color:var(--accent)}[data-pillars] h4,[data-pillars] p{margin:0}@media (width<=56rem){[data-pillars]{grid-template-columns:1fr}}[data-capabilities]{gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));margin:0;padding:0;list-style:none;display:grid}[data-capabilities]>li{text-align:center;align-items:center;gap:var(--space-xs);flex-direction:column;display:flex}[data-capabilities] h4{margin:0}[data-capabilities] p{color:var(--ink-faint);margin:0}section[data-article-hero]{isolation:isolate;min-block-size:24rem;padding:var(--space-xl) var(--space-lg);text-align:center;place-items:center;display:grid;position:relative;overflow:hidden}section[data-article-hero]>img{object-fit:cover;filter:blur(1.5rem)saturate(.9);z-index:-2;block-size:100%;inline-size:100%;position:absolute;inset:0;scale:1.1}section[data-article-hero]:after{content:"";z-index:-1;mix-blend-mode:multiply;background:var(--tint-blue);opacity:.72;position:absolute;inset:0}section[data-article-hero][data-tint=dark]:after{background:var(--tint-dark)}section[data-article-hero][data-tint=clear]:after{background:var(--tint-clear)}section[data-article-hero][data-tint=mist]:after{background:var(--tint-mist)}section[data-article-hero][data-tint=magenta]:after{background:var(--tint-magenta)}section[data-article-hero][data-tint=wine]:after{background:var(--tint-wine)}section[data-article-hero]>div{align-items:center;gap:var(--space-sm);flex-direction:column;max-width:40rem;display:flex;position:relative}section[data-article-hero] [data-eyebrow]{font-family:var(--font-sub);color:var(--on-photo-soft);margin:0;font-style:italic}section[data-article-hero] h1{color:var(--on-photo);margin:0}section[data-article-hero] h6{color:var(--on-photo-soft);margin:0}section[data-contact]{gap:var(--space-lg);padding:var(--space-lg);background:var(--ink);color:var(--on-photo);grid-template-columns:.9fr 1.1fr;display:grid}section[data-contact] h3{color:var(--on-photo)}section[data-contact] p{color:var(--on-photo-soft)}section[data-contact] [data-contact-details]{margin:var(--space-md) 0 0;gap:var(--space-sm);flex-direction:column;padding:0;list-style:none;display:flex}section[data-contact] [data-contact-details] li{align-items:center;gap:var(--space-sm);color:var(--on-photo-soft);display:flex}section[data-contact] [data-contact-details] a{color:var(--on-photo);-webkit-text-decoration-color:var(--on-photo-faint);text-decoration-color:var(--on-photo-faint)}section[data-contact] [data-icon]{color:var(--on-photo-soft)}section[data-contact] form{gap:var(--space-xs);flex-direction:column;display:flex}section[data-contact] label{color:var(--on-photo-soft)}section[data-contact] input,section[data-contact] textarea{background:var(--paper);color:var(--ink);border-color:#0000}:is(section[data-contact] input,section[data-contact] textarea):focus{background:var(--paper);border-color:var(--accent)}section[data-contact] button{color:var(--on-photo);border-color:var(--on-photo);background:0 0;align-self:flex-start;margin-block-start:var(--space-xs)}section[data-contact] button:hover:not(:disabled){background:var(--on-photo);color:var(--ink);border-color:var(--on-photo)}@media (width<=56rem){section[data-contact]{grid-template-columns:1fr}}[data-work] figure{background:var(--wash);flex-direction:column;margin:0;display:flex}[data-work] figure>img{aspect-ratio:4/3;object-fit:cover;inline-size:100%}[data-work] figcaption{padding:var(--space-sm) var(--space-md) var(--space-md)}[data-work] figcaption h4{margin:0}[data-work] figcaption h6{color:var(--ink-faint);margin:0}[data-work] a{color:inherit;transition:box-shadow var(--snap);text-decoration:none;display:block}[data-work] a:hover{box-shadow:var(--shadow-2)}}:root{--ink:oklch(31% 0 0);--ink-soft:oklch(40% 0 0);--ink-faint:oklch(56% 0 0);--line:oklch(90% .006 85);--wash:oklch(97% .004 85);--paper:oklch(100% 0 0);--accent-l:40%;--accent-c:0;--accent-h:85;--danger-l:40%;--danger-c:.11;--danger-h:5;--success-l:50%;--success-c:.05;--success-h:135;--accent-strong-l:calc(var(--accent-l) - 9%);--accent:oklch(var(--accent-l) var(--accent-c) var(--accent-h));--accent-strong:oklch(var(--accent-strong-l) var(--accent-c) var(--accent-h));--accent-wash:color-mix(in oklch, var(--accent) 12%, var(--paper));--danger:oklch(var(--danger-l) var(--danger-c) var(--danger-h));--success:oklch(var(--success-l) var(--success-c) var(--success-h));--accent-100:color-mix(in oklch, var(--accent) 10%, var(--paper));--accent-200:color-mix(in oklch, var(--accent) 22%, var(--paper));--accent-300:color-mix(in oklch, var(--accent) 40%, var(--paper));--accent-400:color-mix(in oklch, var(--accent) 65%, var(--paper));--accent-500:var(--accent);--accent-600:color-mix(in oklch, var(--accent) 88%, var(--ink));--accent-700:color-mix(in oklch, var(--accent) 72%, var(--ink));--accent-800:color-mix(in oklch, var(--accent) 55%, var(--ink));--accent-900:color-mix(in oklch, var(--accent) 38%, var(--ink));--danger-100:color-mix(in oklch, var(--danger) 10%, var(--paper));--danger-200:color-mix(in oklch, var(--danger) 22%, var(--paper));--danger-300:color-mix(in oklch, var(--danger) 40%, var(--paper));--danger-400:color-mix(in oklch, var(--danger) 65%, var(--paper));--danger-500:var(--danger);--danger-600:color-mix(in oklch, var(--danger) 88%, var(--ink));--danger-700:color-mix(in oklch, var(--danger) 72%, var(--ink));--danger-800:color-mix(in oklch, var(--danger) 55%, var(--ink));--danger-900:color-mix(in oklch, var(--danger) 38%, var(--ink));--tint-blue:#a8bac4;--tint-dark:#2f3338;--tint-clear:#bab6ae;--tint-magenta:#e91e63;--tint-wine:#6b1e3a;--tint-mist:#c4c9ce;--scrim:oklch(15% .005 260);--on-photo:oklch(98% 0 0/.96);--on-photo-soft:oklch(98% 0 0/.62);--on-photo-faint:oklch(98% 0 0/.32);--success-100:color-mix(in oklch, var(--success) 10%, var(--paper));--success-200:color-mix(in oklch, var(--success) 22%, var(--paper));--success-300:color-mix(in oklch, var(--success) 40%, var(--paper));--success-400:color-mix(in oklch, var(--success) 65%, var(--paper));--success-500:var(--success);--success-600:color-mix(in oklch, var(--success) 88%, var(--ink));--success-700:color-mix(in oklch, var(--success) 72%, var(--ink));--success-800:color-mix(in oklch, var(--success) 55%, var(--ink));--success-900:color-mix(in oklch, var(--success) 38%, var(--ink));--font-sans:"Sofia Pro", "Poppins", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-display:"Novecento Sans Wide", "Montserrat", "Futura PT", Futura, "Helvetica Neue", sans-serif;--font-sub:"Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-mark:"TeX Gyre Adventor", "Montserrat", "Futura PT", Futura, sans-serif;--font-mono:ui-monospace, "JetBrains Mono", "SF Mono", monospace;--text-xs:.6875rem;--text-sm:.8125rem;--text-md:1rem;--text-lg:1.375rem;--text-xl:1.875rem;--text-2x:2.25rem;--text-3x:3.375rem;--text-4x:clamp(3.375rem, 8vw, 5.5rem);--leading-tight:1.2;--leading-normal:1.7;--space-xs:.5rem;--space-sm:.75rem;--space-md:1.5rem;--space-lg:3rem;--space-xl:6rem;--radius:0;--radius-full:999px;--hairline:color-mix(in oklch, var(--ink) 14%, transparent);--border-hair:1px solid var(--hairline);--border:1px solid var(--line);--border-strong:1px solid var(--ink);--shadow-1:0 .0625rem .125rem color-mix(in oklch, var(--ink) 8%, transparent);--shadow-2:0 .375rem 1.5rem color-mix(in oklch, var(--ink) 12%, transparent);--snap:.2s cubic-bezier(.4, 0, .2, 1);--immersive:cubic-bezier(.16, 1, .3, 1);--measure:68ch;--page-max:80rem;--panel-w:20rem;--header-h:3.5rem;--grid-min:16rem}[data-theme=dark]{--ink:oklch(97% .004 85);--ink-soft:oklch(85% 0 0);--ink-faint:oklch(70% 0 0);--line:oklch(40% 0 0);--wash:oklch(27% 0 0);--paper:oklch(22% 0 0);--accent-l:85%;--accent-strong-l:calc(var(--accent-l) + 12%);--danger-l:48%;--danger-c:.12;--success-l:58%}@media (prefers-color-scheme:dark){[data-theme=system]{--ink:oklch(97% .004 85);--ink-soft:oklch(85% 0 0);--ink-faint:oklch(70% 0 0);--line:oklch(40% 0 0);--wash:oklch(27% 0 0);--paper:oklch(22% 0 0);--accent-l:85%;--accent-strong-l:calc(var(--accent-l) + 12%);--danger-l:48%;--danger-c:.12;--success-l:58%}}@font-face{font-family:Novecento Sans Wide;font-weight:300;font-style:normal;font-display:swap;src:url(/assets/fonts/Novecento%20Sans/Novecentosanswide-Light-webfont.woff2)format("woff2"),url(/assets/fonts/Novecento%20Sans/Novecentosanswide-Light.otf)format("opentype")}@font-face{font-family:Novecento Sans Wide;font-weight:400;font-style:normal;font-display:swap;src:url(/assets/fonts/Novecento%20Sans/Novecentosanswide-Book-webfont.woff2)format("woff2"),url(/assets/fonts/Novecento%20Sans/Novecentosanswide-Book.otf)format("opentype")}@font-face{font-family:Novecento Sans Wide;font-weight:500;font-style:normal;font-display:swap;src:url(/assets/fonts/Novecento%20Sans/Novecentosanswide-Medium-webfont.woff2)format("woff2"),url(/assets/fonts/Novecento%20Sans/Novecentosanswide-Medium.otf)format("opentype")}@font-face{font-family:Novecento Sans Wide;font-weight:600;font-style:normal;font-display:swap;src:url(/assets/fonts/Novecento%20Sans/Novecentosanswide-DemiBold-webfont.woff2)format("woff2"),url(/assets/fonts/Novecento%20Sans/Novecentosanswide-DemiBold.otf)format("opentype")}@font-face{font-family:Sofia Pro;font-weight:200;font-style:normal;font-display:swap;src:url(/assets/fonts/Sofia%20Pro/Sofia%20Pro%20Extra%20Light.otf)format("opentype")}@font-face{font-family:Sofia Pro;font-weight:300;font-style:normal;font-display:swap;src:url(/assets/fonts/Sofia%20Pro/webfont/SofiaProLight-webfont.woff2)format("woff2"),url(/assets/fonts/Sofia%20Pro/Sofia%20Pro%20Light.otf)format("opentype")}@font-face{font-family:Sofia Pro;font-weight:700;font-style:normal;font-display:swap;src:url(/assets/fonts/Sofia%20Pro/Sofia%20Pro%20Bold.otf)format("opentype")}@font-face{font-family:Audience One;font-weight:400;font-style:normal;font-display:swap;src:url(/assets/fonts/AudienceOne-Regular-w-ampersand.otf)format("opentype")}:root{--ink-19:#303030;--ink-28:#474747;--ink-deep:#1d2026;--ink-mid:#2f343c;--paper:#fff;--bone:#f5f4f2;--stone:#e8e7e4;--grey-500:#757575;--border:#dedcd7;--tint-blue:#a8bac4;--tint-magenta:#e91e63;--fg-on-dark:#fffffff5;--fg-on-dark-soft:#ffffffd1;--fg-on-dark-mute:#ffffff9e;--line-on-dark:#ffffff29;--surface-on-dark:#ffffff0f;--scrim:#25282d9e;--scrim-strong:#25282dd1;--font-display:"Novecento Sans Wide", "Futura PT", Futura, "Helvetica Neue", Helvetica, Arial, sans-serif;--font-body:"Sofia Pro", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-sub:"Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;--text-caption:.6875rem;--text-body:1rem;--text-h3:1.875rem;--text-h2:2.75rem;--text-h1:3rem;--text-h1-fluid:clamp(2rem, 6vw, var(--text-h1));--text-h2-fluid:clamp(1.75rem, 3.5vw, var(--text-h2));--text-h3-fluid:clamp(1.25rem, 2.2vw, var(--text-h3));--track-tight:-.02em;--track-h1:.02em;--track-wide:.08em;--track-h2:.14em;--track-wider:.22em;--lead-snug:1.2;--lead-normal:1.55;--lead-loose:1.72;--sp-1:.25rem;--sp-2:.5rem;--sp-3:.75rem;--sp-4:1rem;--sp-5:1.5rem;--sp-6:2rem;--sp-7:3rem;--sp-8:4rem;--sp-9:6rem;--sp-10:8rem;--radius-full:62.4375rem;--line:1px solid var(--border);--line-ink:1px solid var(--ink-19);--pill-fill:#3030300f;--ease:cubic-bezier(.4, 0, .2, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-immersive:cubic-bezier(.16, 1, .3, 1);--dur-2:.2s;--dur-3:.32s;--dur-4:.5s;--dur-5:.9s;--dur-reveal:1.1s;--dur-draw:3.2s;--col-max:72rem;--col-text:42rem;--z-nav:100;--nav-h:3.75rem;--reveal-shift:.4rem;--reveal-blur:28px;--fg:var(--ink-28);--fg-strong:var(--ink-19);--fg-muted:var(--grey-500);--eyedrop-fg:var(--grey-500);--line-col:var(--border);--surface:var(--bone);--gutter:clamp(1.5rem, 10vw, 12rem);--blur-media:40px;--media-scale:1.24;--card-lift:3px;--shadow-card:0 14px 36px -14px #00000073}@layer ui.base{*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{interpolate-size:allow-keywords;scroll-behavior:smooth;scroll-padding-top:var(--nav-h);scroll-snap-type:y proximity;timeline-scope:--ts-bio, --ts-resume, --ts-ai, --ts-disciplines, --ts-work, --ts-projects, --ts-graphics, --ts-contact;font-size:100%}html,body{min-width:20rem;min-height:100%;color:var(--ink-28);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--paper);font-weight:300;overflow-x:clip}body{font-size:var(--text-body);line-height:var(--lead-normal)}a{color:inherit;transition:color var(--dur-2) var(--ease);text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}ul,ol{list-style:none}img,svg{display:block}img{max-width:100%;height:auto}svg[hidden]{width:0;height:0;position:absolute}section[data-component=carousel] li>img{block-size:100%;inline-size:100%;object-fit:cover;height:100%}::selection{color:var(--paper);background:var(--ink-19)}:focus-visible{outline-offset:3px;outline:2px solid}h1,h2,h3,h4{color:var(--fg-strong);font-family:var(--font-display);font-weight:600;line-height:var(--lead-snug);letter-spacing:var(--track-h2);text-transform:uppercase;text-wrap:balance}h1,h2{font-size:var(--text-h2-fluid)}h3{font-size:var(--text-h3-fluid)}h4{letter-spacing:var(--track-wide);font-size:1rem}p,li,blockquote{text-wrap:pretty}strong{font-weight:600}em{font-style:italic}address{font-style:normal}body>header{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;block-size:auto;padding:0;position:static}main{max-width:none;margin:0;padding:0}details{background:0 0}summary{padding:0}summary:hover{background:0 0}details[open]>summary{border-block-end:none}details>:not(summary){padding:0}.skip-link{z-index:1000;padding:var(--sp-2) var(--sp-4);color:var(--ink-19);font-family:var(--font-display);font-size:var(--text-caption);letter-spacing:var(--track-wide);text-transform:uppercase;background:var(--paper);transform:translateY(calc(-100% - var(--sp-5)));transition:transform var(--dur-2) var(--ease);border:1px solid;font-weight:600;text-decoration:none;position:fixed;inset-block-start:var(--sp-3);inset-inline-start:var(--sp-3)}.skip-link:focus-visible{transform:translateY(0)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}}@layer ui.layout{.panel{--panel-pad-block:clamp(5.5rem, 14vh, 10rem);justify-content:center;gap:clamp(2.5rem, 6vw, var(--sp-8));min-height:100vh;padding:var(--panel-pad-block) var(--gutter);flex-direction:column;display:flex;position:relative}.snap{scroll-snap-align:start}.section-head{align-items:center;gap:var(--sp-4);max-width:var(--col-max);text-align:center;flex-direction:column;margin-inline:auto;display:flex}.section-head [data-eyebrow]+h2{margin-top:calc(-1 * var(--sp-2))}.section-head .cta-download{margin-top:var(--sp-4);align-self:center}.card-grid{gap:var(--sp-5);max-width:var(--col-max);background:0 0;grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr));margin-inline:auto;display:grid}.card-grid>li{background:0 0;display:flex}.feature-grid{gap:var(--sp-5);max-width:var(--col-max);grid-template-columns:repeat(2,minmax(0,1fr));margin-inline:auto;display:grid}.approach{gap:var(--sp-7);max-width:var(--col-max);grid-template-columns:repeat(3,minmax(0,1fr));margin-inline:auto;display:grid}}@layer ui.components{[data-eyebrow]{font-family:var(--font-display);font-weight:450;font-size:var(--text-caption);letter-spacing:var(--track-wider);line-height:var(--lead-snug);text-transform:uppercase;color:var(--eyedrop-fg);align-items:center;gap:.875rem;display:inline-flex}:is(.section-head,.hero,.resume-aside,.contact-info) [data-eyebrow]:before,:is(.section-head,.hero,.resume-aside,.contact-info) [data-eyebrow]:after{content:"";opacity:.55;background:currentColor;flex:none;width:2.125rem;height:1px}.section-head [data-eyebrow],.hero [data-eyebrow]{letter-spacing:.3em;justify-content:center;font-size:.9375rem}.hero [data-eyebrow]{flex-wrap:wrap;max-width:none}.rotating-text{--rt-height:2.2em;--rt-loop:14s;--rt-depth:1600px;height:var(--rt-height);transform-style:preserve-3d;flex:none;grid-template-areas:"face";display:grid}.rotating-text b{white-space:nowrap;font-weight:inherit;letter-spacing:inherit;color:var(--fg-on-dark);backface-visibility:hidden;background:#ffffff0a;border:1px solid #ffffff1f;grid-area:face;justify-content:center;align-items:center;padding-inline:.6em;display:flex}.rotating-text b:first-child{transform:rotateX(0deg) translateZ(calc(var(--rt-height) / 2))}.rotating-text b:nth-child(2){transform:rotateX(90deg) translateZ(calc(var(--rt-height) / 2))}.rotating-text b:nth-child(3){transform:rotateX(180deg) translateZ(calc(var(--rt-height) / 2))}.rotating-text b:nth-child(4){transform:rotateX(270deg) translateZ(calc(var(--rt-height) / 2))}@media (width<=30rem){.rotating-text b{letter-spacing:.04em;padding-inline:.7em;font-size:.78em}}@media (prefers-reduced-motion:no-preference){.rotating-text{animation:rt-tumble var(--rt-loop) cubic-bezier(.72, 0, .18, 1) infinite}}@keyframes rt-tumble{0%,19%{transform:perspective(var(--rt-depth)) rotateX(0deg)}25%,44%{transform:perspective(var(--rt-depth)) rotateX(-90deg)}50%,69%{transform:perspective(var(--rt-depth)) rotateX(-180deg)}75%,94%{transform:perspective(var(--rt-depth)) rotateX(-270deg)}to{transform:perspective(var(--rt-depth)) rotateX(-360deg)}}.ingress{max-width:var(--col-text);color:var(--fg);font-size:clamp(1rem,1.3vw,1.125rem);line-height:var(--lead-loose);text-align:center;text-wrap:balance;margin-inline:auto}.button{align-items:center;gap:var(--sp-2);padding:var(--sp-4) var(--sp-6);font-family:var(--font-display);font-weight:500;font-size:var(--text-caption);letter-spacing:var(--track-h2);text-transform:uppercase;color:var(--fg-strong);background:var(--pill-fill);transition:background var(--dur-2) var(--ease), color var(--dur-2) var(--ease);display:inline-flex}.button:hover,.button:focus-visible{color:var(--paper);background:var(--fg-strong)}.button[data-variant=outline]{margin-top:var(--sp-2);padding:var(--sp-3) var(--sp-5);color:var(--fg-on-dark-soft);transition:background var(--dur-2) var(--ease), color var(--dur-2) var(--ease), border-color var(--dur-2) var(--ease);background:0 0;border:1px solid #ffffff40;align-self:flex-start}.button[data-variant=outline]:hover,.button[data-variant=outline]:focus-visible{border-color:var(--paper);color:var(--ink-deep);background:var(--paper)}.reveal{transition:opacity var(--dur-reveal) var(--ease-immersive), transform var(--dur-reveal) var(--ease-immersive), filter var(--dur-reveal) var(--ease-immersive)}.reveal.is-instant{transition:none}.reveal.is-concealed{opacity:0;filter:blur(var(--reveal-blur));transform:perspective(600px) translateY(var(--reveal-shift)) rotateX(.3deg)}.card{z-index:4;isolation:isolate;justify-content:flex-end;gap:var(--sp-2);width:100%;height:100%;min-height:17rem;padding:var(--sp-5);color:var(--fg-strong);transition:background var(--dur-3) var(--ease);background:0 0;flex-direction:column;display:flex;position:relative;overflow:hidden}.card:after{content:none;background:0 0}.card:hover{background:color-mix(in oklab, transparent, currentColor 6%)}.card img{display:none}.card>[data-eyebrow]{padding:0}.card h3{letter-spacing:var(--track-wide);padding:0;font-size:1.0625rem}.card p:not([data-eyebrow]){color:var(--fg);font-size:.9375rem;line-height:var(--lead-normal);padding:0}[data-tags]{gap:var(--sp-2);flex-wrap:wrap;padding:0;display:flex}[data-tags] li{border-radius:var(--radius-full);font-family:var(--font-display);letter-spacing:var(--track-wide);text-transform:uppercase;color:var(--fg-on-dark-soft);background:#ffffff24;padding:.3rem .6rem;font-size:.625rem}.carousel{--fg:var(--fg-on-dark);--fg-strong:var(--fg-on-dark);--eyedrop-fg:var(--fg-on-dark-mute);--controls-bottom:clamp(1.5rem, 4vw, 3rem);width:100vw;color:var(--fg-on-dark);background:var(--ink-deep);margin-inline:calc(50% - 50vw);position:relative;overflow:hidden}.carousel .slideshow{transition:transform var(--dur-4) var(--ease-immersive);display:flex}html:not(.js) :is(.carousel .slideshow){scroll-snap-type:x mandatory;overflow-x:auto}.carousel .slide{isolation:isolate;scroll-snap-align:start;flex:0 0 100%;align-items:center;min-height:clamp(30rem,82vh,50rem);display:flex;position:relative;overflow:hidden}.carousel .slide:first-child{--i:0}.carousel .slide:nth-child(2){--i:1}.carousel .slide:nth-child(3){--i:2}.carousel .slide:nth-child(4){--i:3}.carousel .slide:nth-child(5){--i:4}.carousel .slide:nth-child(6){--i:5}.carousel .slide:after{content:"";z-index:-1;background:var(--scrim-strong);position:absolute;inset:0}.carousel .slide>img{--media-parallax:7%;z-index:-2;object-fit:cover;width:100%;height:100%;filter:blur(var(--blur-media));transform:translateX(calc((var(--i,0) - var(--current,0)) * var(--media-parallax))) scale(var(--media-scale));position:absolute;inset:0}@media (prefers-reduced-motion:no-preference){.carousel .slide>img{transition:transform var(--dur-4) var(--ease-immersive)}}.carousel .slide>div{gap:var(--sp-3);flex-direction:column;max-width:44rem;margin:clamp(2rem,6vw,5rem);display:flex}.carousel .slide>div h3{letter-spacing:var(--track-wide);font-size:clamp(1.375rem,2.6vw,2rem);font-weight:500}.carousel .slide>div p:not([data-eyebrow]){max-width:38rem;color:var(--fg-on-dark-soft);font-size:clamp(1rem,1.4vw,1.1875rem);line-height:var(--lead-loose)}.carousel .slide>div a{margin-top:var(--sp-2);padding-bottom:var(--sp-1);border-bottom:1px solid var(--line-on-dark);font-family:var(--font-display);font-size:var(--text-caption);letter-spacing:var(--track-h2);text-transform:uppercase;transition:border-color var(--dur-2) var(--ease);align-self:flex-start}.carousel .slide>div a:hover{border-color:var(--fg-on-dark)}.carousel .slide-nav{z-index:3;gap:var(--sp-3);display:flex;position:absolute;inset-block-end:var(--controls-bottom);inset-inline-end:clamp(1.5rem,5vw,4rem)}.carousel .slide-nav button{border-radius:var(--radius-full);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);width:3rem;height:3rem;transition:background var(--dur-2) var(--ease), transform var(--dur-2) var(--ease);background:#ffffff1f;place-items:center;font-size:1.125rem;display:grid}.carousel .slide-nav button:hover{background:#ffffff47;transform:scale(1.06)}.carousel .slide-dots{z-index:3;gap:var(--sp-3);display:flex;position:absolute;inset-block-end:var(--controls-bottom);inset-inline-start:clamp(1.5rem,5vw,4rem)}.carousel .slide-dots button{background:var(--line-on-dark);width:2rem;height:2px;transition:background var(--dur-2) var(--ease)}.carousel .slide-dots button[aria-selected=true]{background:var(--fg-on-dark)}.feature{gap:var(--sp-3);padding-top:var(--sp-5);border-top:1px solid var(--line-col);flex-direction:column;display:flex}.feature h3{letter-spacing:var(--track-h2);font-size:1.125rem}.feature p{color:var(--fg-muted);line-height:var(--lead-loose)}.approach-item{align-items:center;gap:var(--sp-4);text-align:center;flex-direction:column;display:flex}.approach-item>span{border-radius:var(--radius-full);width:3.5rem;height:3.5rem;color:var(--fg-strong);background:var(--pill-fill);transition:background var(--dur-2) var(--ease), color var(--dur-2) var(--ease);place-items:center;display:grid}.approach-item>span svg{width:1.5rem;height:1.5rem}.approach-item:hover>span{color:var(--paper);background:var(--fg-strong)}.approach-item h3{letter-spacing:var(--track-h2);font-size:1.1875rem}.approach-item p{color:var(--fg-muted);line-height:var(--lead-loose)}.badge{gap:var(--sp-2);flex-wrap:wrap;display:flex}.badge li{border-radius:var(--radius-full);letter-spacing:var(--track-h1);color:var(--fg-muted);background:var(--pill-fill);transition:background var(--dur-2) var(--ease), color var(--dur-2) var(--ease);padding:.3rem .7rem;font-size:.8125rem}.badge li.hot{color:var(--paper);background:var(--fg-strong)}.badge li.dim{opacity:.6}details summary{justify-content:space-between;align-items:center;gap:var(--sp-3);transition:color var(--dur-2) var(--ease);cursor:pointer;list-style:none;display:flex}details summary::-webkit-details-marker{display:none}details summary:after{content:"";opacity:.55;width:.5rem;height:.5rem;transition:transform var(--dur-3) var(--ease);border-bottom:2px solid;border-right:2px solid;flex:none;transform:rotate(45deg)}details summary:hover{color:var(--fg-strong)}details[open]>summary:after{transform:rotate(-135deg)}details::details-content{block-size:0;transition:block-size var(--dur-3) var(--ease), content-visibility var(--dur-3) var(--ease) allow-discrete;overflow:clip}details[open]::details-content{block-size:auto}@supports not (interpolate-size:allow-keywords){details::details-content{block-size:auto;max-block-size:0;transition:max-block-size var(--dur-3) var(--ease), content-visibility var(--dur-3) var(--ease) allow-discrete}details[open]::details-content{max-block-size:200vh}}.duties{gap:var(--sp-2);margin-top:var(--sp-4);padding-left:var(--sp-5);flex-direction:column;display:flex}.duties li{color:var(--fg-muted);line-height:var(--lead-loose);position:relative}.duties li:before{content:"";left:calc(-1 * var(--sp-5));width:var(--sp-3);background:var(--fg-muted);height:1px;position:absolute;top:.75em}.role-summary{margin-top:var(--sp-2);color:var(--fg-muted);line-height:var(--lead-normal)}.related-projects{align-items:baseline;gap:var(--sp-2) var(--sp-4);margin-top:var(--sp-4);flex-wrap:wrap;display:flex}.related-projects a{color:var(--fg-strong);transition:border-color var(--dur-2) var(--ease);border-bottom:1px solid #0000;font-size:.8125rem}.related-projects a:hover{border-color:currentColor}.map{--fg:var(--fg-on-dark);min-height:22rem;color:var(--fg-on-dark);background:0 0;position:relative;overflow:hidden}.map:before{content:"";opacity:.5;background:url(/map.svg) 50%/cover no-repeat;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000,#000 42%);mask-image:linear-gradient(90deg,#0000,#000 42%)}.map>span{z-index:1;border-radius:var(--radius-full);background:currentColor;width:.75rem;height:.75rem;position:absolute;top:44%;left:46%;box-shadow:0 0 0 .4rem #ffffff24}@media (prefers-reduced-motion:no-preference){.map>span{transform-origin:50%;animation:pin-pulse var(--dur-5) var(--ease) infinite}}.map figcaption{z-index:2;align-items:center;gap:var(--sp-2);font-family:var(--font-display);font-size:var(--text-caption);letter-spacing:var(--track-wide);text-transform:uppercase;color:var(--fg-on-dark-soft);font-weight:500;display:inline-flex;position:absolute;inset-block-start:clamp(1.5rem,6vh,3rem);inset-inline-end:clamp(1.5rem,5vw,3rem)}.map figcaption:before{content:"";width:var(--sp-2);height:var(--sp-2);border-radius:var(--radius-full);background:currentColor}@keyframes pin-pulse{0%{opacity:.3;transform:scale(.92)}60%{opacity:.08;transform:scale(1.08)}to{opacity:.3;transform:scale(.92)}}.nav{z-index:var(--z-nav);height:var(--nav-h);color:var(--ink-19);-webkit-backdrop-filter:blur(32px)brightness(1.05);backdrop-filter:blur(32px)brightness(1.05);transition:background var(--dur-3) var(--ease), color var(--dur-3) var(--ease);background:0 0;align-items:center;gap:clamp(.75rem,2vw,1.75rem);padding-inline:clamp(1.25rem,5vw,3.5rem);display:flex;position:fixed;inset-block-start:0;inset-inline:0}.nav .logo{flex:none;width:1.75rem;height:1.75rem}.nav .nav-links{align-items:center;gap:inherit;min-width:0}@media not ((pointer:coarse) or (width<=48rem)){.nav .nav-links{width:auto;height:auto;max-inline-size:none;color:inherit;box-shadow:none;background:0 0;border:0;margin:0;padding:0;display:flex;position:static;inset:auto;overflow:visible}}.nav .nav-toggle{width:2.25rem;height:2.25rem;color:inherit;place-items:center;margin-inline-start:var(--sp-2);display:none}.nav .nav-toggle svg{width:1.375rem;height:1.375rem}.nav a{padding-block:var(--sp-1);font-family:var(--font-display);letter-spacing:var(--track-wide);text-transform:uppercase;color:inherit;opacity:.72;transition:opacity var(--dur-2) var(--ease);font-size:.6875rem;font-weight:600;position:relative}.nav a:hover{opacity:1}.nav a:not(.nav-brand):before,.nav a:not(.nav-brand):after{content:"";transform-origin:0;height:2px;position:absolute;inset:auto 0 0;transform:scaleX(0)}.nav a:not(.nav-brand):after{transition:transform var(--dur-2) var(--ease-out)}.nav a:not(.nav-brand):hover:after,.nav a:not(.nav-brand):focus-visible:after{transform:scaleX(1)}@supports (animation-timeline:view()){.nav a[href=\#bio]:before{animation:linear both nav-track;animation-timeline:--ts-bio}.nav a[href=\#ai-proof]:before{animation:linear both nav-track;animation-timeline:--ts-ai}.nav a[href=\#work]:before{animation:linear both nav-track;animation-timeline:--ts-work}.nav a[href=\#projects]:before{animation:linear both nav-track;animation-timeline:--ts-projects}.nav a[href=\#resume]:before{animation:linear both nav-track;animation-timeline:--ts-resume}.nav a[href=\#disciplines]:before{animation:linear both nav-track;animation-timeline:--ts-disciplines}.nav a[href=\#graphics]:before{animation:linear both nav-track;animation-timeline:--ts-graphics}.nav a[href=\#contact]:before{animation:linear both nav-track;animation-timeline:--ts-contact}}.nav a[aria-current=true]{opacity:1}.nav a[aria-current=true]:not(.nav-brand):after{transform:scaleX(1)}.nav .nav-brand{letter-spacing:var(--track-h2);opacity:1;margin-inline-end:auto;font-size:.8125rem;font-weight:700}@keyframes nav-track{0%,to{transform:scaleX(0)}40%,60%{transform:scaleX(1)}}html[data-nav-theme=hero] .nav,html[data-nav-theme=dark] .nav{color:var(--fg-on-dark)}html[data-nav-theme=light] .nav{color:var(--ink-19)}@media (pointer:coarse),(width<=48rem){.nav .nav-toggle{display:grid}.nav .nav-links{min-width:13rem;padding:var(--sp-2);border:var(--line);color:var(--ink-19);background:var(--paper);flex-direction:column;align-items:stretch;gap:0;margin:0;position:fixed;inset:auto;inset-block-start:calc(var(--nav-h) + var(--sp-2));inset-inline-end:var(--sp-4);box-shadow:0 1.25rem 3rem -1.25rem #1d202680}.nav .nav-links:popover-open{display:flex}.nav .nav-links a{padding:var(--sp-3) var(--sp-4);display:block}.nav .nav-links a[aria-current=true]{background:var(--pill-fill)}}.scroll-progress{transform-origin:0;pointer-events:none;background:currentColor;height:2px;display:none;position:fixed;inset-block-start:0;inset-inline:0;transform:scaleX(0)}@supports (animation-timeline:scroll()){.scroll-progress{animation:linear both scroll-progress;animation-timeline:scroll(root);display:block}}@keyframes scroll-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.footer{align-items:center;gap:var(--sp-3);padding:var(--sp-9) var(--sp-5);color:var(--fg-on-dark-soft);text-align:center;background:var(--ink-19);flex-direction:column;display:flex}.footer>span{align-items:center;gap:var(--sp-3);font-family:var(--font-display);letter-spacing:var(--track-h2);text-transform:uppercase;color:var(--fg-on-dark);font-size:.8125rem;display:inline-flex}.footer>span svg{width:1.75rem;height:1.75rem}.footer p{color:var(--fg-on-dark-mute);letter-spacing:var(--track-h1);font-size:.75rem}.bio-specs{flex-flow:row;gap:1.2em;display:flex}.bio-specs>dl{max-width:none}.bio-specs>dl[data-layout=table]{line-height:var(--lead-loose);display:block}.bio-specs>dl[data-layout=table] dt{float:left;clear:both;box-sizing:border-box;width:30%;line-height:inherit;margin-block-start:0;padding:1.2rem}.bio-specs>dl[data-layout=table] dd{float:left;box-sizing:border-box;border-top:1px solid var(--line-on-dark);width:70%;height:auto;line-height:inherit;padding:1.1rem;display:block}.bio-specs>dl dt{margin-block-start:var(--sp-4);display:block}.bio-specs>dl dt:first-child{margin-block-start:0}.bio-specs>dl dd{color:var(--fg);font-size:clamp(1rem,1.3vw,1.125rem);line-height:var(--lead-normal);margin-block-end:0}.bio-specs>dl:first-child{text-align:right}.bio-specs>dl:first-child dt{float:right;text-align:right}}@layer ui.composites{#work,#disciplines{justify-content:flex-start;min-height:100svh;padding:0}:is(#work,#disciplines) section[data-component=carousel]>footer{z-index:4;padding-inline:var(--gutter);position:absolute;inset-block-end:clamp(1.5rem,4vh,3rem);inset-inline:0}:is(#work,#disciplines)>.section-head{z-index:3;padding-inline:var(--gutter);pointer-events:none;margin-inline:auto;position:absolute;inset-block-start:calc(var(--nav-h) + clamp(.75rem, 4vh, 2rem));inset-inline:0}.slide{--slide-head-clear:clamp(13rem, 22vh, 17rem);min-height:100svh;padding-block:var(--slide-head-clear) clamp(6rem, 13vh, 8rem)}section[data-component=carousel]{min-block-size:100svh;position:relative}.carousel{min-height:100svh}.carousel ul{max-width:unset;flex:1 0 auto;block-size:100svh}.carousel ul>li{view-timeline-name:--slide-pass;view-timeline-axis:inline;min-block-size:100svh}.carousel ul>li>img{filter:blur(22px)brightness(.62);inline-size:200%;max-inline-size:none;inset-inline-start:-50%;scale:1.08}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.carousel ul>li>img{animation:linear both slide-media-lag;animation-timeline:--slide-pass;animation-range:cover}}}.carousel ul>li>div{max-width:var(--col-max);padding-block:clamp(13rem,22vh,17rem) clamp(6rem,13vh,8rem);padding-inline:var(--gutter);justify-content:center;margin-inline:auto}@keyframes slide-media-lag{0%{translate:-25%}to{translate:25%}}#work{padding-block:0}.card-grid{width:min(var(--col-max), 100% - 2 * var(--gutter));margin-inline:auto}}.recruiter-note{z-index:30;width:min(30rem, calc(100% - 2 * var(--sp-6)));margin-inline:auto;margin-block:calc(-1 * var(--sp-9)) var(--sp-7);position:relative}.recruiter-note .recruiter-note__card{border:var(--line);background:var(--paper);transition:transform var(--dur-3) var(--ease), box-shadow var(--dur-3) var(--ease);position:relative;box-shadow:0 1.75rem 4rem -1.5rem #1d20268c}.recruiter-note .recruiter-note__card:hover,.recruiter-note .recruiter-note__card:focus-within{transform:translateY(-3px);box-shadow:0 2.25rem 4.75rem -1.5rem #1d20269e}.recruiter-note a{align-items:flex-start;gap:var(--sp-3);padding:var(--sp-5) var(--sp-6) var(--sp-5) var(--sp-5);color:var(--ink-28);flex-direction:column;display:flex}.recruiter-note [data-eyebrow]{align-items:center;gap:var(--sp-2);color:var(--grey-500);margin:0;display:inline-flex}.recruiter-note [data-eyebrow]:before{content:"";border-radius:var(--radius-full);background:var(--ink-19);flex:none;width:.5rem;height:.5rem}@media (prefers-reduced-motion:no-preference){.recruiter-note [data-eyebrow]:before{animation:note-ping calc(3 * var(--dur-5)) var(--ease) infinite}}.recruiter-note strong{max-width:24rem;color:var(--ink-19);font-family:var(--font-body);font-size:1.0625rem;font-weight:400;line-height:var(--lead-normal)}.recruiter-note .recruiter-note__cta{font-family:var(--font-display);font-weight:600;font-size:var(--text-caption);letter-spacing:var(--track-h2);text-transform:uppercase;color:var(--ink-19)}.recruiter-note .recruiter-note__close{width:1.75rem;height:1.75rem;color:var(--grey-500);transition:color var(--dur-2) var(--ease);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;font-size:.8125rem;line-height:1;display:none;position:absolute;inset-block-start:var(--sp-2);inset-inline-end:var(--sp-2)}.recruiter-note .recruiter-note__close:hover,.recruiter-note .recruiter-note__close:focus-visible{color:var(--ink-19)}.recruiter-note.is-toast{animation:none}.recruiter-note.is-toast .recruiter-note__card{z-index:calc(var(--z-nav) - 1);width:min(21rem, calc(100vw - 2 * var(--sp-4)));position:fixed;inset-block-start:calc(var(--nav-h) + var(--sp-3));inset-inline-end:var(--sp-4);box-shadow:0 1.25rem 3rem -1.25rem #1d202680}.recruiter-note.is-toast .recruiter-note__card:hover,.recruiter-note.is-toast .recruiter-note__card:focus-within{transform:none}@media (prefers-reduced-motion:no-preference){.recruiter-note.is-toast .recruiter-note__card{animation:toast-in var(--dur-3) var(--ease-out) both}}.recruiter-note.is-toast a{padding-block-end:var(--sp-4)}.recruiter-note.is-toast strong{max-width:none;font-size:.9375rem}.recruiter-note.is-toast .recruiter-note__close{display:grid}.recruiter-note.is-toast.is-dismissed .recruiter-note__card{display:none}@keyframes note-ping{0%{box-shadow:0 0 #3030304d}45%,to{box-shadow:0 0 0 .5rem #30303000}}@keyframes toast-in{0%{opacity:0;translate:0 -.75rem}}.panel{transform-style:preserve-3d;perspective:800px}@keyframes recruiter-parallax{0%{opacity:0;transform:translateY(8rem)}10%{opacity:1;transform:translateY(6rem)}50%{opacity:1;transform:translateY(0)}90%{opacity:1;transform:translateY(10rem)}to{opacity:0;transform:translateY(14rem)translateZ(-30em)}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.recruiter-note{animation:linear both recruiter-parallax;animation-timeline:view();animation-range:entry exit 0%}}}#resume,#graphics{background:var(--bone)}#work,#projects{background:var(--ink-mid)}#bio{background:var(--ink-deep)}#contact{background:radial-gradient(60% 80% at 0% 0%, color-mix(in oklab, var(--tint-blue) 22%, transparent), transparent 70%), radial-gradient(55% 75% at 100% 100%, color-mix(in oklab, var(--tint-magenta) 18%, transparent), transparent 70%), var(--ink-19);min-height:0}@supports (animation-timeline:view()){#bio{view-timeline:--ts-bio}#ai-proof{view-timeline:--ts-ai}#work{view-timeline:--ts-work}#projects{view-timeline:--ts-projects}#resume{view-timeline:--ts-resume}#disciplines{view-timeline:--ts-disciplines}#graphics{view-timeline:--ts-graphics}#contact{view-timeline:--ts-contact}}.panel[data-nav-theme=dark]{--fg:var(--fg-on-dark-soft);--fg-strong:var(--fg-on-dark);--fg-muted:var(--fg-on-dark-mute);--eyedrop-fg:var(--fg-on-dark-mute);--line-col:var(--line-on-dark);--surface:var(--surface-on-dark);color:var(--fg-on-dark);background:var(--ink-deep)}.hero{--fg:var(--fg-on-dark-soft);--fg-strong:var(--fg-on-dark);--eyedrop-fg:var(--fg-on-dark-mute);--dur-reveal:3.3s;isolation:isolate;justify-content:center;align-items:center;gap:var(--sp-5);min-height:100svh;padding-top:calc(var(--nav-h) + var(--sp-7));text-align:center;color:var(--fg-on-dark);background:var(--ink-deep);overflow:clip}.hero:before{content:"";z-index:-1;background:var(--scrim);position:absolute;inset:0}.hero:after{content:"";z-index:-2;background:url(/assets/bg-mountain-dark.jpg) 50%/cover no-repeat fixed;position:absolute;inset:0}.hero>*{position:relative}.hero [data-eyebrow]{color:var(--fg-on-dark-mute)}.hero h1{color:var(--fg-on-dark);font-size:clamp(2rem,7.5vw,3.25rem);font-weight:500}.cb-wing-back,.cb-wing-front,.cb-body,.cb-head{transform-box:view-box;will-change:transform}@keyframes cbh-flap-back{0%{transform:rotate(-9deg)translate(2px,2px)scaleY(.98)}to{transform:rotate(4.7deg)translate(-1px,-1px)scaleY(1.04)}}@keyframes cbh-flap-front{0%{transform:rotate(9deg)translate(-1px,2px)scaleY(.98)}to{transform:rotate(-5.4deg)translate(2px,-1px)scaleY(1.05)}}@keyframes cbh-bob{0%,to{transform:translateY(0)rotate(2.72deg)}50%{transform:translateY(-11px)rotate(-4.95deg)}}@keyframes cbh-nod{0%,5%,to{transform:rotate(0)translateY(0)}8%{transform:rotate(-1.75deg)translateY(0)}11%{transform:rotate(3.5deg)translateY(1.2px)}14%{transform:rotate(-1.225deg)translateY(0)}18%{transform:rotate(0)translateY(0)}60%{transform:rotate(.2deg)translateY(0)}}@keyframes hero-bird-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes hero-bird-fill{0%{fill-opacity:0}to{fill-opacity:1}}@keyframes hero-flap-back{0%,to{transform:rotate(0)}50%{transform:rotate(7deg)translate(-1px,-1px)scaleY(.95)}}@keyframes hero-flap-front{0%,to{transform:rotate(0)}50%{transform:rotate(-6deg)translate(2px,-1px)scaleY(.95)}}@keyframes hero-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@media (prefers-reduced-motion:no-preference){.nav-bird .cb-wing-back{transform-origin:132px 169px;animation:.28s ease-in-out infinite alternate cbh-flap-back}.nav-bird .cb-wing-front{transform-origin:151px 147px;animation:.28s ease-in-out infinite alternate cbh-flap-front}.nav-bird .cb-body{transform-origin:147px 212px;animation:4.5s ease-in-out infinite cbh-bob}.nav-bird .cb-head{transform-origin:130px 154px;animation:8s cubic-bezier(.45,.02,.2,1) infinite cbh-nod}}.hero-bird{--hero-intro:5.6s;width:clamp(5rem,12vw,8rem);height:auto;color:var(--fg-on-dark)}.hero-bird path{fill:currentColor}@media (prefers-reduced-motion:no-preference){.hero-bird path{animation:hero-bird-draw 3.5s var(--ease-out) .4s both, hero-bird-fill 1.7s var(--ease) 3.9s both;stroke:currentColor;stroke-width:1.6px;stroke-dasharray:1}.hero-bird .cb-wing-back{transform-origin:132px 169px;animation:hero-flap-back var(--dur-draw) ease-in-out var(--hero-intro) infinite}.hero-bird .cb-wing-front{transform-origin:140px 140px;animation:hero-flap-front var(--dur-draw) ease-in-out var(--hero-intro) infinite}.hero-bird .cb-body{transform-origin:147px 212px;animation:hero-bob var(--dur-draw) ease-in-out var(--hero-intro) infinite}.hero-bird .cb-head{transform-origin:130px 154px;animation:cbh-nod var(--dur-draw) cubic-bezier(.45, .02, .2, 1) var(--hero-intro) infinite}}.hero-statement{color:var(--fg-on-dark-soft);font-family:var(--font-sub);font-weight:300;font-size:var(--text-h3-fluid);letter-spacing:var(--track-tight);line-height:var(--lead-snug);text-wrap:balance}.hero-statement:has(.rotating-text){flex-wrap:wrap;justify-content:center;align-items:center;gap:.5em;max-width:none;display:flex}@media (width>=48rem){.hero-statement:has(.rotating-text){white-space:nowrap}}.hero-foot{margin-top:var(--sp-7);font-family:var(--font-display);letter-spacing:var(--track-wide);text-transform:uppercase;color:var(--fg-on-dark-mute);align-items:center;gap:clamp(1rem,4vw,2.5rem);font-size:.625rem;display:flex}.resume-body{gap:clamp(2rem, 5vw, var(--sp-8));max-width:var(--col-max);grid-template-columns:minmax(0,1fr) 17rem;width:100%;margin-inline:auto;display:grid}.resume-heading{padding-bottom:var(--sp-3);margin-top:var(--sp-7);border-bottom:1px solid var(--line-col);letter-spacing:var(--track-h2);font-size:1rem}.resume-main>.timeline{margin-top:var(--sp-5)}.timeline{flex-direction:column;display:flex}.timeline>li{gap:var(--sp-5);grid-template-columns:9.5rem minmax(0,1fr);display:grid}.timeline .timeline-dates{padding-top:.4rem;padding-bottom:var(--sp-5);text-align:right;flex-direction:column;grid-column:1;justify-content:space-between;display:flex}.timeline :is(time,span){font-family:var(--font-body);letter-spacing:normal;text-transform:none;color:var(--fg-muted);font-size:.8125rem;font-weight:300}.timeline>li>details{padding:0 0 var(--sp-5) var(--sp-6);border-left:2px solid var(--line-col);transition:border-color var(--dur-2) var(--ease);grid-column:2;position:relative}.timeline>li>details:before{content:"";border-radius:var(--radius-full);background:var(--line-col);width:.85rem;height:.85rem;box-shadow:0 0 0 .3rem var(--bone);transition:background-color var(--dur-2) var(--ease), transform var(--dur-2) var(--ease);position:absolute;top:.4rem;left:-.5rem}.timeline>li:last-child>details{padding-bottom:var(--sp-2);border-image:linear-gradient(to bottom, var(--line-col) 30%, transparent 85%) 1}.timeline>li.is-active>details{border-left-color:var(--fg-strong)}.timeline>li.is-active>details:before{background:var(--fg-strong);transform:scale(1.25)}.timeline>li.is-active time{color:var(--fg-strong)}.timeline h4 span{display:block}:is(.timeline,.history) h4{letter-spacing:var(--track-tight);text-transform:none;font-size:1.0625rem;font-family:var(--font-sub);font-weight:500}.history{counter-reset:project;max-width:var(--col-text);flex-direction:column;display:flex}.history>li{counter-increment:project;padding:var(--sp-5) 0;border-top:1px solid var(--line-col)}.history>li:last-child{border-bottom:1px solid var(--line-col)}.history h4:before{content:"№ " counter(project, decimal-leading-zero);margin-bottom:var(--sp-1);font-family:var(--font-display);letter-spacing:var(--track-wider);text-transform:uppercase;color:var(--eyedrop-fg);font-size:.625rem;font-weight:450;display:block}.history details[open]>summary{margin-bottom:var(--sp-2)}.resume-main>.history{margin-inline-start:calc(9.5rem + var(--sp-5))}.resume-aside{top:calc(var(--nav-h) + var(--sp-4));gap:var(--sp-6);flex-direction:column;align-self:start;display:flex;position:sticky}.resume-aside>section{gap:var(--sp-3);flex-direction:column;display:flex}.aside-list{gap:var(--sp-1);color:var(--fg-muted);flex-direction:column;font-size:.9375rem;display:flex}.aside-list a:hover{text-decoration:underline}.aside-note{color:var(--fg-muted);font-size:.9375rem;line-height:var(--lead-normal)}.contact{color:var(--fg-on-dark);grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:stretch;gap:0;padding:0;display:grid}.contact-info{--fg:var(--fg-on-dark-soft);--fg-strong:var(--fg-on-dark);--eyedrop-fg:var(--fg-on-dark-mute);gap:var(--sp-4);padding-block:var(--panel-pad-block);padding-inline:var(--gutter) clamp(1.5rem, 6vw, 3.5rem);flex-direction:column;display:flex}.contact-info h2{color:var(--fg-on-dark)}.contact-info .ingress{color:var(--fg-on-dark-mute)}ul[data-icon-list]{gap:var(--sp-3);margin-top:var(--sp-5);flex-direction:column;display:flex}ul[data-icon-list] li{align-items:center;gap:var(--sp-3);color:var(--fg-on-dark-mute);font-size:.9375rem;display:flex}ul[data-icon-list] svg{width:1.125rem;height:1.125rem;color:var(--fg-on-dark-mute);flex:none}ul[data-icon-list] a:hover{text-decoration:underline}@media (width<=64rem){.approach{gap:var(--sp-6);grid-template-columns:1fr}.resume-body{grid-template-columns:minmax(0,1fr)}.resume-aside{position:static}.contact{grid-template-columns:minmax(0,1fr)}.map{min-height:18rem}}@media (width<=40rem){.feature-grid{grid-template-columns:minmax(0,1fr)}.carousel{--controls-bottom:calc(clamp(3rem, 12vh, 5rem) + env(safe-area-inset-bottom,0px))}#work .slide,#disciplines .slide{--slide-head-clear:42vh}.panel{--gutter:clamp(1.25rem, 6vw, 2rem);--panel-pad-block:clamp(4rem, 11vh, 6rem)}.bio-specs{gap:var(--sp-7);flex-flow:column}.bio-specs>dl:first-child{text-align:left}.timeline>li{padding-left:var(--sp-6);border-left:2px solid var(--line-col);transition:border-color var(--dur-2) var(--ease);grid-template-columns:minmax(0,1fr);gap:0;position:relative}.timeline>li:before{content:"";border-radius:var(--radius-full);background:var(--line-col);width:.85rem;height:.85rem;box-shadow:0 0 0 .3rem var(--bone);transition:background-color var(--dur-2) var(--ease), transform var(--dur-2) var(--ease);position:absolute;top:.1rem;left:-.5rem}.timeline .timeline-dates{justify-content:flex-end;gap:var(--sp-2);margin-bottom:var(--sp-3);text-align:left;flex-direction:row-reverse;padding:0}.timeline .timeline-dates :last-child:after{content:" – "}.timeline .timeline-dates :is(time,span){font-family:var(--font-display);letter-spacing:var(--track-wide);text-transform:uppercase;font-size:.6875rem;font-weight:600}.timeline>li:last-child{border-image:linear-gradient(to bottom, var(--line-col) 20%, transparent 80%) 1}.timeline>li>details{border-left:0;grid-column:1;padding-left:0}.timeline>li>details:before{content:none}.timeline>li.is-active{border-left-color:var(--fg-strong)}.timeline>li.is-active:before{background:var(--fg-strong);transform:scale(1.25)}.resume-main>.history{margin-inline-start:0}.nav{gap:var(--sp-3)}}
