@font-face{font-family:lara lora;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/Lora-Variable.woff2)format("woff2")}@font-face{font-family:lara lora;font-style:italic;font-weight:400 700;font-display:swap;src:url(/fonts/Lora-Italic-Variable.woff2)format("woff2")}@font-face{font-family:lara mea culpa;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/MeaCulpa-Regular.woff2)format("woff2")}@font-face{font-family:lara demo fraunces;font-style:normal;font-weight:300 600;font-display:swap;src:url(/fonts/LaraDemoFraunces-Variable.woff2)format("woff2")}@font-face{font-family:lara demo fraunces;font-style:italic;font-weight:300 400;font-display:swap;src:url(/fonts/LaraDemoFraunces-Italic-Variable.woff2)format("woff2")}@font-face{font-family:lara demo inter;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/LaraDemoInter-Variable.woff2)format("woff2")}:root{color-scheme:light;--paper:#fcfbf7;--paper-deep:#f6f5f1;--canvas:var(--paper);--surface:var(--canvas);--section-entry-space:clamp(3rem, calc(2.715rem + 1.19vw), 3.5rem);--content-entry-size:clamp(2rem, calc(1.857rem + 0.595vw), 2.25rem);--hero-end-space:calc(var(--section-entry-space) - var(--content-entry-size));--canvas-glass:rgba(252, 251, 247, 0.92);--canvas-overlay:rgba(252, 251, 247, 0.98);--link-jump:-0.125rem;--archive-link-shift:0.75rem;--site-frame-padding-block:1rem;--site-divider-width:1px;--site-divider-color:var(--line);--site-divider:var(--site-divider-width) solid var(--site-divider-color);--media-surface:var(--canvas);--media-frame-thumbnail:#aa0022;--media-frame-feature:#aa0022;--ink:#30302f;--ink-heading:#353532;--ink-soft:#73706d;--muted:#8e8f94;--accent:#aa0022;--line:#e6e3e1;--platform-windows:#0078d4;--platform-macos:#86868b;--platform-linux:#e95420;--admonition-instruction:#516f84;--admonition-note:#4f7891;--admonition-tip:#557860;--admonition-warning:#8a652d;--admonition-danger:#93464d;--display-serif:"Lara Demo Fraunces", Georgia, serif;--serif:"Lara Lora", Georgia, serif;--script:"Lara Mea Culpa", cursive;--type-home-weight:300;--type-home-surname-weight:300;--type-page-title-weight:400;--type-page-title-accent-weight:400;--type-page-title-size:clamp(3.5rem, 6.7vw, 5.3rem);--type-page-title-tracking:0.005em;--type-section-title-size:clamp(1.875rem, calc(1.208rem + 1.389vw), 2.25rem);--type-record-title-size:clamp(1.25rem, calc(1.107rem + 0.595vw), 1.5rem);--type-category-size:clamp(1.3rem, calc(0.994rem + 0.741vw), 1.5rem);--type-date-size:clamp(0.875rem, calc(0.818rem + 0.284vw), 1rem);--type-experience-title-size:clamp(2.25rem, calc(1.34rem + 1.9vw), 3rem);--type-section-title-weight:400;--type-heading-weight:500;--type-category-weight:400;--type-date-weight:400;--type-lead-weight:400;--type-editorial-weight:400;--type-display-accent-style:italic;--type-category-style:italic;--type-date-style:italic;--type-accent-style:normal;--sans:"Lara Demo Inter", system-ui, sans-serif;--type-body-family:var(--serif);--type-body-size:1.125rem;--type-structured-copy:400 clamp(0.9375rem, 1vw, 1rem)/1.625 var(--sans);--type-quote-signoff:italic 400 clamp(1.5rem, 2vw, 2rem)/1.25 var(--display-serif);--type-category-heading:var(--type-category-style) var(--type-category-weight) var(--type-category-size)/1.333333 var(--display-serif);--type-editorial-lead:var(--type-lead-weight) clamp(1.2rem, 1.6vw, 1.375rem)/1.65 var(--serif);--timeline-date-optical-shift:0.125rem;--resume-date-optical-shift:0.21875rem;--shell:1152px;--shell-content:1104px;--shell-gutter:clamp(1rem, calc(0.8075rem + 0.96vw), 1.5rem);--listing-content:1000px;--listing-shell:calc(var(--listing-content) + var(--shell-gutter) + var(--shell-gutter));--reading:800px;--page-hero-top-space:clamp(9rem, calc(7.857rem + 2.381vw), 10rem);--detail-hero-top-space:clamp(7rem, calc(4.714rem + 4.762vw), 9rem);--content-end-space:clamp(5rem, calc(2.714rem + 4.762vw), 7rem);--page-tail-space:clamp(1.5rem, calc(1.215rem + 1.19vw), 2rem);--detail-resource-inline-size:12rem;--detail-resource-block-size:3rem;--icon-link-size:2.75rem;--icon-link-glyph-size:1.2rem;--icon-link-gap:0.75rem;--icon-link-jump:var(--link-jump);--icon-link-border-width:1px;--cream:var(--paper);--blue:var(--accent);--blue-soft:var(--paper-deep);--coral:var(--accent);--yellow:var(--paper-deep)}html[data-theme=dark]{color-scheme:dark;--paper:#252420;--paper-deep:#1c1b18;--canvas:var(--paper-deep);--canvas-glass:rgba(28, 27, 24, 0.92);--canvas-overlay:rgba(28, 27, 24, 0.98);--ink:#c2bfba;--ink-heading:#d4d1cc;--ink-soft:#a8a5a0;--muted:#8e8f94;--accent:#b2707b;--media-frame-thumbnail:#b2707b;--media-frame-feature:#b2707b;--line:#3e3a35;--media-surface:#302e29;--admonition-instruction:#8ba8ba;--admonition-note:#84a9bf;--admonition-tip:#8aae92;--admonition-warning:#c4a065;--admonition-danger:#ca8188}*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px;overflow-y:scroll;scrollbar-gutter:auto}body{margin:0!important;color:var(--ink)!important;background:var(--canvas)!important;font:16px/1.5 var(--sans)!important;-webkit-font-smoothing:antialiased;overflow-x:clip}body,button,input,textarea,select{font-family:var(--sans)}.site-shell{display:flex;flex-direction:column;min-height:100svh}.site-shell>main{flex:1 0 auto}img,video,canvas,svg{max-width:100%}a{color:inherit;text-decoration:none!important}a:not(:where(.skip-link,.project-row,.blog-post-row,.icon-link)){position:relative;top:0;transition:color .25s ease,top .22s cubic-bezier(.22,1,.36,1)}a:not(:where(.skip-link,.project-row,.blog-post-row,.icon-link)):focus-visible{top:var(--link-jump);color:var(--accent)!important}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}::selection{color:var(--paper);background:var(--accent)}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.skip-link{position:fixed;z-index:120;top:10px;left:10px;padding:10px 14px;color:var(--paper)!important;background:var(--ink);text-decoration:none;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.reading-progress{position:fixed;z-index:130;inset:0 auto auto 0;width:0;height:3px;background:var(--accent)}.app-shell{width:100%;max-width:var(--shell);margin-right:auto;margin-left:auto;padding-right:var(--shell-gutter);padding-left:var(--shell-gutter)}.topbar{position:fixed;z-index:100;inset:0 0 auto;background:var(--canvas-glass);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.topbar-inner{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:var(--shell);margin:0 auto;padding:var(--site-frame-padding-block)var(--shell-gutter)}.topbar-actions{display:flex;align-items:center;gap:1.25rem;margin-left:auto}.primary-navigation{display:flex;align-items:center;gap:1.25rem}.theme-control{display:flex;align-items:center}.theme-control-label{display:none}.wordmark{display:inline-flex;align-items:baseline;gap:.04rem;justify-self:start;color:var(--ink)!important;line-height:1;text-decoration:none!important}.wordmark-initial{color:var(--accent);font:700 1.9rem/.72 var(--script);-webkit-text-stroke:.35px currentColor;paint-order:stroke fill}.menu-toggle{display:none;position:relative;width:44px;height:44px;padding:0;border:0;color:var(--ink);background:0 0;cursor:pointer}.menu-toggle span{position:absolute;left:10px;width:24px;height:1px;background:currentColor;transition:opacity .2s ease,transform .3s cubic-bezier(.22,1,.36,1),top .3s cubic-bezier(.22,1,.36,1)}.menu-toggle span:first-child{top:14px}.menu-toggle span:nth-child(2){top:21px}.menu-toggle span:last-child{top:28px}.menu-open .menu-toggle span:first-child{top:21px;transform:rotate(45deg)}.menu-open .menu-toggle span:nth-child(2){opacity:0}.menu-open .menu-toggle span:last-child{top:21px;transform:rotate(-45deg)}.primary-nav{display:flex;gap:2rem;margin:0;padding:0;color:var(--ink-heading);font-size:13px;font-weight:500;letter-spacing:.14em;list-style:none;text-transform:uppercase}.primary-nav a{display:inline-block;position:relative;color:inherit!important;text-decoration:none!important;transition:color .25s ease,top .22s cubic-bezier(.22,1,.36,1)}.primary-nav a:hover,.primary-nav a:focus-visible{color:var(--accent)!important}.primary-nav a[aria-current=page]{color:var(--accent)!important}.theme-toggle{position:relative;display:block;flex:none;width:2.25rem;height:2.25rem;padding:0;border:0;border-radius:0;color:var(--ink-soft);background:0 0;cursor:pointer;transition:color .25s ease,transform .22s cubic-bezier(.22,1,.36,1)}.theme-toggle::before{position:absolute;top:50%;left:50%;width:2rem;height:1rem;border-radius:999px;background:var(--line);content:"";transform:translate(-50%,-50%)}.theme-toggle:hover,.theme-toggle:focus-visible{color:var(--accent);transform:translateY(var(--icon-link-jump))}.theme-toggle-thumb{position:absolute;z-index:1;top:.75rem;left:.25rem;display:grid;place-items:center;width:.75rem;height:.75rem;border-radius:50%;color:var(--surface);background:var(--ink-soft);transform:translateX(0);transition:color .25s ease,background-color .25s ease,transform .3s cubic-bezier(.22,1,.36,1)}.theme-toggle i{grid-column:1;grid-row:1;font-size:.45rem;transition:opacity .25s ease,transform .35s cubic-bezier(.22,1,.36,1)}.theme-toggle-moon{opacity:0;transform:rotate(-35deg)scale(.65)}.theme-toggle-sun{opacity:1;transform:rotate(0)scale(1)}html[data-theme=dark] .theme-toggle-moon{opacity:1;transform:rotate(0)scale(1)}html[data-theme=dark] .theme-toggle-sun{opacity:0;transform:rotate(35deg)scale(.65)}html[data-theme=dark] .theme-toggle::before{background:var(--media-surface)}html[data-theme=dark] .theme-toggle-thumb{color:var(--canvas);background:var(--accent);transform:translateX(1rem)}.theme-toggle:hover .theme-toggle-thumb,.theme-toggle:focus-visible .theme-toggle-thumb{background:var(--accent)}.round-link,.app-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 1.5rem;border:1px solid var(--ink);border-radius:999px;color:var(--ink)!important;background:0 0;font-size:13px;font-weight:500;letter-spacing:.12em;text-decoration:none!important;text-transform:uppercase;transition:color .3s ease,background .3s ease,top .22s cubic-bezier(.22,1,.36,1)}.round-link:hover,.app-button:hover{color:var(--paper)!important;border-color:var(--ink);background:var(--ink)}.app-button-solid,.primary-link{color:var(--paper)!important;border-width:0;background:var(--ink)}.app-button-line{min-height:46px}.text-link{display:inline-flex;align-items:center;min-height:44px;color:var(--accent)!important;font-size:.875rem;font-weight:600;text-decoration:none!important}.app-home{display:flex;min-height:calc(100svh - 6.5625rem);color:var(--ink);background:var(--canvas)}.home-profile{display:flex;flex:1;width:100%;position:relative;min-height:auto;overflow:hidden}.home-profile-grid{display:grid;flex:1;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:0;min-height:100%;padding-top:clamp(4.75rem,6vw,5.5rem);padding-bottom:clamp(2rem,3vw,2.5rem)}.home-profile-copy{grid-column:2;grid-row:1;justify-self:center;width:max-content;max-width:100%;text-align:right}.home-profile-name-link,.home-profile-portrait{position:static!important;top:auto!important;color:inherit!important;transition:none!important}.home-profile-name-link{display:block}.app-section-number,.section-label{margin:0!important;color:var(--ink-soft)!important;font:500 13px/1.5 var(--sans)!important;letter-spacing:.2em;text-transform:uppercase}.app-detail-eyebrow span{content:"";width:2.5rem;height:1px;background:var(--accent)}.app-home .home-profile h1{margin:0;color:var(--ink)!important;font:var(--type-home-weight)clamp(6.25rem,9.56vw,9.5rem)/.86 var(--display-serif)!important;letter-spacing:-.035em!important;text-transform:none!important}.app-home .home-profile h1>span,.app-home .home-profile h1>em{display:block;white-space:nowrap}.app-home .home-profile h1>span{font-style:italic}.app-home .home-profile h1>em{margin-top:.08em;font-family:var(--display-serif)!important;font-style:var(--type-display-accent-style);font-weight:var(--type-home-surname-weight)!important}.home-profile-surname{display:flex!important;align-items:baseline;justify-content:flex-end}.home-profile-surname-initial{display:inline-block;margin-right:.035em;font:1.13em/.62 var(--script);transform:translateY(.08em)}.home-profile-surname-rest{display:inline-block}.app-home .home-profile h1 em{color:var(--accent);font-weight:var(--type-home-surname-weight)}.home-profile-portrait{grid-column:1;grid-row:1;align-self:center;width:clamp(22rem,36vw,28.125rem);max-width:100%;margin:0;justify-self:center}.home-profile-portrait picture{display:block}.home-profile-portrait img{display:block;width:100%;height:auto!important}.app-experience{padding:var(--content-end-space)0}.app-experience-main h2{margin:1.5rem 0 0;font-size:var(--type-experience-title-size)!important;line-height:1!important;letter-spacing:0!important}.app-experience-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(2.5rem,calc(-.5rem + 6.25vw),4rem)}.app-experience-main{grid-column:1/span 7}.app-experience-main h2{margin-bottom:3rem;color:var(--ink-heading)!important;font-family:var(--display-serif)!important;font-weight:var(--type-section-title-weight)!important;letter-spacing:0!important;text-transform:none!important}.app-timeline{display:grid;grid-template-columns:max-content minmax(0,1fr);column-gap:2rem}.app-timeline article{display:grid;grid-template-columns:subgrid;grid-column:1/-1;align-items:start;gap:2rem;padding:2rem 0}.app-timeline article+article{border-top:0}.app-timeline time{color:var(--accent);font:var(--type-date-style)var(--type-date-weight)var(--type-date-size)/1.5 var(--display-serif);text-align:right;white-space:nowrap;transform:translateY(var(--timeline-date-optical-shift))}.app-timeline article>div{min-width:0}.app-timeline h3{margin:0;font:var(--type-heading-weight)var(--type-record-title-size)/1.4 var(--serif)!important;letter-spacing:0!important}.app-timeline-meta{display:flex;justify-content:space-between;align-items:baseline;gap:1.5rem;margin-top:.25rem;color:var(--ink-soft);font-size:.875rem;line-height:1.428571;letter-spacing:.12em;text-transform:uppercase}.app-timeline-meta span:last-child{text-align:right}.app-timeline-note{margin:.75rem 0 0!important;color:var(--ink)!important;font:var(--type-structured-copy)!important}.app-capabilities{grid-column:9/span 4}.app-capabilities>div{margin-top:2.5rem}.app-capabilities>div:first-of-type{margin-top:1.5rem}.app-capabilities h3{margin:0;color:var(--ink-heading);font:var(--type-category-heading)!important}.app-capabilities ul{margin:1rem 0 0;padding:0 0 0 1rem;border-left:2px solid var(--accent);list-style:none}.app-capabilities li,.about-interest-list li{margin:.45rem 0;color:var(--ink);font:var(--type-structured-copy)}.app-capabilities .app-button{margin-top:3rem}.inner-page{min-height:0;background:var(--surface)}.site-shell>main>:last-child,.page-tail-source{margin-bottom:0!important;padding-bottom:0!important}.page-hero{display:grid;grid-template-columns:minmax(0,1fr)minmax(300px,.48fr);grid-template-rows:1.25rem minmax(0,1fr);align-items:end;gap:clamp(2rem,calc(1.715rem + 1.19vw),2.5rem);padding:var(--page-hero-top-space)var(--shell-gutter)var(--hero-end-space);border-bottom:0;background:var(--canvas)}.page-hero .section-label{grid-column:1;grid-row:1;align-self:start}.page-hero h1{grid-column:1;grid-row:2;align-self:start;margin:0;color:var(--ink)!important;font:var(--type-page-title-weight)var(--type-page-title-size)/.94 var(--display-serif)!important;letter-spacing:var(--type-page-title-tracking)!important;text-transform:none!important;overflow-wrap:anywhere;white-space:nowrap}.page-hero h1 em{color:var(--accent);font-style:var(--type-display-accent-style);font-weight:var(--type-page-title-accent-weight)}.page-hero>p:last-child{grid-column:2;grid-row:2;align-self:end;margin:0!important;color:var(--ink-soft)!important;font:var(--type-structured-copy)!important;letter-spacing:.04em}.page-hero-copy span{display:block}.page-hero-copy span+span{margin-top:.45rem}.page-content-start{height:var(--content-entry-size);background-color:var(--surface)}.page-content-start--deep,.page-content-start--dark,.page-content-start--line{color:var(--ink);background-color:var(--surface)}.project-index,.post-index{padding:0 var(--shell-gutter)2.25rem}.project-index{background:var(--surface)}.project-row{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;gap:2rem;padding:3rem 0;color:var(--ink)!important;text-decoration:none!important}.project-index>.project-row:first-child{padding-top:0}.project-row+.project-row{border-top:0}.post-count{color:var(--ink-soft);font:var(--type-date-style)var(--type-date-weight)var(--type-date-size)/1.428571 var(--display-serif)}.project-copy{grid-column:span 7}.project-thumb{grid-column:span 5;margin:0}.project-date{color:var(--ink-soft);font-size:13px;font-weight:500;letter-spacing:.16em;text-transform:uppercase}.project-row h2,.post-row h2{margin:.5rem 0 0;color:var(--ink-heading)!important;font:var(--type-section-title-weight)var(--type-section-title-size)/1.15 var(--display-serif)!important;letter-spacing:0!important;text-transform:none!important}.project-row h2{transition:transform .5s ease,color .4s ease}.project-row p,.post-row p{max-width:620px;margin:.75rem 0 0!important;color:var(--ink-soft)!important;font:var(--type-structured-copy)!important}.project-tags{display:flex;flex-wrap:wrap;gap:0;margin-top:1rem}.project-tags span{color:var(--ink-soft);font-size:13px;letter-spacing:.1em;text-transform:uppercase}.project-tags .project-tag-separator{margin:0 .55rem}.project-thumb{position:relative;overflow:visible;padding:0 10px 10px 0;background:0 0}.project-thumb::after{content:"";position:absolute;z-index:0;top:10px;right:0;bottom:0;left:10px;background:var(--media-frame-thumbnail)}.project-thumb picture{position:relative;z-index:1;display:block;width:100%;aspect-ratio:3/2;overflow:hidden;background:var(--media-surface)}.project-thumb img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s ease}.project-thumb img.image-fit-contain{padding:1.5rem;object-fit:contain}html[data-theme=dark] .project-thumb img.image-fit-contain,html[data-theme=dark] .app-detail-figure img.image-fit-contain{background:var(--media-surface);box-shadow:inset 0 0 0 1px var(--line)}.project-row:hover h2,.project-row:focus-visible h2{color:var(--accent)!important;transform:translateX(var(--archive-link-shift))}.project-row:hover .project-thumb img{transform:scale(1.04)rotate(-1deg)}.project-arrow{display:none}.post-index{color:var(--ink);background:var(--surface)}.post-row{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;gap:.75rem;min-height:220px;padding:2.25rem 0;color:var(--ink)!important;text-decoration:none!important}.blog-post-row{min-height:auto;padding-top:clamp(1.5rem,2.2vw,2rem);padding-bottom:clamp(1.5rem,2.2vw,2rem)}.post-index>.post-row:first-child{min-height:auto;padding-top:0}.post-row+.post-row{border-top:0}.post-row h2{transition:transform .5s ease,color .4s ease}.post-meta{display:grid;grid-column:1/span 2;gap:.45rem;color:var(--ink-soft);font-size:.8rem}.blog-post-row .post-meta time{font:var(--type-date-style)var(--type-date-weight)var(--type-date-size)/1.5 var(--display-serif)}.post-copy{grid-column:3/span 10}.blog-post-row .post-copy{grid-column:3/span 8}.post-details{display:grid;grid-column:11/span 2;justify-self:end;gap:.45rem;color:var(--ink-soft);font-size:.8rem;line-height:1.5;text-align:right}.post-row:hover h2,.post-row:focus-visible h2{color:var(--accent)!important}.blog-post-row:hover h2,.blog-post-row:focus-visible h2{transform:translateX(var(--archive-link-shift))}.generic-row .post-count{grid-column:1/span 2}.pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;padding-top:1.5rem;border-top:0;color:var(--ink-soft);font-size:.75rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase}.pagination a{color:var(--ink)!important;text-decoration:none!important}.pagination a:hover{color:var(--accent)!important}.pagination-newer{justify-self:start}.pagination-older{justify-self:end}.pagination-status{justify-self:center;white-space:nowrap}.page-tail--light .pagination,.page-tail--deep .pagination{color:var(--ink-soft)}.page-tail--light .pagination a,.page-tail--deep .pagination a{color:var(--ink)!important}.page-tail--light .pagination a:hover,.page-tail--deep .pagination a:hover{color:var(--accent)!important}.app-detail-page{color:var(--ink);background:var(--surface);overflow-x:clip}.app-detail-hero{padding:var(--detail-hero-top-space)0 var(--hero-end-space);border-bottom:0;background:var(--canvas)}.app-detail-content{background-color:var(--surface)}.app-detail-back{display:inline-block;color:var(--ink-soft)!important;font-size:13px;font-weight:500;letter-spacing:.18em;text-decoration:none!important;text-transform:uppercase}.app-detail-eyebrow{display:flex;align-items:center;gap:1rem;margin:2.5rem 0 0!important;color:var(--ink-soft)!important;font:500 13px/1.5 var(--sans)!important;letter-spacing:.2em;text-transform:uppercase}.app-detail-hero h1{max-width:1e3px;margin:1.25rem 0 0;color:var(--ink)!important;font:var(--type-page-title-weight)var(--type-page-title-size)/.94 var(--display-serif)!important;letter-spacing:var(--type-page-title-tracking)!important;text-transform:none!important;overflow-wrap:anywhere}.app-detail-hero h1 em{color:var(--accent);font-style:var(--type-display-accent-style);font-weight:var(--type-page-title-accent-weight)}.app-detail-deck{display:grid;grid-template-columns:minmax(0,1fr)max-content;align-items:start;gap:2rem;width:100%;margin:2.25rem 0 0}.app-detail-summary{min-width:0;max-width:34rem}.app-detail-summary>p{margin:0!important;color:var(--ink)!important;font:var(--type-structured-copy)!important}.app-detail-utility{min-width:0}.app-detail-utility-inner{display:flex;align-items:center;justify-content:flex-end;gap:1.25rem;width:100%}.app-detail-utility-meta{margin:0!important;color:var(--ink-soft)!important;font:500 .75rem/1.5 var(--sans)!important;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}.app-detail-utility .app-detail-utility-actions{flex:initial;margin-top:0}.app-detail-figure{width:100%;max-width:1280px;margin-top:0;margin-bottom:0;padding-right:var(--shell-gutter);padding-left:var(--shell-gutter)}.app-detail-figure>div{overflow:hidden;background:0 0}.app-detail-figure img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.app-detail-figure img.image-fit-contain{padding:clamp(2rem,5vw,4rem);object-fit:contain}.app-detail-figure figcaption{margin-top:.75rem;color:var(--muted);font-size:.75rem;text-align:right}.app-detail-body{padding-top:var(--content-entry-size);padding-bottom:0}.app-resource-list{display:grid;width:min(100%,var(--detail-resource-inline-size));border-block:var(--site-divider)}.app-resource-action{display:grid;grid-template-columns:1.25rem minmax(0,1fr)1.25rem;align-items:center;column-gap:.5rem;width:100%;height:var(--detail-resource-block-size);padding:0 .75rem;border:0;border-radius:0;color:var(--ink)!important;background:0 0;font-size:.8125rem;font-weight:500;line-height:1.4;letter-spacing:.08em;text-align:center;text-decoration:none!important;text-transform:uppercase;white-space:nowrap;transition:color .2s ease,background-color .2s ease,top .22s cubic-bezier(.22,1,.36,1)}.app-resource-action+.app-resource-action{border-top:var(--site-divider)}.app-resource-action span{grid-column:2;display:block;min-width:0;margin:0;color:inherit;font:inherit}.app-resource-action i{grid-column:3;grid-row:1;width:1.1rem;color:var(--accent);text-align:center}.app-detail-prose{width:min(100%,var(--reading));margin-right:auto;margin-left:auto;min-width:0}.app-detail-prose>*:last-child{margin-bottom:0!important}.app-detail-taxonomy{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem 1.25rem;width:min(100%,var(--reading));margin:3.5rem auto 0}.app-detail-taxonomy>p{margin:0!important;color:var(--ink-soft)!important;font:500 .6875rem/1.5 var(--sans)!important;letter-spacing:.16em;text-transform:uppercase}.app-detail-tags{display:flex;flex-wrap:wrap;gap:.35rem .75rem;margin:0}.app-detail-tags a{color:var(--ink-soft)!important;font:500 .75rem/1.5 var(--sans);letter-spacing:.1em;text-decoration:none!important;text-transform:uppercase}.app-detail-tags a+a::before{content:"·";margin-right:.75rem;color:var(--muted)}.app-detail-tags a:hover,.app-detail-tags a:focus-visible{color:var(--accent)!important}.article-content.app-detail-prose>*:first-child{margin-top:0!important}.article-content.app-detail-prose p,.article-content.app-detail-prose dd{color:var(--ink)!important;font:var(--type-body-size)/1.85 var(--type-body-family)!important}.article-content.app-detail-prose li{color:var(--ink)!important;font:var(--type-body-size)/1.625 var(--type-body-family)!important}.article-content.app-detail-prose p{margin:0 0 1.5em!important}.article-content.app-detail-prose ul,.article-content.app-detail-prose ol{margin:1.75rem 0;padding-left:1.35rem}.article-content.app-detail-prose li{margin:.65rem 0}.article-content.app-detail-prose h2,.article-content.app-detail-prose h3,.article-content.app-detail-prose h4{color:var(--ink-heading)!important;font-family:var(--serif)!important;font-weight:var(--type-heading-weight)!important;letter-spacing:0!important;text-transform:none!important}.article-content.app-detail-prose h2{margin:4rem 0 1.25rem!important;font-family:var(--display-serif)!important;font-size:var(--type-section-title-size)!important;font-weight:var(--type-section-title-weight)!important;line-height:1.15!important}.article-content.app-detail-prose h3{margin:3rem 0 1rem!important;font-size:1.5rem!important;line-height:1.3!important}.article-content.app-detail-prose a{color:var(--accent)!important;overflow-wrap:anywhere}.article-content.app-detail-prose blockquote{margin:3rem 0;padding:.5rem 0 .5rem 2rem;border:0!important;border-left:2px solid var(--accent)!important;color:var(--ink);background:0 0!important;box-shadow:none!important;transform:none!important}.article-content.app-detail-prose blockquote::before{display:none!important}.article-content.app-detail-prose blockquote p{margin:0!important;color:var(--ink)!important;font:var(--type-quote-signoff)!important}.article-content.app-detail-prose img{display:block;width:auto;max-width:100%;height:auto;margin:2.5rem auto}.article-content.app-detail-prose figure{margin:2.5rem 0}.article-content.app-detail-prose figcaption,.article-content.app-detail-prose .caption{color:var(--muted)!important;font-size:.75rem!important;text-align:center}.article-content.app-detail-prose code{border-radius:3px;color:var(--ink);background:var(--paper-deep);font-size:.86em}.article-content.app-detail-prose pre{max-width:100%;margin:2rem 0;padding:1.25rem;overflow:auto;border-left:2px solid var(--accent);border-radius:0;color:var(--paper);background:var(--ink)}.article-content.app-detail-prose pre code{color:inherit;background:0 0}.article-content.app-detail-prose table{display:block;width:max-content;max-width:100%;margin:2rem 0;overflow-x:auto;border-collapse:collapse;font-size:.9rem}.article-content.app-detail-prose th,.article-content.app-detail-prose td{padding:.75rem;border:1px solid var(--line);text-align:left}.article-content.app-detail-prose iframe,.article-content.app-detail-prose .html-widget,.article-content.app-detail-prose .plotly,.article-content.app-detail-prose .figure{max-width:100%!important;overflow-x:auto}.article-content.app-detail-prose .plotly.html-widget[style*="height:150%"]{height:auto!important;aspect-ratio:2/3;overflow:hidden}.article-content.app-detail-prose .article-editorial-opening{margin-bottom:2.25rem!important;color:var(--ink)!important;font:var(--type-editorial-lead)!important}.about-intro em,.app-article-blocks .article-editorial-opening em{font-style:var(--type-accent-style)}.article-content.app-detail-prose blockquote em,.app-article-blocks .article-editorial-quote em,.app-article-blocks .article-editorial-signoff em,.app-article-blocks .article-editorial-equations code em{font-style:inherit}.app-article-blocks .article-editorial-callout>strong em,.app-article-blocks .article-editorial-cta strong em{font-style:inherit}.app-article-blocks .article-editorial-opening::first-letter{margin-right:.12em;color:var(--accent);font-family:var(--serif);font-weight:400;-webkit-initial-letter:2;initial-letter:2}.app-article-blocks .article-editorial-figure{width:100%;margin:3rem 0 3.5rem}.app-article-blocks .article-editorial-figure--featured{width:calc(100% + min(10vw,8rem));margin:4rem 0 4.5rem calc(-1 * min(5vw,4rem))}.app-article-blocks .article-editorial-media{position:relative}.app-article-blocks .article-editorial-figure--featured .article-editorial-media{padding:0 18px 18px 0}.app-article-blocks .article-editorial-figure--featured .article-editorial-media::after{content:"";position:absolute;z-index:0;top:18px;right:0;bottom:0;left:18px;background:var(--media-frame-feature)}.app-article-blocks .article-editorial-media img{position:relative;z-index:1;display:block;width:100%;height:auto;max-width:none;margin:0}.app-article-blocks .article-editorial-figure figcaption{max-width:720px;margin-top:1rem;color:var(--muted)!important;font:.78rem/1.6 var(--sans)!important;text-align:left}.app-article-blocks .article-editorial-quote{position:relative;margin:4rem 0;border:0!important;background:0 0!important}.app-article-blocks .article-editorial-quote p{color:var(--ink)!important;font:var(--type-quote-signoff)!important}.app-article-blocks .article-editorial-quote p+p{margin-top:.35rem!important}.app-article-blocks .article-editorial-quote cite{display:block;margin-top:1.5rem;color:var(--ink-soft);font:600 .72rem/1.5 var(--sans);font-style:normal;letter-spacing:.16em;text-transform:uppercase}.article-content.app-detail-prose .article-editorial-quote--feature{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1rem;margin-left:calc(-1 * min(3vw,2.5rem));padding:2.75rem 3rem 2.5rem;border-left:0!important;background:var(--paper-deep)!important}.app-article-blocks .article-editorial-quote--feature .article-editorial-quote-mark{margin-top:-.35rem;color:var(--accent);font:clamp(4rem,calc(1.333rem + 5.556vw),5.5rem)/.75 var(--display-serif)}.app-article-blocks .article-editorial-quote--feature p{margin:0!important}.app-article-blocks .article-editorial-quote--feature p+p{margin-top:1.1rem!important}.app-article-blocks .article-editorial-prompts{margin:4rem 0}.app-article-blocks .article-editorial-prompts-label{margin:0!important;color:var(--ink-soft)!important;font:600 .72rem/1.5 var(--sans)!important;letter-spacing:.16em;text-transform:uppercase}.app-article-blocks .article-editorial-prompts ol{display:grid;gap:1.25rem;margin:1.5rem 0 0;padding:0;list-style:none}.app-article-blocks .article-editorial-prompts li{display:grid;grid-template-columns:2rem minmax(0,1fr);align-items:baseline;gap:.75rem;margin:0}.app-article-blocks .article-editorial-prompt-index{color:var(--accent);font:var(--type-date-style)var(--type-date-weight)1rem/1.5 var(--display-serif)}.app-article-blocks .article-editorial-prompt-text{color:var(--ink);font:var(--type-structured-copy)}.app-article-blocks .article-editorial-signoff{margin-top:3.5rem!important;color:var(--accent)!important;font:var(--type-quote-signoff)!important}.app-article-blocks .article-editorial-callout{margin:2.75rem 0;padding:1.5rem 1.75rem;border-left:2px solid var(--accent);background:var(--paper-deep)}.app-article-blocks .article-editorial-callout>span{display:block;margin-bottom:.65rem;color:var(--accent);font:600 .7rem/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase}.app-article-blocks .article-editorial-callout>strong{display:block;margin-bottom:.65rem;color:var(--ink);font:var(--type-category-style)var(--type-category-weight)var(--type-category-size)/1.35 var(--display-serif)}.app-article-blocks .article-editorial-callout>p{margin:0!important}.app-article-blocks .article-editorial-cta{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin:3rem 0;padding:1.25rem 0;border-block:var(--site-divider);color:var(--ink);text-decoration:none}.app-article-blocks .article-editorial-cta>span:first-child{display:grid;gap:.25rem}.app-article-blocks .article-editorial-cta strong{color:var(--ink);font:var(--type-category-style)var(--type-category-weight)1.3rem/1.35 var(--display-serif)}.app-article-blocks .article-editorial-cta small{color:var(--ink-soft);font:var(--type-structured-copy)}.app-article-blocks .article-editorial-cta-mark{color:var(--accent);font:1.5rem/1 var(--serif)}.app-article-blocks .article-editorial-equations{display:grid;gap:.75rem;margin:2.75rem 0;padding:1.75rem 2rem;border:1px solid var(--line);background:var(--paper-deep)}.app-article-blocks .article-editorial-equations code{color:var(--ink);background:0 0;font:var(--type-quote-signoff)}.app-article-blocks .article-editorial-code{margin:2.75rem 0;border-block:var(--site-divider)}.app-article-blocks .article-editorial-code summary{padding:1rem 0;color:var(--accent);font:600 .72rem/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase;cursor:pointer}.app-article-blocks .article-editorial-code pre{margin:0 0 1.5rem}.article-editorial-chart{width:calc(100% + min(10vw,8rem));margin:4rem 0 4.5rem calc(-1 * min(5vw,4rem))}.article-editorial-chart-frame{position:relative}.article-editorial-chart canvas{position:relative;z-index:1;display:block;width:100%;aspect-ratio:16/10;background:var(--ink);touch-action:none}.article-editorial-chart figcaption{margin-top:1rem;color:var(--muted);font:.78rem/1.6 var(--sans)}.icon-link-group{display:flex;flex-wrap:wrap;align-items:center;gap:var(--icon-link-gap)}.detail-icon-actions{width:fit-content;max-width:100%;margin-top:2rem}.icon-link{display:inline-grid;place-items:center;width:var(--icon-link-size);height:var(--icon-link-size);min-width:var(--icon-link-size);min-height:var(--icon-link-size);padding:0;border:var(--icon-link-border-width)solid transparent;border-radius:999px;color:var(--accent)!important;background:0 0;text-decoration:none!important;cursor:pointer;transition:color .2s ease,border-color .2s ease,background-color .2s ease,transform .25s ease}.icon-link i{display:block;font-size:var(--icon-link-glyph-size)!important;line-height:1}.detail-icon-action--labelled{display:inline-flex;gap:.5rem;width:auto;min-width:0;height:2.5rem;min-height:2.5rem;padding:0 .875rem;color:var(--ink-soft)!important;font:500 .6875rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase}.detail-icon-action--labelled i{color:var(--accent);font-size:.875rem}.detail-icon-action--labelled span{color:inherit;font:inherit}.detail-share{position:relative}.icon-link:focus-visible{border-color:var(--accent);color:var(--paper)!important;background:var(--accent);transform:translateY(var(--icon-link-jump))}.detail-share-toggle[aria-expanded=true]{border-color:var(--accent);color:var(--paper)!important;background:var(--accent);transform:translateY(var(--icon-link-jump))}.detail-share-menu{position:absolute;z-index:20;top:calc(100% + .5rem);left:50%;display:flex;gap:.4rem;padding:.4rem;border:var(--icon-link-border-width)solid var(--line);border-radius:999px;background:var(--canvas);box-shadow:0 .6rem 1.4rem rgba(27,23,18,.12);transform:translateX(-50%)}.detail-share-menu[hidden]{display:none}.app-detail-next{padding-top:2.25rem;background:var(--surface)}.app-detail-next>a{display:flex;align-items:baseline;justify-content:flex-start;gap:1.25rem;width:min(calc(100% - (2 * var(--shell-gutter))),var(--reading));margin:0 auto;padding-bottom:3.5rem;color:var(--accent)!important;text-decoration:none!important}.app-detail-next-label{color:var(--ink-soft);font:500 .6875rem/1.5 var(--sans);letter-spacing:.16em;text-transform:uppercase}.app-detail-next-title{flex:initial;min-width:0;color:inherit;font:500 var(--type-record-title-size)/1.35 var(--serif);transition:color .25s ease}.app-detail-next-arrow{flex:none;color:inherit;font-size:1.25rem;font-weight:400;line-height:1}.app-detail-next>a:focus-visible .app-detail-next-title{color:var(--ink-heading)}.about-detail,.contact-form-layout{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:3.5rem;width:100%;max-width:var(--shell);margin:0 auto;padding:0 var(--shell-gutter)var(--content-end-space)}.about-page .page-hero h1{font-weight:300!important}.about-detail{grid-template-columns:minmax(0,1fr)minmax(300px,.48fr);align-items:start;gap:2.5rem;padding-bottom:0}.about-page .page-hero h1 .page-hero-emphasis-flourish{display:inline-flex;align-items:baseline;font-family:var(--display-serif);font-style:var(--type-display-accent-style);font-weight:300}.about-page .page-hero h1 .page-hero-title-italic{color:var(--ink);font-family:var(--display-serif);font-style:italic;font-weight:300}.about-page .page-hero h1 .page-hero-emphasis-flourish{color:var(--accent)}.about-profile{grid-column:2;min-width:0}.about-profile .section-label{margin-bottom:1.25rem!important}.about-interest-list{display:grid;gap:0;margin:0;padding:0;list-style:none}.about-interest-list li{display:flex;align-items:center;gap:.65rem}.about-interest-icon{flex:0 0 1.5rem;width:1.5rem;color:var(--muted);font-size:1.25rem;line-height:1;text-align:center}.about-socials{margin-top:2.5rem}.about-socials .section-label{margin-bottom:1rem!important}.about-social-links{display:flex;align-items:center;gap:.75rem}.about-social-links .icon-link{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;min-width:2rem;min-height:2rem;border:0;border-radius:0;color:var(--ink-soft)!important;background:0 0;transition:color .25s ease,transform .25s ease}.about-social-links .icon-link i{font-size:1.25rem!important}.about-social-links .icon-link:focus-visible{color:var(--accent)!important;background:0 0;transform:translateY(-2px)}.about-content{grid-column:1;min-width:0}.about-intro{width:100%;max-width:680px;margin-top:1.5rem}.about-intro p{margin:0 0 1.5rem!important;color:var(--ink)!important;font:var(--type-editorial-lead)!important}.about-intro a{color:var(--accent)!important}.about-history{padding-bottom:var(--content-end-space)}.about-history>.section-label{margin:0!important}.about-history-copy{max-width:39rem;margin-top:1.5rem}.about-history-copy p{margin:0 0 1.5rem!important;color:var(--ink)!important;font:var(--type-body-size)/1.85 var(--type-body-family)!important}.about-history-copy p:last-child{margin-bottom:0!important}.about-history-copy a{color:var(--accent)!important}.about-experience{padding-top:0;padding-bottom:0;border-block:0;color:var(--ink);background:var(--surface)}.resume-overview{display:grid;grid-template-columns:minmax(0,1fr)minmax(300px,.48fr);align-items:start;gap:2.5rem;padding-bottom:0}.resume-page-shell{--resume-bullet:"&";--resume-date-column:9.75rem;--resume-label-content-space:1rem;--resume-role-space:2.5rem;--resume-section-space:2rem}.resume-overview-copy{grid-column:1;width:100%;max-width:680px;min-width:0}.resume-page-shell .resume-t13{color:var(--ink-soft)!important;font:500 13px/1.5 var(--sans)!important;letter-spacing:.2em!important;text-transform:uppercase!important}.resume-summary{margin-top:var(--resume-label-content-space)}.resume-summary p{margin:0 0 1.25rem!important;color:var(--ink)!important;font:var(--type-editorial-lead)!important}.resume-summary p:last-child{margin-bottom:0!important}.resume-summary strong{color:var(--accent);font-weight:400}.resume-overview-aside{grid-column:2;min-width:0}.resume-actions{flex:none;flex-wrap:nowrap;width:auto;margin:0 0 0 auto}.resume-highlights{border-bottom:0}.resume-highlight{padding:1rem 0;border-top:0}.resume-highlight:first-child{padding-top:0;border-top:0}.resume-highlight-action-row{display:flex;align-items:center;gap:1.5rem}.resume-highlight-copy{min-width:0}.resume-highlight span{display:block}.resume-highlight strong{display:block;margin-top:.4rem;color:var(--ink);font:var(--type-body-size)/1.5 var(--type-body-family)}.resume-highlight small{display:block;margin-top:.25rem;color:var(--muted);font:.8rem/1.5 var(--sans)}.resume-section{padding-bottom:0}.inner-page.resume-page-shell>section~section{padding-top:var(--resume-section-space)}.resume-experience{border-block:0;background:var(--surface)}.resume-section-heading{display:grid;grid-template-columns:var(--resume-date-column)minmax(0,1fr);align-items:first baseline;column-gap:3rem;padding-bottom:2rem;border-bottom:0}.resume-section-heading .section-label{grid-column:1}.resume-section-heading h2{grid-column:1}.resume-timeline{display:grid;grid-template-columns:var(--resume-date-column)minmax(0,1fr);column-gap:3rem}.resume-role{display:grid;grid-template-columns:subgrid;grid-column:1/-1;align-items:start;gap:3rem;padding:var(--resume-role-space)0 0}.resume-timeline .resume-role:first-child{padding-top:var(--resume-label-content-space)}.resume-role+.resume-role{border-top:0}.resume-timeline .resume-role:last-child{padding-bottom:0}.resume-role time{color:var(--accent);font:var(--type-date-style)var(--type-date-weight)var(--type-date-size)/1.5 var(--display-serif);text-align:right;white-space:nowrap;transform:translateY(var(--resume-date-optical-shift))}.resume-role-content{min-width:0}.resume-role h3{margin:0;color:var(--ink-heading)!important;font:var(--type-heading-weight)var(--type-record-title-size)/1.3 var(--serif)!important;letter-spacing:0!important;text-transform:none!important}.resume-role-meta{display:flex;align-items:baseline;justify-content:space-between;gap:2rem;margin-top:.45rem}.resume-role-meta span:last-child{text-align:right}.resume-bullets{display:grid;gap:.9rem;margin:1.25rem 0 0;padding:0;list-style:none}.resume-bullets li{margin:0;color:var(--ink);font:var(--type-body-size)/1.7 var(--type-body-family)}.resume-bullets li>div{min-width:0}.resume-bullets p{margin:0!important;color:inherit!important;font:inherit!important}.resume-bullets strong{color:var(--ink);font-weight:600}.resume-clean-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 2rem;margin:0;padding:0;list-style:none}.resume-clean-list li{color:var(--ink);font:var(--type-body-size)/1.55 var(--type-body-family)}.resume-skills-shell>.resume-section-heading{display:block;padding-bottom:0}.resume-skill-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem 4rem;padding-top:var(--resume-label-content-space)}.resume-skill-group{min-width:0}.resume-skill-group h3{margin:0 0 1.25rem;color:var(--ink-heading)!important;font:var(--type-category-style)var(--type-category-weight)var(--type-category-size)/1.4 var(--display-serif)!important;letter-spacing:0!important;text-transform:none!important}.resume-skill-group .resume-clean-list{grid-template-columns:1fr;gap:.9rem}.resume-bullets li,.resume-clean-list li{display:grid;grid-template-columns:1.25rem minmax(0,1fr);align-items:center;column-gap:.625rem}.resume-bullets li::before,.resume-clean-list li::before{content:var(--resume-bullet);justify-self:center;color:var(--accent);font:italic 1.125rem/1 var(--display-serif);font-optical-sizing:none;font-variation-settings:"opsz" 24,"wght" 400}.resume-experience .resume-section-heading{display:block;padding-bottom:0;border-bottom:0}.resume-credentials-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4rem}.resume-credentials h2{margin-bottom:var(--resume-label-content-space)!important}.resume-education{padding-top:0}.resume-education h3{margin:0;color:var(--ink-heading)!important;font:var(--type-heading-weight)var(--type-record-title-size)/1.4 var(--serif)!important;letter-spacing:0!important;text-transform:none!important}.resume-education-meta{display:grid;grid-template-columns:minmax(0,1fr)auto;align-items:end;gap:1.5rem;margin-top:.65rem}.resume-education time{grid-column:2;color:var(--accent);font:var(--type-date-style)var(--type-date-weight)var(--type-date-size)/1.5 var(--display-serif);text-align:right;white-space:nowrap}.resume-education p{display:flex;flex-wrap:wrap;gap:.35rem 1.5rem;margin:0!important}.contact-form-layout>div:first-child{grid-column:1/span 4}.contact-form-layout>div:last-child{grid-column:6/span 7}.contact-social-links ul{margin:1.5rem 0 0;padding:0;list-style:none}.contact-social-links li{border-top:var(--site-divider)}.contact-social-links a{display:flex;align-items:center;justify-content:space-between;min-height:3.5rem;color:var(--ink)!important;font-size:.95rem;text-decoration:none!important}.contact-social-links a::after{content:"";width:.45rem;height:.45rem;border-top:1px solid;border-right:1px solid;transform:rotate(45deg)}.contact-form-layout form,.contact-form-layout fieldset{margin:0;padding:0;border:0}.contact-form-layout legend{margin-bottom:2rem;color:var(--ink-heading);font:var(--type-section-title-weight)var(--type-section-title-size)/1.15 var(--display-serif)}.contact-form-layout label{display:block;margin:1.25rem 0 .5rem;color:var(--ink-soft);font-size:13px;font-weight:500;letter-spacing:.12em;text-transform:uppercase}.contact-form-layout input[type=text],.contact-form-layout input[type=email],.contact-form-layout textarea{width:100%;padding:.9rem 0;border:0;border-bottom:1px solid var(--line);border-radius:0;color:var(--ink);background:0 0;font-family:var(--type-body-family);font-size:var(--type-body-size)}.contact-form-layout textarea{resize:vertical}.contact-form-layout input[type=submit]{min-height:44px;margin-top:2rem;padding:0 1.5rem;border:1px solid var(--ink);border-radius:999px;color:var(--paper);background:var(--ink);font-size:13px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.term-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4rem 3rem;padding:0 var(--shell-gutter)var(--content-end-space);background:var(--surface)}.term-grid a{display:grid;min-height:160px;padding:0;color:var(--ink)!important;background:0 0;text-decoration:none!important}.term-grid a:hover{color:var(--accent)!important;background:0 0}.term-grid a:hover strong{color:var(--accent)}.term-grid a>span:first-child{color:var(--ink-soft);font-size:13px;letter-spacing:.12em;text-transform:uppercase}.term-grid strong{align-self:end;color:var(--ink-heading);font:var(--type-section-title-weight)2rem/1.1 var(--display-serif)}.term-grid a>span:last-child{display:none}.project-content-wrap{padding:0 var(--shell-gutter)var(--content-end-space);background:var(--surface)}.project-content{max-width:var(--reading);margin:0 auto}.project-content p,.project-content li{color:var(--ink)!important;font:var(--type-body-size)/1.85 var(--type-body-family)!important}.inner-page>section:not(:last-child){padding-bottom:0}.inner-page>section~section,.page-section-entry{padding-top:var(--section-entry-space)}.project-content h2,.project-content h3{color:var(--ink-heading)!important;font-family:var(--serif)!important;font-weight:var(--type-heading-weight)!important;text-transform:none!important}.project-content h2{font-family:var(--display-serif)!important;font-weight:var(--type-section-title-weight)!important}.page-tail{padding:var(--page-tail-space)0;background:var(--surface)}.page-tail--deep,.page-tail--dark{color:var(--ink);background:var(--surface)}.page-tail--paginated .page-tail-inner{max-width:var(--listing-shell)}.page-tail-inner:empty{min-height:0}.site-footer{position:relative;flex:none;min-height:0;color:var(--muted);background:var(--canvas)}.site-footer-inner{display:grid;grid-template-columns:minmax(0,1fr)auto minmax(0,1fr);align-items:center;min-height:0;gap:2rem;padding-top:var(--site-frame-padding-block);padding-bottom:var(--site-frame-padding-block);font-size:clamp(.75rem,calc(.555rem + .8vw),.875rem);line-height:1.428571}.site-footer p{margin:0!important;color:inherit!important;font:inherit!important}.site-footer-links{display:flex;flex-wrap:wrap;gap:.5rem}.site-footer-socials{--footer-icon-glyph-size:clamp(1.125rem, calc(1rem + 0.5vw), 1.25rem);--icon-link-size:clamp(2.25rem, calc(2rem + 1.25vw), 2.5rem);--icon-link-gap:clamp(0.125rem, 0.5vw, 0.25rem);justify-self:start}.site-footer-copyright{justify-self:center;text-align:center}.site-footer-links{justify-self:end}.site-footer-socials a{position:relative}.site-footer-socials .icon-link{color:var(--muted)!important}.site-footer-socials .icon-link i{font-size:var(--footer-icon-glyph-size)!important}.site-footer-socials .icon-link:focus-visible{border-color:transparent;color:var(--accent)!important;background:0 0;transform:translateY(-2px)}.site-footer-links a{position:relative;color:inherit!important;text-decoration:none!important}.not-found-actions{padding:0 var(--shell-gutter)var(--content-end-space)}.not-found-actions nav{display:flex;flex-wrap:wrap;gap:.75rem}@media(min-width:1152px){.page-hero,.not-found-actions{padding-right:calc((100% - var(--shell-content))/2);padding-left:calc((100% - var(--shell-content))/2)}.project-index,.post-index,.term-grid{padding-right:calc((100% - var(--listing-content))/2);padding-left:calc((100% - var(--listing-content))/2)}}@media(max-width:899px){.app-home{min-height:0}.home-profile{min-height:auto}.home-profile-grid{grid-template-columns:minmax(0,1fr);grid-template-rows:max-content max-content;align-content:center;gap:2rem;min-height:0;padding-top:5.75rem;padding-bottom:clamp(1.5rem,4vw,2.5rem)}.home-profile-copy{display:grid;grid-column:1;grid-row:2;justify-items:center;max-width:40rem;padding-bottom:0;text-align:center}.app-home .home-profile h1{display:flex;align-items:baseline;justify-content:center;gap:.28em;font-size:clamp(3rem,13vw,4.75rem)!important;line-height:.9!important;white-space:nowrap}.app-home .home-profile h1>span,.app-home .home-profile h1>em{display:inline-flex}.app-home .home-profile h1>em{margin-top:0}.home-profile-surname{justify-content:center}.home-profile-portrait{grid-column:1;grid-row:1;width:min(78vw,40svh,24rem)}.blog-post-row{grid-template-columns:minmax(0,1fr);align-items:start;gap:0}.blog-post-row .post-meta,.blog-post-row .post-copy,.blog-post-row .post-details{grid-column:1;justify-self:stretch;text-align:left}.blog-post-row .post-copy{margin-top:.55rem}.blog-post-row .post-details{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .75rem;margin-top:.75rem}.blog-post-row .post-details span+span::before{content:"\00b7";margin-right:.75rem;color:var(--muted)}}@media(max-width:900px){.app-detail-deck{display:block}.app-detail-utility{margin-top:1.25rem}.app-detail-utility-inner{justify-content:flex-start}}@media(max-width:767px){:root{--site-divider-width:1px}.topbar.menu-open{background:0 0;-webkit-backdrop-filter:none;backdrop-filter:none}.topbar-inner{position:relative;isolation:isolate;min-height:4rem;padding:.625rem 1rem}.topbar-actions{gap:.5rem}.wordmark{position:absolute;z-index:2;top:50%;left:50%;transform:translate(-50%,-50%)}.wordmark-initial{font-size:1.7rem;line-height:.8}.menu-toggle{z-index:2;display:block}.topbar[data-menu-ready] .primary-navigation{display:block;position:absolute;z-index:1;top:0;right:0;left:0;min-height:100dvh;padding-top:4rem;background:var(--canvas-glass);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);overflow-y:auto;opacity:0;visibility:hidden;transform:translateY(-.75rem);transition:opacity .25s ease,transform .3s cubic-bezier(.22,1,.36,1),visibility .25s;pointer-events:none}.topbar[data-menu-ready].menu-open .primary-navigation{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}.primary-nav{display:grid;gap:0;width:100%;max-width:var(--shell);margin:0 auto;padding:1rem var(--shell-gutter).75rem}.primary-nav a{display:block;top:0!important;padding:.75rem 0;font-size:.875rem;transition:color .25s ease}.topbar .primary-nav a,.topbar .theme-toggle,.topbar .menu-toggle,.topbar .primary-nav a:hover,.topbar .primary-nav a:focus-visible,.topbar .theme-toggle:hover,.topbar .theme-toggle:focus-visible,.topbar .menu-toggle:hover,.topbar .menu-toggle:focus-visible{top:0!important;transform:none!important}.topbar .wordmark,.topbar .wordmark:hover,.topbar .wordmark:focus-visible{top:50%!important;transform:translate(-50%,-50%)!important}.theme-control{justify-content:flex-start;width:100%;max-width:var(--shell);margin:0 auto;padding:.25rem var(--shell-gutter)1.25rem}.theme-toggle{width:2.75rem;height:2.75rem}.theme-toggle::before{width:2rem;height:1.125rem}.theme-toggle:hover,.theme-toggle:focus-visible{transform:none}.theme-toggle-thumb{top:.9375rem;left:.5rem;width:.875rem;height:.875rem}.theme-toggle i{font-size:.55rem}html[data-theme=dark] .theme-toggle-thumb{transform:translateX(.875rem)}.app-detail-hero h1,.page-hero h1{font-size:clamp(3.5rem,10vw,4.75rem)!important}.app-experience-grid{grid-template-columns:1fr}.app-experience-main,.app-capabilities{grid-column:1;margin-top:0}.project-row{grid-template-columns:1fr}.project-row>*,.project-thumb{grid-column:1}.app-timeline article{display:block}.app-timeline time{text-align:left;transform:none}.app-timeline article>div{margin-top:.75rem}.app-detail-eyebrow{margin-top:2rem!important}.app-detail-hero h1{margin-top:1.25rem}.app-detail-deck{margin-top:1.75rem}.app-detail-deck,.app-detail-body,.about-detail,.contact-form-layout{display:block}.app-detail-utility-inner{align-items:flex-start;flex-wrap:wrap}.app-detail-utility-actions{--icon-link-size:clamp(3rem, 14vw, 3.5rem);--icon-link-glyph-size:clamp(1.3rem, 5.5vw, 1.5rem);--icon-link-gap:clamp(1rem, 5vw, 1.5rem);justify-content:center;width:100%;margin-right:auto;margin-left:auto}.app-article-blocks .article-editorial-figure--featured{width:100%;margin:3rem 0 3.5rem}.app-article-blocks .article-editorial-figure--featured .article-editorial-media{padding:0 10px 10px 0}.app-article-blocks .article-editorial-figure--featured .article-editorial-media::after{top:10px;left:10px}.article-content.app-detail-prose .article-editorial-quote--feature{grid-template-columns:1fr;gap:0;margin:3rem 0;padding:2rem 1.5rem}.app-article-blocks .article-editorial-quote--feature .article-editorial-quote-mark{margin-bottom:.75rem}.article-editorial-chart{width:100%;margin:3rem 0 3.5rem}.article-editorial-chart canvas{aspect-ratio:4/5}.app-detail-taxonomy{display:block;margin-top:3rem}.app-detail-tags{margin-top:.65rem}.app-detail-next{padding-top:2rem}.app-detail-next>a{flex-wrap:wrap;gap:.5rem 1rem;padding-bottom:3rem}.app-detail-next-label{flex-basis:100%}.contact-form-layout>div:last-child{margin-top:4rem}.resume-overview{display:block}.resume-overview-aside{margin-top:3rem}.resume-section-heading{display:block}.resume-section-heading h2{margin-top:0}.resume-timeline{display:block}.resume-role{display:block;padding:var(--resume-role-space)0 0}.resume-role time{text-align:left;transform:none}.resume-role-content{margin-top:.75rem}.resume-role-meta{display:block}.resume-role-meta span{display:block}.resume-role-meta span:last-child{margin-top:.2rem;text-align:left}.resume-bullets{margin-top:1.25rem}.resume-clean-list{grid-template-columns:1fr;gap:.9rem}.resume-skill-groups{grid-template-columns:1fr;gap:2.5rem}.resume-skill-group h3{margin-bottom:1rem}.resume-credentials-grid{grid-template-columns:1fr;gap:3rem}.resume-education-meta{display:block}.resume-education time{display:block;margin-top:.75rem;text-align:left}.resume-education p{display:block}.resume-education p span{display:block}.resume-education p span:last-child{margin-top:.2rem}.about-profile{max-width:520px}.about-profile{margin-top:3.5rem}.page-hero{display:block;min-height:auto}.page-hero h1{margin-top:2rem}.page-hero>p:last-child{margin-top:2rem!important}.post-row,.generic-row{display:block;min-height:auto}.post-index>.post-row:first-child{min-height:auto}.post-count{display:none}.post-row>*+*{margin-top:.75rem}.post-details{text-align:left}.term-grid{grid-template-columns:1fr}}@media(max-width:639px){.page-hero h1{white-space:normal}.site-footer-inner{grid-template-columns:minmax(0,1fr)auto;grid-template-areas:"socials links" "copyright copyright";height:auto;min-height:0;gap:.5rem 1rem;padding-top:var(--site-frame-padding-block);padding-bottom:var(--site-frame-padding-block)}.site-footer-socials{grid-area:socials;justify-self:start}.site-footer-links{grid-area:links;justify-self:end;align-self:center;text-align:right}.site-footer-copyright{grid-area:copyright;justify-self:center;text-align:center}}@media(min-width:520px) and (max-width:639px){.site-footer-inner{grid-template-columns:minmax(0,1fr)auto minmax(0,1fr);grid-template-areas:"socials copyright links";gap:.5rem}.site-footer-socials,.site-footer-copyright,.site-footer-links{white-space:nowrap}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition:none!important}.icon-link:hover,.icon-link:focus-visible,.detail-share-toggle[aria-expanded=true]{transform:none}.project-row:hover h2,.project-row:focus-visible h2,.blog-post-row:hover h2,.blog-post-row:focus-visible h2{transform:none}a:not(:where(.skip-link,.project-row,.blog-post-row,.icon-link)):hover,a:not(:where(.skip-link,.project-row,.blog-post-row,.icon-link)):focus-visible{top:0}}.article-content.app-detail-prose .section-heading i{color:var(--accent)}.article-content.app-detail-prose .section-heading{display:flex;align-items:center;gap:.6rem}.article-content.app-detail-prose .callout{--callout-accent:var(--admonition-note);margin:2.75rem 0;padding:.25rem 0 .25rem 1.5rem;border:0;border-left:2px solid var(--callout-accent);color:var(--ink);background:0 0}.article-content.app-detail-prose .callout-instruction{--callout-accent:var(--admonition-instruction)}.article-content.app-detail-prose .callout-note{--callout-accent:var(--admonition-note)}.article-content.app-detail-prose .callout-tip{--callout-accent:var(--admonition-tip)}.article-content.app-detail-prose .callout-warning{--callout-accent:var(--admonition-warning)}.article-content.app-detail-prose .callout-danger{--callout-accent:var(--admonition-danger)}.article-content.app-detail-prose .callout-header{margin-bottom:.75rem}.article-content.app-detail-prose .callout-kind{display:inline-flex;align-items:center;gap:.45rem;color:var(--callout-accent);font:600 .7rem/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase}.article-content.app-detail-prose .callout-title{display:block;margin-top:.45rem;color:var(--ink-heading);font:var(--type-category-style)var(--type-category-weight)var(--type-category-size)/1.35 var(--display-serif)}.article-content.app-detail-prose .callout-body>*:first-child{margin-top:0!important}.article-content.app-detail-prose .callout-body>*:last-child{margin-bottom:0!important}.article-content.app-detail-prose .step-card{display:flex;align-items:flex-start;gap:1rem;margin:1.5rem 0;padding:1.25rem;border:1px solid var(--line);border-left:2px solid var(--accent);background:var(--paper)}.article-content.app-detail-prose .step-num{display:grid;flex:none;place-items:center;min-width:2.4rem;height:2.4rem;padding:0 .6rem;border-radius:999px;color:var(--paper);background:var(--accent);font-weight:600}.article-content.app-detail-prose .step-body{flex:1;min-width:0}.article-content.app-detail-prose .step-body>*:first-child{margin-top:0!important}.article-content.app-detail-prose .step-body>*:last-child{margin-bottom:0!important}.setup-guide{--os-accent:var(--accent);--os-bg:var(--paper-deep);--os-bg-hover:var(--canvas);--os-border:var(--line);--os-text:var(--ink);--os-code-tint:var(--paper-deep);--os-code-color:var(--ink)}.setup-guide:has(#os-global-win:checked){--os-accent:var(--platform-windows);--os-bg:#e8f2fc;--os-bg-hover:#d4e7fa;--os-border:#bbdefb;--os-text:#01579b;--os-code-tint:#edf4fc;--os-code-color:#0e5a9e}.setup-guide:has(#os-global-mac:checked){--os-accent:var(--platform-macos);--os-bg:#f5f5f7;--os-bg-hover:#eaeaec;--os-border:#d2d2d7;--os-text:#424245;--os-code-tint:#f0f0f2;--os-code-color:#515154}.setup-guide:has(#os-global-lin:checked){--os-accent:var(--platform-linux);--os-bg:#fff4ee;--os-bg-hover:#ffe5d5;--os-border:#ffcfb2;--os-text:#bf360c;--os-code-tint:#fff0e6;--os-code-color:#c34214}body:has(.setup-guide #os-global-win:checked) .app-detail-page{--accent:var(--platform-windows)}body:has(.setup-guide #os-global-mac:checked) .app-detail-page{--accent:var(--platform-macos)}body:has(.setup-guide #os-global-lin:checked) .app-detail-page{--accent:var(--platform-linux)}.setup-guide .section-heading i{color:var(--os-accent);transition:color 180ms ease}.article-content.app-detail-prose .setup-guide a{color:var(--os-text)!important;transition:color 180ms ease,top 180ms ease}.article-content.app-detail-prose .setup-guide .step-card{border-color:var(--os-border);border-left-color:var(--os-accent);transition:border-color 180ms ease}.article-content.app-detail-prose .setup-guide .step-num{background:var(--os-accent);transition:background-color 180ms ease}.article-content.app-detail-prose .setup-guide table th{color:var(--os-text);border-color:var(--os-border);background:var(--os-bg);transition:color 180ms ease,border-color 180ms ease,background-color 180ms ease}.article-content.app-detail-prose .setup-guide table tr:hover td{background:var(--os-bg-hover);transition:background-color 180ms ease}.article-content.app-detail-prose .setup-guide code:not(pre code){color:var(--os-code-color);background:var(--os-code-tint);transition:color 180ms ease,background-color 180ms ease}.article-content.app-detail-prose .setup-guide pre{border-left-color:var(--os-accent);transition:border-color 180ms ease}.os-global-radio,.auth-global-radio{position:absolute;opacity:0;pointer-events:none}.os-selector,.auth-selector{display:grid;gap:.8rem;margin:1.5rem 0 2rem;padding:1rem;border:1px solid var(--line);background:var(--surface)}.os-selector-label,.auth-selector-label{color:var(--ink-soft);font-size:.875rem;font-weight:600}.os-selector-choices,.auth-selector-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.os-selector-choices label,.auth-selector-choices label{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:42px;padding:.5rem;border:1px solid var(--line);border-radius:999px;color:var(--ink-soft);background:var(--paper);font-size:.875rem;font-weight:600;text-align:center;cursor:pointer}.os-selector-choices label::before{content:"";width:.5rem;height:.5rem;border-radius:50%;background:var(--line)}.os-selector-choices label[for=os-global-win]::before{background:var(--platform-windows)}.os-selector-choices label[for=os-global-mac]::before{background:var(--platform-macos)}.os-selector-choices label[for=os-global-lin]::before{background:var(--platform-linux)}#os-global-win:checked~.os-selector label[for=os-global-win]{color:var(--paper);border-color:var(--platform-windows);background:var(--platform-windows)}#os-global-mac:checked~.os-selector label[for=os-global-mac]{color:var(--ink);border-color:var(--platform-macos);background:var(--platform-macos)}#os-global-lin:checked~.os-selector label[for=os-global-lin]{color:var(--ink);border-color:var(--platform-linux);background:var(--platform-linux)}#os-global-win:checked~.os-selector label[for=os-global-win]::before,#os-global-mac:checked~.os-selector label[for=os-global-mac]::before,#os-global-lin:checked~.os-selector label[for=os-global-lin]::before{background:var(--paper)}#auth-global-oauth:checked~.auth-selector label[for=auth-global-oauth],#auth-global-cert:checked~.auth-selector label[for=auth-global-cert],#auth-global-basic:checked~.auth-selector label[for=auth-global-basic]{color:var(--ink);border-color:var(--os-accent,var(--accent));background:var(--os-accent,var(--accent))}#os-global-win:checked~* .os-block[data-os~=win] pre{border-left-color:var(--platform-windows)}#os-global-mac:checked~* .os-block[data-os~=mac] pre{border-left-color:var(--platform-macos)}#os-global-lin:checked~* .os-block[data-os~=lin] pre{border-left-color:var(--platform-linux)}.os-block,.auth-block{display:none}#os-global-win:checked~.os-block[data-os~=win],#os-global-win:checked~* .os-block[data-os~=win],#os-global-mac:checked~.os-block[data-os~=mac],#os-global-mac:checked~* .os-block[data-os~=mac],#os-global-lin:checked~.os-block[data-os~=lin],#os-global-lin:checked~* .os-block[data-os~=lin],#auth-global-oauth:checked~.auth-block[data-auth~=oauth],#auth-global-oauth:checked~* .auth-block[data-auth~=oauth],#auth-global-cert:checked~.auth-block[data-auth~=cert],#auth-global-cert:checked~* .auth-block[data-auth~=cert],#auth-global-basic:checked~.auth-block[data-auth~=basic],#auth-global-basic:checked~* .auth-block[data-auth~=basic]{display:block}@media(max-width:640px){.os-selector-choices,.auth-selector-choices{grid-template-columns:1fr}.article-content.app-detail-prose .step-card{display:block}.article-content.app-detail-prose .step-num{width:fit-content;margin-bottom:1rem}}@media(hover:none),(pointer:coarse){.primary-nav a,a:not(:where(.skip-link,.project-row,.blog-post-row,.icon-link)),.round-link,.app-button,.project-row h2,.project-thumb img,.post-row h2,.app-article-blocks .article-editorial-cta-mark,.app-resource-action,.icon-link,.theme-toggle{transition:none}.primary-nav a:hover{top:0;color:inherit!important}.primary-nav a[aria-current=page]:hover{color:var(--accent)!important}.round-link:hover,.app-button-line:hover{color:var(--ink)!important;border-color:var(--ink);background:0 0;transform:none}.app-button-solid:hover,.primary-link:hover{color:var(--paper)!important;background:var(--ink);transform:none}.project-row:hover h2,.post-row:hover h2{color:var(--ink-heading)!important;transform:none}.project-row:hover .project-thumb img{transform:none}.pagination a:hover,.page-tail--light .pagination a:hover,.page-tail--deep .pagination a:hover{color:var(--ink)!important}.app-article-blocks .article-editorial-cta:hover .article-editorial-cta-mark{transform:none}.icon-link:hover{color:var(--accent)!important;border-color:transparent;background:0 0;transform:none}.theme-toggle:hover,.theme-toggle:focus-visible{transform:none}.detail-share-toggle[aria-expanded=true],.detail-share-toggle[aria-expanded=true]:hover{border-color:var(--accent);color:var(--paper)!important;background:var(--accent);transform:none}.app-resource-action:hover{color:var(--ink)!important;background:0 0;transform:none}.app-resource-action:hover i{color:var(--accent)}.term-grid a:hover{color:var(--ink)!important;background:0 0}.term-grid a:hover strong{color:var(--ink-heading)}.article-content.app-detail-prose .setup-guide table tr:hover td{background:0 0}}@media(hover:hover) and (pointer:fine){a:not(:where(.skip-link,.project-row,.blog-post-row,.icon-link)):hover{top:var(--link-jump);color:var(--accent)!important}.app-detail-next>a:hover .app-detail-next-title{color:var(--ink-heading)}.app-resource-action:hover{border-color:var(--accent);color:var(--paper)!important;background:var(--accent)}.icon-link:hover{border-color:var(--accent);color:var(--paper)!important;background:var(--accent);transform:translateY(var(--icon-link-jump))}.about-social-links .icon-link:hover,.site-footer-socials .icon-link:hover{border-color:transparent;color:var(--accent)!important;background:0 0;transform:translateY(-2px)}.app-resource-action:hover i,.detail-icon-action--labelled:hover i{color:currentColor}}html.anatomy-mode [data-anatomy-role]{position:relative}html.anatomy-mode .anatomy-target{outline:2px solid var(--accent);outline-offset:6px;background-color:color-mix(in srgb,var(--accent) 7%,transparent)!important}html.anatomy-mode .icon-link.anatomy-target:hover,html.anatomy-mode .icon-link.anatomy-target:focus-visible,html.anatomy-mode .detail-share-toggle.anatomy-target[aria-expanded=true]{border-color:var(--accent);color:var(--paper)!important;background-color:var(--accent)!important}.anatomy-inspector{position:relative;z-index:300;font-family:var(--sans)}.anatomy-panel{position:fixed;z-index:300;bottom:1rem;padding:1rem;border:1px solid var(--line);color:var(--ink);background:var(--canvas-overlay);box-shadow:0 1rem 3rem rgba(25,23,20,.12);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);max-height:42vh;overflow:auto;pointer-events:auto}.anatomy-panel--page{left:1rem;width:18rem}.anatomy-panel--type{right:1rem;width:28rem}.anatomy-kicker{display:block;color:var(--ink-soft);font:600 .65rem/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase}.anatomy-page-name{display:block;margin-top:.55rem;color:var(--ink-heading);font:var(--type-heading-weight)1.35rem/1.2 var(--serif)}.anatomy-region-name{margin:1.25rem 0 0!important;color:var(--ink)!important;font:600 .95rem/1.4 var(--sans)!important}.anatomy-help{display:block;margin-top:.35rem;color:var(--muted);font:.72rem/1.5 var(--sans)}.anatomy-exit{display:inline-block;margin-top:1.25rem;color:var(--accent)!important;font:600 .72rem/1.4 var(--sans);letter-spacing:.08em;text-decoration:none!important;text-transform:uppercase;pointer-events:auto}.anatomy-role-heading{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.65rem;margin-top:.65rem}.anatomy-role-id{display:inline-grid;place-items:center;min-width:2.55rem;min-height:1.75rem;padding:0 .4rem;border-radius:999px;color:var(--paper);background:var(--accent);font:600 .72rem/1 var(--sans);letter-spacing:.06em}.anatomy-role-name{color:var(--ink-heading);font:600 .9rem/1.3 var(--sans)}.anatomy-panel dl{margin:1rem 0 0}.anatomy-panel dl>div{display:grid;grid-template-columns:5.5rem minmax(0,1fr);gap:.55rem;padding:.5rem 0;border-top:1px solid var(--line)}.anatomy-panel dt,.anatomy-panel dd{margin:0;font:.68rem/1.45 var(--sans)}.anatomy-panel dt{color:var(--muted)}.anatomy-panel dd{color:var(--ink);overflow-wrap:anywhere}.anatomy-badge{position:fixed;z-index:310;display:block;max-width:min(20rem,calc(100vw - 1rem));padding:.35rem .55rem;border-radius:.2rem;color:var(--paper);background:var(--accent);box-shadow:0 .4rem 1rem rgba(25,23,20,.18);font:600 .68rem/1.35 var(--sans);letter-spacing:.04em;pointer-events:none}html.anatomy-hidden .anatomy-inspector{display:none}html.anatomy-hidden .anatomy-target{outline:0;background-color:transparent!important}@media(min-width:1600px){.anatomy-panel{top:6rem;bottom:auto;width:min(14rem,calc((100vw - var(--shell))/2 - 2rem));max-height:calc(100vh - 7rem);box-shadow:none;pointer-events:none}}@media(max-width:800px){.anatomy-panel--page{width:calc(42vw - 1.5rem)}.anatomy-panel--type{width:calc(58vw - 1.5rem)}}@media(max-width:640px){.anatomy-panel--page{display:none}.anatomy-panel--type{right:.75rem;bottom:.75rem;left:.75rem;width:auto}.anatomy-panel dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 .75rem}.anatomy-panel dl>div{grid-template-columns:1fr;gap:.15rem}}@media print{.anatomy-inspector{display:none!important}}