@media screen{*,*::before,*::after{box-sizing:border-box}h1,h2,h3,h4,p,ul,ol,dl,dd,figure,blockquote,table{margin:0;padding:0}img{max-width:100%;height:auto}table{border-collapse:collapse}input,label{font:inherit}:root{--accent-color-1:#fff8b2;--accent-color-2:#392e1e;--text-color:#d4d4d4;--background-color:#22160c;--text-strong:#f0ece4;--text-muted:#a2968a;--text-faint:#948676;--text-soft:#cfc6b8;--rule:color-mix(in srgb,var(--text-color) 35%,transparent);--rule-faint:color-mix(in srgb,var(--text-color) 18%,transparent);--rule-strong:#f9f9f9;--s1:1px;--s2:2px;--s3:3px;--s4:4px;--s7:7px;--s11:11px;--s18:18px;--s29:29px;--s47:47px;--s76:76px;--s123:123px;--toc-min:150px;--toc-max:320px;--aside-width:320px;--nav-offset:0px;--measure:42rem}body{font-size:1.15rem;font-family:Arial,sans-serif;line-height:1.8;color:var(--text-color);background-color:var(--background-color);margin:0;padding:0}a{color:inherit;text-decoration:none}.link{color:inherit;text-decoration:underline;cursor:pointer}:where(.article-main,.article-container,.resource-main,.project-main) a{text-decoration:underline;cursor:pointer}.link:hover,:where(.article-main,.article-container,.resource-main,.project-main) a:hover{color:var(--accent-color-1)}.link-bare{text-decoration:none}:focus-visible{outline:2px solid var(--accent-color-1);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:0.01ms !important;animation-duration:0.01ms !important;animation-iteration-count:1 !important;scroll-behavior:auto !important}}em{font-style:italic}h1{font-size:2.5rem;font-weight:300;color:var(--text-strong);line-height:3rem;margin:50px 0}h2{padding:2rem 0 1rem 0;font-size:1.5em;font-weight:300;color:var(--text-strong)}h3{padding:1rem 0 0.5rem 0;font-size:1.3rem;font-weight:400;color:var(--text-strong)}p{font-size:1.15rem;font-weight:400;margin:1rem 0 1rem 0}i{font-style:italic}.article-title{margin:var(--s18) 0 0;padding:0;font-size:2.6rem;font-weight:300;line-height:1.18;letter-spacing:-0.01em;color:var(--text-strong);text-wrap:pretty}.article-subtitle{margin:20px 0 0;padding:0;font-size:1.3rem;font-style:normal;line-height:1.55;color:var(--text-soft);text-wrap:pretty}.article-kicker{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--s4) 14px;font-size:0.8125rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--accent-color-1)}.article-kicker .secondary{color:var(--text-faint);letter-spacing:0.04em}.portfolio-header .article-kicker,.project-header .article-kicker,.resource-header .article-kicker,.article-header .article-kicker,.article-container header .article-kicker,.cv-header .article-kicker{margin:0;font-size:0.8125rem;line-height:1.8}.article-kicker.path{display:block;font-family:'Courier New',Courier,monospace;font-size:0.85rem;letter-spacing:0.04em;text-transform:none;color:var(--accent-color-1)}.article-kicker.path a{color:inherit;text-decoration:none}.article-kicker.path a:hover,.article-kicker.path a:focus-visible{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}.portfolio-header .article-subtitle,.project-header .article-subtitle,.resource-header .article-subtitle,.article-header .article-subtitle,.article-container header .article-subtitle,.cv-header .article-subtitle{margin:20px 0 0;font-size:1.3rem;line-height:1.55}.project-header,.resource-header,.article-header,.article-container header{margin-top:var(--s47)}.article-main h2,.article-container h2,.cv-section h2{display:flex;align-items:baseline;gap:14px;margin:var(--s47) 0 0;padding:0 0 10px;border-bottom:1px dashed var(--rule);font-size:1.45rem;font-weight:400;color:var(--text-strong)}.article-main h2 .section-number,.article-container h2 .section-number,.cv-section h2 .section-number{flex:0 0 auto;font-size:0.78rem;letter-spacing:0.1em;color:var(--text-faint)}.article-main h2 .section-count,.article-container h2 .section-count,.cv-section h2 .section-count,.rsc-section h2 .section-count{flex:0 0 auto;margin-left:auto;font-family:"Courier New",Courier,monospace;font-size:0.78rem;color:var(--text-faint)}.article-main p,.article-container p{margin:1.5em 0 0;font-size:1.125rem;line-height:1.75;text-wrap:pretty}.accentuated{color:var(--accent-color-1)}section,article{padding-top:20px;margin:0 15%}.article-layout article,.article-layout section,.resource-layout article,.resource-layout section,.project-layout article,.project-layout section,.article-container article,.article-container section{margin:0;padding-top:0}.container{max-width:1200px;margin:0 auto;padding:0 15px}.article-container{max-width:var(--measure);margin:0 auto;padding:0 var(--s18);text-align:left}.article-container.sitemap-layout{max-width:1200px;padding:0 15px}.sitemap-layout > header{max-width:var(--measure)}.article-layout{display:grid;grid-template-columns:minmax(0,var(--measure)) fit-content(var(--toc-max));justify-content:space-between;gap:var(--s47) 56px;max-width:1200px;margin:0 auto;padding:0 15px;align-items:start}.article-main{min-width:0}.article-toc{position:sticky;top:calc(var(--nav-offset) + 24px);align-self:start;max-height:calc(100vh - var(--nav-offset) - 53px);padding-top:var(--s7);padding-left:20px;border-left:1px dashed color-mix(in srgb,var(--text-color) 30%,transparent);font-size:0.875rem;overflow-y:auto}.article-toc-label{margin-bottom:14px;font-size:0.7rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--text-faint)}.article-toc ol{display:flex;flex-direction:column;gap:var(--s11);min-width:var(--toc-min);list-style:none;margin:0;padding:0}.article-toc a{color:var(--text-muted);text-decoration:none;line-height:1.4}.article-toc a:hover,.article-toc a:focus{color:var(--accent-color-1);text-decoration:underline;text-underline-offset:3px}.article-toc li.references-entry{padding-top:var(--s11);border-top:1px dashed var(--rule-faint)}.article-toc-part{margin:var(--s18) 0 var(--s11);padding-top:var(--s11);border-top:1px dashed var(--rule-faint);font-family:"Courier New",Courier,monospace;font-size:0.7rem;letter-spacing:0.06em;color:var(--text-faint)}.article-toc-part:first-child{margin-top:0;padding-top:0;border-top:none}.article-toc li.is-numbered{display:flex;gap:10px}.article-toc li.is-numbered .num{flex:0 0 auto;font-family:"Courier New",Courier,monospace;font-size:0.78rem;color:var(--text-faint)}.article-toc ol.is-dense{gap:var(--s4)}.article-main > section[id]{scroll-margin-top:calc(var(--nav-offset) + 24px)}button{color:inherit;text-decoration:none;background:none;border:none;box-shadow:none;font:inherit}.accent-link{padding:0;border:none;background-color:transparent;color:var(--accent-color-1);font-size:inherit;text-decoration:none;cursor:pointer}figure{margin:20px 0;width:100%;height:auto;overflow:hidden}figure img{background-color:var(--text-color);width:100%;height:auto;display:block;border-radius:5px}figcaption{color:var(--text-muted);font-size:0.95rem;font-style:italic}table{font-size:small;margin-top:20px;width:100%;border:1px solid var(--text-color);border-collapse:collapse}th,td{border:1px solid var(--text-color);padding:8px 10px}table.is-plain{margin-top:0;width:100%;border:none;border-collapse:collapse}table.is-plain th,table.is-plain td{padding:var(--s11) 24px var(--s11) 0;border:none;border-bottom:1px dashed var(--rule-faint);font-size:1rem;text-align:left}table.is-plain thead th{border-bottom:1px dashed var(--rule);font-size:0.72rem;font-weight:400;letter-spacing:0.08em;text-transform:uppercase;color:var(--text-faint)}table.is-plain td.is-label{color:var(--text-faint);font-size:0.72rem;letter-spacing:0.08em;text-transform:uppercase}table.is-plain td.is-data{font-family:"Courier New",Courier,monospace;font-size:0.95rem;color:var(--text-color)}table.is-plain td.is-muted{font-family:"Courier New",Courier,monospace;font-size:0.85rem;color:var(--text-muted)}.sitemap-table{table-layout:fixed}.sitemap-table th.col-address,.sitemap-table td.col-address{width:340px;overflow-wrap:break-word}section ul li{margin-top:20px}ul{list-style-type:disc;margin:0rem 0rem 1rem 4rem}ol.references{list-style:none;margin:18px 0 0 0;padding-left:2rem;counter-reset:ref-counter}ol.references li{margin-bottom:7px;counter-increment:ref-counter;position:relative;font-size:0.95rem;line-height:1.65;color:var(--text-muted)}sup{font-size:0.7em;line-height:0}sup a{padding:0 var(--s1);color:var(--accent-color-1);text-decoration:none}sup a:hover,sup a:focus{text-decoration:underline}ol.references li::before{content:"[" counter(ref-counter) "]";color:var(--accent-color-1);position:absolute;left:-2rem}section.references-section{grid-column:1 / -1;margin:0;margin-top:52px;padding-top:var(--s29);border-top:1px solid var(--rule)}.project-layout > section.references-section{margin-top:calc(52px - var(--s29))}.resource-layout > section.references-section{margin-top:calc(52px - 36px)}.references-section > *{max-width:none}.references-section ol.references{column-gap:48px;columns:2}.references-section ol.references li{break-inside:avoid}.references-section h2{margin:0;padding:0;border-bottom:none;font-size:1.15rem;font-weight:400}.pull-quote{margin:var(--s29) 0 0;padding:var(--s18) 22px;border:1px dashed color-mix(in srgb,var(--accent-color-1) 45%,transparent);border-radius:5px;background-color:color-mix(in srgb,var(--accent-color-1) 5%,transparent)}.pull-quote-label{margin:0 0 var(--s7);font-size:0.72rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--accent-color-1)}.pull-quote p{margin:0;font-size:1.0625rem;line-height:1.7;color:var(--text-soft)}.note-box{margin:var(--s18) 0 0;padding:14px var(--s18);border:1px dashed color-mix(in srgb,var(--text-color) 40%,transparent);border-radius:5px;background-color:color-mix(in srgb,var(--text-color) 4%,transparent)}.note-box p{margin:0;font-size:0.95rem;line-height:1.6;color:var(--text-soft)}.article-footer{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:var(--s7) var(--s29);margin-top:36px;padding-top:20px;border-top:1px dashed var(--rule);font-size:0.9rem;color:var(--text-faint)}.article-footer a{color:var(--text-muted);text-decoration:underline;text-underline-offset:3px}ul.bibliography{list-style:none;margin:18px 0 0 0;padding:0}ul.bibliography li{margin-top:1rem}header{min-height:20rem;border-bottom:1px dashed var(--text-color);padding:1rem 0;position:relative}header p{margin-top:auto;color:var(--text-muted)}.article-header{text-align:left;border-bottom:1px dashed var(--accent-color-1)}.article-layout header,.resource-layout header,.project-layout header,.article-container header{min-height:0;padding:0;border-bottom:none}.article-header h2{color:var(--accent-color-1);font-size:1.125rem}.article-meta{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:0 22px;margin:var(--s29) 0 0;padding:var(--s18) 0;border-top:1px dashed var(--rule);border-bottom:1px dashed var(--rule);font-size:0.9rem;line-height:1.9}.article-meta dt,.cv-label{padding-top:0.42rem;color:var(--text-faint);font-size:0.72rem;letter-spacing:0.06em;text-transform:uppercase}.article-meta dd{margin:0;color:var(--text-color)}.article-meta a{color:var(--text-color);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--text-color) 40%,transparent);text-underline-offset:3px}.article-meta .keywords{color:var(--text-muted)}.article-meta dd.is-data,.cv-extra .cv-tools{font-family:"Courier New",Courier,monospace;font-size:0.95rem}.site-footer{margin-top:var(--s47);padding:var(--s29) 0;border-top:1px solid var(--rule);color:var(--text-muted);font-size:0.875rem;line-height:1.6}.footer-container{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:var(--s11) var(--s29);max-width:1200px;margin:0 auto;padding:0 15px}.footer-links{display:flex;flex-wrap:wrap;gap:var(--s4) var(--s18);margin:0;padding:0;list-style:none}.footer-top{color:var(--text-color)}.footer-links a:hover,.footer-top:hover{color:var(--accent-color-1)}.footer-links .footer-email{color:var(--accent-color-1)}.footer-links .footer-email:hover{text-decoration:underline}.container.nav-container{display:flex;align-items:center;justify-content:space-between;max-width:1200px;margin:0 auto;padding:0 15px}nav ul{list-style:none;padding:0;margin:0}.container.nav-container{min-height:64px}nav ul li{display:inline-block;margin:0 20px;padding:0}nav ul li a{color:var(--text-color);text-decoration:none}.main-nav{position:relative;width:100%;border-bottom:1px solid var(--rule);background-color:var(--background-color)}.skip-link{position:absolute;top:0;left:0;z-index:1001;padding:8px 18px;background-color:var(--background-color);color:var(--text-strong);text-decoration:underline;transform:translateY(-100%)}.skip-link:focus{transform:none}.current-page{color:var(--text-color);font-style:italic;cursor:default;pointer-events:none}.logo,.logo.current-page{color:var(--text-strong);font-size:1.125rem;font-style:normal}.menu-toggle{display:none}.menu-toggle-input{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.menu-toggle-input:focus-visible{outline:none}.menu-toggle-input:focus-visible + .menu-toggle{outline:2px solid var(--accent-color-1);outline-offset:2px}.menu-toggle::after{content:"❯";display:inline-block;margin-left:5px;font-size:10px;color:var(--text-color);transform:rotate(90deg);vertical-align:middle}.rsc-section{margin:0;padding-top:0}.rsc-section + .rsc-section{margin-top:var(--s76)}.rsc-section h2{display:flex;align-items:baseline;gap:14px;margin:0;padding:0 0 10px;border-bottom:1px dashed var(--rule);color:var(--text-strong);font-size:1.45rem;font-weight:400;line-height:1.3}.rsc-section > p{max-width:var(--measure);margin:var(--s18) 0 0;color:var(--text-muted);font-size:1rem;line-height:1.6}.rsc-list{margin:var(--s18) 0 0;padding:0;list-style:none}.rsc-li{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:0 var(--s29);padding:var(--s18) 0;border-bottom:1px dashed var(--rule-faint)}.rsc-li h3{margin:0;padding:0;font-size:1.125rem;font-weight:400;line-height:1.35}.rsc-li h3 a{color:var(--text-strong);text-decoration:underline;text-underline-offset:3px}.rsc-li h3 a:hover{color:var(--accent-color-1)}.rsc-li .rsc-desc{margin:var(--s4) 0 0;font-size:.95rem;line-height:1.5;color:var(--text-muted)}.rsc-li .rsc-meta{margin:0;font-family:"Courier New",Courier,monospace;font-size:.72rem;letter-spacing:.06em;color:var(--text-faint);text-align:right;line-height:1.9}.research-body{display:grid;grid-template-columns:minmax(0,var(--measure)) var(--aside-width);justify-content:space-between;column-gap:48px;align-items:start}.research-body > h2,.research-body > p{grid-column:1}.research-body > h2{display:flex;align-items:baseline;gap:14px;margin:var(--s47) 0 0;padding:0 0 10px;border-bottom:1px dashed var(--rule);color:var(--text-strong);font-size:1.45rem;font-weight:400;line-height:1.3}.research-body > h2:first-child{margin-top:0}.research-body > p{margin:1.5em 0 0;font-size:1.125rem;line-height:1.75;text-wrap:pretty}.research-body > .rsc-section{position:sticky;top:calc(var(--nav-offset) + 24px);grid-column:2;grid-row:1 / span 5}.research-body > .rsc-section h2{display:block;padding:0 0 var(--s11);border:0;color:var(--text-faint);font-size:0.7rem;letter-spacing:0.12em;text-transform:uppercase}.research-body > .rsc-section .section-count{display:none}.research-layout .rsc-list{margin:0}.research-layout .rsc-li{grid-template-columns:minmax(0,1fr);padding:14px 0}.research-layout .rsc-li:first-child{border-top:1px dashed var(--rule-faint)}.research-layout .rsc-li h3{font-size:1rem;line-height:1.4}.research-layout .rsc-li .rsc-desc{font-size:0.875rem}.research-layout .rsc-li .rsc-meta{order:-1;margin-bottom:var(--s4);line-height:1.6;text-align:left}.resource-layout{display:grid;grid-template-columns:minmax(0,var(--measure)) var(--aside-width);justify-content:space-between;gap:36px 48px;max-width:1200px;margin:0 auto;padding:0 15px;align-items:start}.resource-main{min-width:0}.resource-main > section[id]{scroll-margin-top:calc(var(--nav-offset) + 24px)}.resource-header{grid-column:1 / -1}.resource-header > *{max-width:var(--measure)}.resource-facts,.project-facts{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:0;margin:0;border-top:1px dashed var(--rule)}.resource-facts dt,.resource-facts dd,.project-facts dt,.project-facts dd{padding:var(--s11) 0;border-bottom:1px dashed var(--rule-faint)}.resource-facts dt,.project-facts dt{padding-right:24px;color:var(--text-faint);font-size:0.72rem;letter-spacing:0.08em;text-transform:uppercase}.resource-facts dd,.project-facts dd{margin:0;font-family:"Courier New",Courier,monospace;font-size:0.95rem;color:var(--text-color)}.resource-facts dd.is-prose,.project-facts dd.is-prose{font-family:Arial,sans-serif}.resource-facts dd a,.project-facts dd a{color:var(--text-color);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--text-color) 40%,transparent);text-underline-offset:3px}.resource-aside{display:flex;flex-direction:column;gap:14px}.resource-preview{width:100%}.resource-preview img{display:block;width:100%;height:auto;aspect-ratio:4 / 3;border-radius:4px;object-fit:cover;image-rendering:pixelated}.resource-access{display:block;padding:16px var(--s18);border:1px solid var(--accent-color-1);border-radius:5px;background-color:color-mix(in srgb,var(--accent-color-1) 10%,transparent);color:var(--accent-color-1);text-decoration:none}a.resource-access:hover,a.resource-access:focus{background-color:color-mix(in srgb,var(--accent-color-1) 18%,transparent)}.resource-access.is-pending{margin:0}.resource-access .label{display:block;font-size:1.05rem;line-height:1.4}.resource-access .detail{display:block;margin-top:var(--s4);font-size:0.82rem;color:var(--text-muted)}.resource-related{padding-top:14px;border-top:1px dashed color-mix(in srgb,var(--text-color) 30%,transparent)}.resource-related-label{margin-bottom:var(--s11);font-size:0.7rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--text-faint)}.resource-related ul,.project-related-list{display:flex;flex-direction:column;gap:var(--s11);list-style:none;margin:0;padding:0;font-size:0.9rem}.resource-related li,.project-related-list li{margin-top:0}.resource-related a,.project-related-list a{color:var(--text-color);text-decoration:none;line-height:1.45}.resource-related a:hover,.resource-related a:focus,.project-related-list a:hover,.project-related-list a:focus{color:var(--accent-color-1);text-decoration:underline;text-underline-offset:3px}.kind{color:var(--text-faint)}.citation-block{margin:var(--s18) 0 0;padding:16px var(--s18);border:1px solid var(--rule);border-radius:5px;background-color:color-mix(in srgb,var(--text-color) 6%,transparent);overflow-x:auto}.citation-block code{padding:0;background:none;border-radius:0;font-family:"Courier New",Courier,monospace;font-size:0.9rem;line-height:1.65;color:var(--text-color);white-space:pre-wrap}.testimonial{line-height:35px;border-left:1px solid var(--accent-color-1);padding-left:20px;margin-left:20px;margin-top:40px;margin-bottom:40px;color:var(--text-color)}.testimonial-author{text-align:right;margin-top:20px;font-style:italic;color:var(--text-color)}.resource-main h2{display:flex;align-items:baseline;gap:14px;margin:var(--s47) 0 0;padding:0 0 10px;border-bottom:1px dashed var(--rule);color:var(--text-strong);font-size:1.45rem;font-weight:400}.resource-main > section:first-of-type h2{margin-top:var(--s29)}.resource-main h2 .section-number{flex:0 0 auto;color:var(--text-faint);font-size:0.78rem;letter-spacing:0.1em}.resource-main p{margin:1.5em 0 0;font-size:1.125rem;line-height:1.75;text-wrap:pretty}.resource-main ul{margin:var(--s18) 0 0;padding-left:22px;list-style-type:disc}.resource-main li{margin-top:var(--s7);font-size:1.125rem;line-height:1.6}.resource-main ul.bibliography{padding-left:0;list-style:none}.resource-main figure{margin:var(--s29) 0 0}.resource-main figcaption{margin-top:var(--s7);line-height:1.5}.portfolio-header{min-height:0;max-width:var(--measure);margin:var(--s47) 0 var(--s47);padding:0 0 var(--s29);border-bottom:1px dashed var(--rule)}.project-index-wrap{--preview-width:336px}.project-filters{display:flex;flex-wrap:wrap;gap:var(--s7);min-width:0;margin:0 0 var(--s29);padding:0;border:0}.project-filter-input{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.project-filter-input:focus-visible{outline:none}.project-filter-input:focus-visible + .project-filter{outline:2px solid var(--accent-color-1);outline-offset:2px}.project-filter{display:inline-flex;align-items:baseline;gap:var(--s7);padding:var(--s4) var(--s11);border:1px dashed var(--rule);border-radius:3px;color:var(--text-muted);font-size:0.875rem;line-height:1.6;cursor:pointer}.project-filter:hover{color:var(--text-strong)}.project-filter-count{font-family:"Courier New",Courier,monospace;font-size:0.8125rem;color:var(--text-faint)}.project-filter-input:checked + .project-filter{border:1px solid var(--accent-color-1);color:var(--text-strong)}.project-index-wrap:has(#domaine-energie:checked) .project-index > li:not([data-domain="energie"]),.project-index-wrap:has(#domaine-mobilite:checked) .project-index > li:not([data-domain="mobilite"]),.project-index-wrap:has(#domaine-numerique:checked) .project-index > li:not([data-domain="numerique"]),.project-index-wrap:has(#domaine-instrumentation:checked) .project-index > li:not([data-domain="instrumentation"]),.project-index-wrap:has(#domaine-conception:checked) .project-index > li:not([data-domain="conception"]){display:none}.project-index-head{display:grid;grid-template-columns:110px minmax(0,1fr) 130px;gap:0 22px;margin:0;padding:var(--s7) 0;border-top:1px dashed var(--rule);border-bottom:1px dashed var(--rule);color:var(--text-faint);font-size:0.72rem;line-height:1.6;letter-spacing:0.08em;text-transform:uppercase}.project-index-head > :last-child{text-align:right}.project-index{list-style:none;margin:0;padding:0}.project-index > li{display:contents}.project-row{display:grid;grid-template-columns:110px minmax(0,1fr) 130px;gap:0 22px;align-items:baseline;padding:var(--s11) 0;border-bottom:1px dashed var(--rule-faint)}.project-row-thumb{display:none}.project-row-period{font-family:"Courier New",Courier,monospace;font-size:0.8125rem;color:var(--text-muted)}.project-row-text{min-width:0}.project-row-title{display:block;font-size:1.0625rem;line-height:1.4;color:var(--text-strong);text-wrap:pretty}.project-row-brand{display:block;margin-top:var(--s2);font-family:"Courier New",Courier,monospace;font-size:0.75rem;letter-spacing:0.06em;color:var(--text-faint)}.project-row-domain{font-size:0.8125rem;color:var(--text-faint);text-align:right}.project-row:is(:hover,:focus-visible) :is(.project-row-period,.project-row-title){color:var(--accent-color-1)}.project-preview{display:none;margin:0}.project-preview img{display:block;image-rendering:pixelated}.project-preview-empty,.project-row-thumb.is-empty{background-color:var(--background-color);background-image:radial-gradient(circle,color-mix(in srgb,var(--accent-color-2) 50%,var(--background-color)) 0.6px,transparent 0.6px);background-size:3px 3px}.project-preview-empty{display:flex;align-items:center;justify-content:center;width:var(--preview-width);height:252px}.project-preview-empty > span{padding:var(--s4) var(--s7);background-color:var(--background-color);font-family:"Courier New",Courier,monospace;font-size:0.75rem;color:var(--text-muted)}.project-preview figcaption{margin-top:var(--s11);color:var(--text-muted);font-size:0.95rem;font-style:normal;line-height:1.55}.project-layout{display:grid;grid-template-columns:minmax(0,var(--measure)) var(--aside-width);justify-content:space-between;gap:var(--s29) 48px;max-width:1200px;margin:0 auto;padding:0 15px;align-items:start}.project-body{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,var(--measure)) var(--aside-width);justify-content:space-between;column-gap:48px;align-items:start}.project-main{min-width:0}.project-header{grid-column:1 / -1}.project-header > *{max-width:var(--measure)}.project-facts dt{padding-top:calc(var(--s11) + var(--s2))}.project-facts dt,.project-facts dd{line-height:1.6}.project-facts dd.is-outcome{font-family:Arial,sans-serif;font-size:1.05rem;line-height:1.5;color:var(--text-soft)}.project-facts dt.is-outcome-label,.project-facts dd.is-outcome{border-bottom-color:var(--rule)}.project-main h2{display:flex;align-items:baseline;gap:14px;margin:var(--s47) 0 0;padding:0 0 10px;border-bottom:1px dashed var(--rule);font-size:1.45rem;font-weight:400;color:var(--text-strong)}.project-main > section:first-of-type h2{margin-top:var(--s29)}.project-main h2 .section-number{flex:0 0 auto;font-size:0.78rem;letter-spacing:0.1em;color:var(--text-faint)}.project-main p{margin:1.5em 0 0;font-size:1.125rem;line-height:1.75;text-wrap:pretty}.project-main ul{margin:var(--s18) 0 0;padding-left:22px;list-style-type:disc}.project-main li{margin-top:var(--s7);font-size:1.125rem;line-height:1.6}.project-main ul.bibliography{padding-left:0;list-style:none}.project-main ul.bibliography li{margin-top:1rem}.project-main figure{margin:var(--s29) 0 0}.project-main picture,.resource-main picture{display:block}.project-main figure img,.resource-main figure img{image-rendering:pixelated}.project-main figcaption{margin-top:var(--s7);line-height:1.5}.project-main > section[id]{scroll-margin-top:calc(var(--nav-offset) + 24px)}.project-aside{position:sticky;top:calc(var(--nav-offset) + 24px);align-self:start;max-height:calc(100vh - var(--nav-offset) - 53px);display:flex;flex-direction:column;gap:var(--s18);font-size:0.875rem;overflow-y:auto}.project-aside > * + *{padding-top:var(--s18);border-top:1px dashed color-mix(in srgb,var(--text-color) 30%,transparent)}.project-aside-label{margin:0 0 var(--s11);font-size:0.7rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--text-faint)}.project-toc ol,.resource-toc ol{display:flex;flex-direction:column;gap:var(--s11);list-style:none;margin:0;padding:0;font-size:0.875rem}.project-toc li,.resource-toc li{display:flex;gap:var(--s11);margin-top:0}.project-toc .num,.resource-toc .num{flex:0 0 auto;font-family:"Courier New",Courier,monospace;font-size:0.78rem;color:var(--text-faint)}.project-toc a,.resource-toc a{color:var(--text-muted);text-decoration:none;line-height:1.4}.project-toc a:hover,.project-toc a:focus,.resource-toc a:hover,.resource-toc a:focus{color:var(--accent-color-1);text-decoration:underline;text-underline-offset:3px}.project-access{display:block;padding:16px var(--s18);border:1px solid var(--accent-color-1);border-radius:5px;background-color:color-mix(in srgb,var(--accent-color-1) 10%,transparent);color:var(--accent-color-1);text-decoration:none}.project-access:hover,.project-access:focus{background-color:color-mix(in srgb,var(--accent-color-1) 18%,transparent)}.project-access .label{display:block;font-size:1.05rem;line-height:1.4}.project-access .detail{display:block;margin-top:var(--s4);font-size:0.82rem;color:var(--text-muted)}.project-contact{display:block;padding:14px var(--s18);border:1px dashed color-mix(in srgb,var(--text-color) 40%,transparent);border-radius:5px;background-color:color-mix(in srgb,var(--text-color) 4%,transparent);color:var(--text-color);text-decoration:none}.project-contact .label{display:block;font-size:0.95rem;line-height:1.4}.project-contact .detail{display:block;margin-top:var(--s4);font-size:0.82rem;color:var(--text-muted)}.project-footer{grid-column:1 / -1;display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s7) var(--s29);margin-top:var(--s47);margin-bottom:0;padding-top:20px;border-top:1px dashed var(--rule);font-size:0.9rem;color:var(--text-faint)}.project-footer a{color:var(--text-muted);text-decoration:underline;text-underline-offset:3px}.project-footer-next{text-align:right}blockquote{border-left:1px solid var(--accent-color-1);padding-left:1em;margin:1.5em 0 0 0;color:var(--text-color);background:none;font-size:1.25rem}blockquote p{margin:0}blockquote + p{margin-top:0.5em;font-style:normal;color:var(--text-muted);font-size:0.9em}.cv-container{--cv-date:150px;--cv-kind:150px;--cv-gap:var(--s29);max-width:960px;margin:0 auto;padding:0 15px 100px}.cv-container section{margin:0;padding-top:0}.cv-header{display:grid;grid-template-columns:262px minmax(0,1fr);gap:var(--s47);align-items:stretch;min-height:0;margin-top:var(--s47);padding:0 0 var(--s29);border-bottom:1px dashed var(--rule)}.cv-header-text{display:flex;flex-direction:column;gap:var(--s11)}.cv-header .cv-header-text > *{margin:0}.cv-header .article-kicker.path{margin-top:-0.4em;margin-top:calc((1em - 1lh) / 2)}.cv-portrait{align-self:start;padding:var(--s7);border:1px dashed var(--rule-strong)}.cv-portrait picture{display:block}.cv-portrait img{display:block;width:100%;height:auto;filter:grayscale(1);image-rendering:pixelated}.cv-header-links{display:flex;flex-wrap:wrap;gap:var(--s4) var(--s18);padding:var(--s7) 0 0;color:var(--text-muted);font-size:0.9rem;list-style:none}.cv-header .cv-header-links{margin-top:auto;margin-bottom:-0.4em;margin-bottom:calc((1em - 1lh) / 2)}.cv-header-links li{margin:0}.cv-label{margin:0;padding:0;font-weight:400;line-height:1.8}.cv-container .cv-awards{display:grid;grid-template-columns:var(--cv-date) minmax(0,1fr);gap:0 var(--cv-gap);align-items:baseline;padding:var(--s29) 0;border-bottom:1px dashed var(--rule)}.cv-awards dl,.cv-awards dt,.cv-awards dd,.cv-awards p{margin:0}.cv-awards-list{display:grid;gap:var(--s7)}.cv-award{display:grid;grid-template-columns:var(--s76) minmax(0,1fr);gap:var(--s7) var(--s11);align-items:baseline}.cv-award dt{color:var(--accent-color-1);font-family:"Courier New",Courier,monospace;font-size:0.85rem}.cv-award dd{margin:0;color:var(--text-color);font-size:1rem;line-height:1.6}.cv-list,.cv-rows{margin:0;padding:0;list-style:none}.cv-entry,.cv-row{display:grid;grid-template-columns:var(--cv-date) minmax(0,1fr) var(--cv-kind);gap:0 var(--cv-gap);align-items:baseline;margin:0;padding:var(--s18) 0;border-bottom:1px dashed var(--rule-faint)}.cv-row{padding:var(--s11) 0}.cv-rows.is-formation .cv-row{grid-template-columns:var(--cv-date) minmax(0,1fr)}.cv-date{display:flex;flex-direction:column;gap:var(--s4);margin:0;color:var(--text-faint);font-family:"Courier New",Courier,monospace;font-size:0.9rem;line-height:1.6}.cv-years{white-space:nowrap}.cv-duration{display:block;color:var(--text-muted);font-size:0.78rem;line-height:1.3}.cv-row .cv-date{gap:var(--s3)}.cv-row .cv-duration{font-size:0.75rem}.cv-kind{margin:0;color:var(--text-faint);font-family:"Courier New",Courier,monospace;font-size:0.8rem;line-height:1.6;text-align:right}.cv-title{margin:0;padding:0;font-size:1.125rem;font-weight:400;line-height:1.4}.cv-row-title{font-size:1rem;line-height:1.5}.cv-role{color:var(--text-strong)}.cv-org{color:var(--text-muted)}.cv-desc{margin:var(--s4) 0 0;color:var(--text-muted);font-size:1rem;line-height:1.6}.cv-more{margin:var(--s4) 0 0;font-size:0.95rem;line-height:1.6}.cv-skills{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--cv-gap);padding:var(--s29) 0}.cv-skill-list{margin:var(--s11) 0 0;padding:0;list-style:none}.cv-skill-list li{margin:var(--s4) 0 0;color:var(--text-color);font-size:1rem;line-height:1.5}.cv-skill-list li::before{content:"∷ ";content:"∷ " / "";color:var(--text-faint)}.cv-extra{display:grid;grid-template-columns:var(--cv-date) minmax(0,1fr);gap:0 var(--cv-gap);margin:0;border-top:1px dashed var(--rule-faint)}.cv-extra dt,.cv-extra dd{padding:var(--s11) 0;border-bottom:1px dashed var(--rule-faint)}.cv-extra dt{padding-top:calc(var(--s11) + var(--s4))}.cv-extra dd{margin:0;font-size:1rem;line-height:1.6}.cv-archive{margin:var(--s47) 0 0;border-top:1px dashed var(--rule);border-bottom:1px dashed var(--rule)}.cv-archive > summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--s4) var(--s11);padding:var(--s18) 0;cursor:pointer;list-style:none}.cv-archive > summary::-webkit-details-marker{display:none}.cv-archive > summary::before{content:"+";content:"+" / "";flex:0 0 auto;width:1ch;color:var(--accent-color-1);font-family:"Courier New",Courier,monospace}.cv-archive[open] > summary::before{content:"−";content:"−" / ""}.cv-archive[open] > summary{border-bottom:1px dashed var(--rule-faint)}.cv-archive-title{color:var(--text-strong);font-size:1.125rem}.cv-archive > summary:hover .cv-archive-title{color:var(--accent-color-1)}.cv-archive-count{color:var(--text-muted);font-size:0.9rem}.cv-archive .cv-row:last-child{border-bottom:none}.ecoindex-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:5px;width:100%;margin:0;padding-bottom:15px}.ecoindex-note{width:4rem;height:4rem;border-radius:1rem;font-size:1.375rem;padding:0.4rem;border:1px solid var(--text-color);text-align:right;display:flex;align-items:flex-end;justify-content:flex-end}.level-a{border-color:#4f9f30;background-color:#4f9f30}.level-b{border-color:#51b84b;background-color:#51b84b}.level-c{border-color:#cadb2a;background-color:#cadb2a}.level-d{border-color:#f6eb15;background-color:#f6eb15}.level-e{border-color:#fecd06;background-color:#fecd06}.level-f{border-color:#f99839;background-color:#f99839}.level-g{border-color:#ed2124;background-color:#ed2124}.score-txt-a{color:#4f9f30}.data-line{margin:var(--s7) 0 0;font-family:"Courier New",Courier,monospace;font-size:0.85rem;color:var(--text-muted);overflow-wrap:break-word}.eco-score{grid-column:1 / -1;display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--s29) 40px;align-items:center;padding:24px 0;border-top:1px dashed var(--rule);border-bottom:1px dashed var(--rule)}.eco-score dl.resource-facts{border-top:none}.eco-score-badge{display:flex;flex-direction:column;align-items:center;gap:var(--s11)}.eco-score-note{width:7rem;height:7rem;padding:0.6rem;border-radius:1rem;display:flex;align-items:flex-end;justify-content:flex-end;font-size:3.4rem;line-height:1;color:var(--background-color)}.eco-score-scale{display:flex;gap:3px}.eco-score-scale span{width:14px;height:6px}.eco-score-scale span.is-dim{opacity:0.35}.eco-score-legend{margin:0;font-family:"Courier New",Courier,monospace;font-size:0.72rem;color:var(--text-faint)}code{background-color:color-mix(in srgb,var(--text-color) 12%,transparent);padding:2px 6px;border-radius:3px;font-family:"Courier New",Courier,monospace;font-size:0.9em;color:var(--accent-color-1)}pre{margin:29px 0;padding:18px;border:1px solid var(--text-color);border-radius:5px;background-color:color-mix(in srgb,var(--text-color) 8%,transparent);overflow-x:auto}pre code{padding:0;background:none;border-radius:0;color:var(--text-color);font-size:0.95rem;line-height:1.6;white-space:pre}.homepage{--home-gap:var(--s47);--home-h2-size:1.8125rem;--home-h2-leading:1.2;--home-h2-space:var(--s29);--home-offset:calc(var(--home-h2-size) * var(--home-h2-leading) + var(--home-h2-space));padding-bottom:var(--s29)}.homepage-title{max-width:28ch;margin:var(--s76) 0 0;padding:0;font-size:2.9375rem;font-weight:400;line-height:1.1;text-wrap:balance}.homepage-affiliation{margin:var(--s18) 0 0;color:var(--text-muted);font-size:0.875rem;line-height:1.6}.homepage-lede{max-width:52rem;margin:var(--s29) 0 0;color:var(--text-soft);font-size:1.125rem;line-height:1.6}.homepage-lede-label{color:var(--accent-color-1);font-family:"Courier New",Courier,monospace;font-size:0.875rem;letter-spacing:0.1em;text-transform:uppercase}.homepage-section{margin:var(--s123) 0 0;padding:0}.homepage-section h2{margin:0;padding:0;color:var(--text-strong);font-size:var(--home-h2-size);font-weight:400;line-height:var(--home-h2-leading)}.homepage-section > h2,.homepage-split h2{margin-bottom:var(--home-h2-space)}.homepage-label{margin:0;color:var(--text-faint);font-family:"Courier New",Courier,monospace;font-size:0.75rem;line-height:1.6;letter-spacing:0.1em;text-transform:uppercase}.homepage-cta{color:var(--accent-color-1);text-decoration:none}.homepage-cta:hover,.homepage-cta:focus-visible{text-decoration:underline}.homepage-section-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:var(--s7) var(--s29);margin-bottom:var(--home-h2-space)}.homepage-more{font-size:1rem}.homepage-doors,.homepage-split,.homepage-awards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--home-gap)}.homepage-door{display:flex;flex-direction:column;padding-top:var(--s18);border-top:1px solid var(--rule)}.homepage-door.is-accent{border-top-color:var(--accent-color-1)}.homepage-door.is-accent .homepage-label{color:var(--accent-color-1)}.homepage-door .homepage-label{margin-bottom:var(--s7)}.homepage-door h2{font-size:1.5rem;line-height:1.25}.homepage-door-text{flex:1;margin:var(--s11) 0 0;color:var(--text-color);font-size:1rem;line-height:1.6}.homepage-door .homepage-cta{align-self:flex-start;padding-top:var(--s18);font-size:1rem}.homepage-projects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--home-gap);margin:0;padding:0;list-style:none}.homepage-projects li{margin:0}.homepage-project{display:flex;flex-direction:column;gap:var(--s4)}.homepage-project img{display:block;width:100%;aspect-ratio:4 / 3;margin-bottom:var(--s11);border-radius:4px;object-fit:cover;image-rendering:pixelated}.homepage-project-title{margin:0;padding:0;color:var(--text-strong);font-size:1.125rem;font-weight:400;line-height:1.35;text-decoration:underline;text-underline-offset:3px}.homepage-project:hover .homepage-project-title{color:var(--accent-color-1)}.homepage-project-meta{margin:0;color:var(--text-muted);font-size:0.875rem;line-height:1.6}.homepage-split{align-items:start}.homepage-split-main{grid-column:span 2;padding-top:var(--home-offset)}.homepage-statement{max-width:36rem;margin:0;color:var(--text-strong);font-size:1.375rem;line-height:1.5}.homepage-split-link{margin:var(--s18) 0 0;font-size:1rem}.homepage-facts{margin:0}.homepage-facts > div{padding:var(--s11) 0}.homepage-facts > div:first-child{padding-top:0}.homepage-facts > div + div{border-top:1px dashed var(--rule-faint)}.homepage-facts dt{margin:0;color:var(--text-muted);font-size:0.75rem;line-height:1.6;letter-spacing:0.1em;text-transform:uppercase}.homepage-facts dd{margin:0;color:var(--text-strong);font-size:1rem;line-height:1.5}.homepage-awards{margin:0;padding:0;list-style:none}.homepage-awards li{margin:0}.homepage-award{display:flex;flex-direction:column;gap:var(--s4)}.homepage-award img{display:block;width:100%;aspect-ratio:4 / 3;margin-bottom:var(--s11);border-radius:4px;object-fit:cover;image-rendering:pixelated}.homepage-award-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s11)}.homepage-award-year{color:var(--accent-color-1);font-size:1.8125rem;line-height:1.2}.homepage-award-kind{color:var(--text-faint);font-family:"Courier New",Courier,monospace;font-size:0.75rem;letter-spacing:0.1em;text-transform:uppercase}.homepage-award-title{margin-top:var(--s7);color:var(--text-strong);font-size:1.125rem;line-height:1.35}.homepage-award-detail{color:var(--text-muted);font-size:0.875rem;line-height:1.6}.homepage-award-link{margin-top:var(--s11);padding-top:var(--s11);border-top:1px dashed var(--rule-faint);color:var(--text-color);font-size:1rem;line-height:1.5;text-decoration:underline;text-underline-offset:3px}.homepage-award:hover .homepage-award-link{color:var(--accent-color-1)}.align-left{text-align:left !important;width:100%;margin-left:0;scroll-margin-top:60px}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}::selection{color:var(--background-color);background:var(--accent-color-1)}::-moz-selection{color:var(--background-color);background:var(--accent-color-1)}@media (max-width:768px){.container h2{margin-top:20px}.homepage-section h2{margin-top:0}.rsc-section h2{margin-top:0}.research-body > h2{margin-top:var(--s47)}.research-body > h2:first-child{margin-top:0}section{margin:0 5%}.footer-container{flex-direction:column;align-items:flex-start}.article-container{width:100%;padding:0 15px;box-sizing:border-box}.sitemap-table th.col-address,.sitemap-table td.col-address{width:130px}.nav-menu{display:none;flex-direction:column;width:100%}nav ul .navbtn{display:flex;align-items:center;min-height:48px;margin:0 15px;padding:0;border-bottom:1px dashed var(--rule-faint)}nav ul .navbtn:last-child{border-bottom:none}nav ul .navbtn a{flex:1;padding:var(--s7) 0}#menu-toggle:checked ~ .nav-menu{display:flex;position:absolute;top:calc(100% + 1px);left:0;right:0;z-index:1000;border-bottom:1px solid var(--rule);background-color:var(--background-color)}.menu-toggle{display:block;padding:var(--s11) 0;cursor:pointer}.cv-header{grid-template-columns:minmax(0,1fr);gap:var(--s18);align-items:start}.cv-portrait{width:var(--s123)}.cv-header .cv-header-links{margin-top:0}.cv-container .cv-awards,.cv-extra{grid-template-columns:minmax(0,1fr)}.cv-extra dt{padding-bottom:0;border-bottom:none}.cv-entry,.cv-row,.cv-rows.is-formation .cv-row{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"date kind" "body body";gap:var(--s4) var(--s18)}.cv-date,.cv-row .cv-date{grid-area:date;flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:0 var(--s7)}.cv-duration::before{content:"· ";content:"· " / ""}.cv-kind{grid-area:kind;text-align:left}.cv-body,.cv-row-title{grid-area:body}.cv-skills{grid-template-columns:minmax(0,1fr);gap:var(--s18)}.project-filters{flex-wrap:nowrap;overflow-x:auto}.project-filter{flex:none;align-items:center;min-height:44px}.project-index-head{display:none}.project-row{grid-template-columns:64px minmax(0,1fr) auto;grid-template-areas:"thumb period domain" "thumb text text";gap:var(--s2) var(--s11)}.project-row-thumb{display:block;grid-area:thumb;align-self:center;width:64px;height:48px;image-rendering:pixelated}.project-row-period,.project-row-domain{align-self:end;font-size:0.75rem}.project-row-period{grid-area:period}.project-row-domain{grid-area:domain}.project-row-text{grid-area:text;align-self:start}.project-row-title{font-size:1rem}.project-row-brand{display:none}}@media (min-width:901px){.project-index-head{margin-right:calc(var(--preview-width) + var(--s47))}.project-index{display:grid;grid-template-columns:minmax(0,1fr) var(--preview-width);column-gap:var(--s47)}.project-row{grid-column:1}.project-preview{position:sticky;top:calc(var(--nav-offset) + 24px);grid-column:2;grid-row:1 / span 99;align-self:start}.project-index > li:is(:hover,:focus-within) .project-preview{display:block}.project-index:not(:has(> li:is(:hover,:focus-within))) > li:first-child .project-preview{display:block}.project-index-wrap:has(#domaine-energie:checked) .project-index:not(:has(> li:is(:hover,:focus-within))) > li:nth-child(1 of [data-domain="energie"]) .project-preview,.project-index-wrap:has(#domaine-mobilite:checked) .project-index:not(:has(> li:is(:hover,:focus-within))) > li:nth-child(1 of [data-domain="mobilite"]) .project-preview,.project-index-wrap:has(#domaine-numerique:checked) .project-index:not(:has(> li:is(:hover,:focus-within))) > li:nth-child(1 of [data-domain="numerique"]) .project-preview,.project-index-wrap:has(#domaine-instrumentation:checked) .project-index:not(:has(> li:is(:hover,:focus-within))) > li:nth-child(1 of [data-domain="instrumentation"]) .project-preview,.project-index-wrap:has(#domaine-conception:checked) .project-index:not(:has(> li:is(:hover,:focus-within))) > li:nth-child(1 of [data-domain="conception"]) .project-preview{display:block}}@media (max-width:900px){.article-layout,.resource-layout,.project-layout,.project-body{grid-template-columns:minmax(0,1fr);justify-content:stretch;gap:var(--s29)}.resource-layout > section.references-section{margin-top:calc(52px - var(--s29))}.eco-score{grid-template-columns:minmax(0,1fr);justify-items:center}.article-toc{position:static;max-height:none;padding-top:var(--s18);padding-left:0;border-left:none;border-top:1px dashed var(--rule);overflow-y:visible}.article-toc ol{flex-direction:row;flex-wrap:wrap;gap:var(--s11) var(--s18)}.article-toc li.references-entry{padding-top:0;border-top:none}.resource-aside{order:-1}.resource-preview{max-width:320px}.project-aside{position:static;max-height:none;order:-1;overflow-y:visible}.article-title{font-size:2rem}.portfolio-header .article-subtitle,.project-header .article-subtitle,.resource-header .article-subtitle,.article-header .article-subtitle,.article-container header .article-subtitle{font-size:1.15rem}.article-main h2,.article-container h2,.cv-section h2{font-size:1.3rem}.project-main h2{font-size:1.3rem}.resource-main h2{font-size:1.3rem}.research-body{display:block}.research-body > .rsc-section{position:static;margin-top:var(--s47)}.references-section ol.references{columns:1}.rsc-li{grid-template-columns:1fr}.rsc-li .rsc-meta{margin:var(--s7) 0 0;text-align:left}.homepage-section{margin-top:var(--s76)}.homepage-doors,.homepage-split,.homepage-awards,.homepage-projects{grid-template-columns:minmax(0,1fr)}.homepage-split{row-gap:var(--s29)}.homepage-split-main{grid-column:auto;padding-top:0}}}@media print{@media print{nav,footer,.skip-link,.menu-toggle,.menu-toggle-input{display:none}*{background:transparent !important;color:#333 !important;border-color:#999 !important;box-shadow:none !important;text-shadow:none !important;max-width:100% !important;box-sizing:border-box}article{font-size:12pt}@page{size:A4 portrait;margin:2cm 1.5cm}img{max-width:100%;height:auto}input,textarea,select{all:revert}body{width:auto;margin:0;font-family:Arial,sans-serif;font-size:12pt;line-height:1.5;color:#333 !important;background-color:#fff !important}p,blockquote,label,ul,ol{margin-block:0 15pt}p:last-child{margin-bottom:0}h1{margin-block:0 24pt;font-weight:700;font-size:18pt;line-height:1.1}h2{padding-top:20px;padding-bottom:5px;font-weight:700;font-size:16pt;line-height:1.1}h3{margin-block:0 15pt;font-weight:700;font-size:14pt}h4{margin-block:0 12pt;font-weight:300;font-size:12pt}p,blockquote{orphans:3;widows:3}blockquote,ul,ol,figure,table{page-break-inside:avoid}h1,h2,h3,h4,caption{page-break-after:avoid}a,a:link,a:visited{background:transparent !important;color:unset;font-weight:700;text-decoration:underline !important}ol.references a[href^="http"]:after,ol.references a[href^="https"]:after{content:" (" attr(href) ")"}video,object,iframe{display:none !important;width:0 !important;height:0 !important;overflow:hidden !important}details:not(.cv-archive)::details-content{content-visibility:visible !important;block-size:auto !important}.cv-archive > :not(summary){display:none !important}details > summary{list-style:none;padding-left:0}details > summary::before,details > summary::-webkit-details-marker{display:none !important}.article-toc,.resource-aside,.project-aside,.article-footer,.project-footer{display:none}.article-layout,.resource-layout,.project-layout{display:block;max-width:none}ol.references li{break-inside:avoid}.rsc-list{list-style:none;padding-left:0;page-break-inside:auto}.rsc-li{break-inside:avoid}.project-filters,.project-index-head,.project-preview,.project-row-thumb,.visually-hidden{display:none}.project-index{list-style:none;padding-left:0;page-break-inside:auto}.project-index li{break-inside:avoid}.project-index a.project-row{display:grid;grid-template-columns:2.5cm 1fr 3cm;gap:0 12pt;padding:5pt 0;border-bottom:1px dashed;font-weight:400;text-decoration:none !important}.project-row-period,.project-row-brand{font-family:"Courier New",Courier,monospace;font-size:9pt}.project-row-title{display:block;font-size:11pt;font-weight:700}.project-row-brand{display:block}.project-row-domain{font-size:9pt;text-align:right}.homepage-doors,.homepage-projects,.homepage-split,.homepage-awards{display:block}.homepage-projects,.homepage-awards,.homepage-contact-lines{list-style:none;padding-left:0;page-break-inside:auto}.homepage-door,.homepage-project,.homepage-award,.homepage-facts{break-inside:avoid}.homepage-door + .homepage-door,.homepage-projects li + li,.homepage-award + .homepage-award,.homepage-split > * + *{margin-top:12pt}.homepage-facts dd,.homepage-award p{margin:0}.homepage-door .homepage-cta{margin-top:4pt}.cv-container,.cv-container *{border-color:#000 !important}.cv-header{display:grid;grid-template-columns:3cm 1fr;gap:0.8cm;align-items:end;margin-bottom:12pt;padding-bottom:12pt;border-bottom:1px dashed}.cv-portrait{padding:3pt;border:1px dashed}.cv-portrait img{display:block;width:100%;filter:grayscale(1)}.cv-header h1{margin:6pt 0}.cv-header-links,.cv-list,.cv-rows,.cv-skill-list{margin:0;padding-left:0;list-style:none;page-break-inside:auto}.cv-header-links{display:flex;flex-wrap:wrap;gap:0 12pt}.cv-label{margin:0;padding:0;font-size:8pt;font-weight:400;letter-spacing:0.08em;text-transform:uppercase}.cv-awards,.cv-extra{display:grid;grid-template-columns:3cm 1fr;gap:4pt 12pt;margin:0}.cv-award{display:grid;grid-template-columns:2cm 1fr;break-inside:avoid}.cv-award dt{font-family:"Courier New",Courier,monospace}.cv-award dd,.cv-extra dd{margin:0}.cv-entry,.cv-row{display:grid;grid-template-columns:3cm 1fr 2.5cm;gap:0 12pt;padding:5pt 0;border-bottom:1px dashed;break-inside:avoid}.cv-rows.is-formation .cv-row{grid-template-columns:3cm 1fr}.cv-date,.cv-kind{margin:0;font-family:"Courier New",Courier,monospace;font-size:9pt}.cv-duration{display:block;font-size:8pt}.cv-kind{text-align:right}.cv-title{margin:0;font-size:11pt;font-weight:700}.cv-desc,.cv-more{margin:3pt 0 0}.cv-skills{display:grid;grid-template-columns:repeat(3,1fr);gap:12pt;margin-bottom:8pt}.cv-skill-list li::before{content:"∷ "}.cv-archive{margin-top:12pt;padding:6pt 0;border-top:1px dashed;border-bottom:1px dashed}}}