:root{--color-primary-600:#002147;--color-primary-400:#B9D6F2;--site-link:#002147;--site-muted:#4C647E;--site-panel:#FFFFFF;--site-border:#CAD4DE;--site-focus:#002147;--site-section-width:68rem;--site-section-gutter:1.5rem;--site-body-font-size:1rem}@media(min-width:640px){:root{--site-body-font-size:1.125rem}}.dark{--site-link:#B9D6F2;--site-muted:#B9C6D6;--site-panel:#002957;--site-border:#36577C;--site-focus:#B9D6F2}.prose{--tw-prose-body:var(--hb-color-foreground);--tw-prose-headings:var(--hb-color-foreground);--tw-prose-bold:var(--hb-color-foreground);--tw-prose-links:var(--site-link);--tw-prose-counters:var(--site-muted);--tw-prose-bullets:var(--site-muted);--tw-prose-captions:var(--site-muted);--tw-prose-th-borders:var(--site-border);--tw-prose-td-borders:var(--site-border);--tw-prose-invert-body:var(--hb-color-foreground);--tw-prose-invert-headings:var(--hb-color-foreground);--tw-prose-invert-bold:var(--hb-color-foreground);--tw-prose-invert-links:var(--site-link);--tw-prose-invert-counters:var(--site-muted);--tw-prose-invert-bullets:var(--site-muted);--tw-prose-invert-captions:var(--site-muted);--tw-prose-invert-th-borders:var(--site-border);--tw-prose-invert-td-borders:var(--site-border)}.prose a{color:var(--site-link);text-underline-offset:.15em}.bio-text,.section-content,.research-introduction,.experience-entry .prose,.publication-summary,.publication-entry,.publication-abstract,.page-body article main>.prose{font-size:var(--site-body-font-size);line-height:1.7}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--site-focus);outline-offset:4px}#site-header{--site-focus:#B9D6F2}#site-header .nav-link,#site-header .navbar-brand{color:#fff}#site-header .nav-link:is(:hover,.active),#site-header button:hover{color:#b9d6f2}#site-header .nav-link.active{text-decoration:underline;text-underline-offset:.3em}footer a{color:var(--site-link)}#about{margin-top:calc(-1 * var(--site-contents-height,0px));padding-top:calc(clamp(2rem,4vw,3rem) + var(--site-contents-height,0px))}#about .resume-biography{padding-top:0}.resume-biography .rounded-xl{background:var(--site-panel);border-color:var(--site-border)}.resume-biography .prose,.resume-biography .bio-text{max-width:none}.biography-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}.biography-action{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;padding:.65rem 1.2rem;border:1px solid var(--site-link);border-radius:.5rem;color:var(--site-link);font-size:1rem;font-weight:600;text-decoration:none}.biography-action-primary{background:#002147;color:#fff}.dark .biography-action-primary{background:#b9d6f2;color:#002147}.biography-action:hover{text-decoration:underline;text-underline-offset:.2em}.education-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:1.5rem}.education-logo{flex:0 0 3rem}.education-logo img{display:block;width:3rem;height:3rem;object-fit:contain;color-scheme:light}.education-logo img.education-logo-dark{display:none}.dark .education-logo img{color-scheme:dark}.dark .education-logo-themed img.education-logo-light{display:none}.dark .education-logo-themed img.education-logo-dark{display:block}.education-institution{color:var(--site-link);text-decoration:underline;text-underline-offset:.15em}.education-institution:hover{text-decoration-thickness:2px}.resume-biography a.rounded-full,.resume-biography span.rounded-full{background:var(--site-panel);color:var(--site-link);border-color:var(--site-border)}.resume-biography a.rounded-full:hover,.resume-biography span.rounded-full:hover{background:#b9d6f2;color:#002147}.callout{background:#e4f0ef;color:#002147;border-color:#002147}.callout .callout-content,.callout .callout-icon{color:inherit}.dark .callout{background:#0b355f;color:#f2f0f0;border-color:#b9d6f2}.dark .callout .callout-content{color:inherit}.search-result mark,.dark .search-result mark,.search-result:hover mark,.dark .search-result:hover mark{background:#b9d6f2;color:#002147}.search-result:focus-visible{outline-color:var(--site-focus)}.site-section{width:100%;max-width:var(--site-section-width);padding-inline:var(--site-section-gutter)}.page-header{text-align:center}.page-links{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem 1.5rem;margin-top:1.25rem}.page-links a{color:var(--site-link);text-decoration:underline;text-underline-offset:.2em}.page-links a:hover{text-decoration-thickness:2px}.section-title{text-align:center;margin-bottom:2.5rem}#opportunities .section-title{margin-bottom:1rem}.section-content p,.bio-text{text-align:justify}.section-content a,.experience-org a{color:var(--color-primary-600)}.dark .section-content a,.dark .experience-org a{color:var(--color-primary-400)}.section-content a:hover,.experience-org a:hover{text-decoration:underline}.section-content h2{font-size:1.65rem;margin-top:2.5rem}.section-content h3{font-size:1.25rem}#phd .section-content h4,#postdoc .section-content h4,#oxford-projects .section-content h4{font-size:1.35rem;margin-top:2.5rem}#phd .section-content h5{font-size:1.1rem}.experience-entry{display:grid;grid-template-columns:11rem 1fr;gap:2rem;padding:1.5rem 0;border-bottom:1px solid color-mix(in srgb,currentColor 15%,transparent)}.experience-date{padding-top:.25rem}.experience-org{margin:.4rem 0 .65rem}.experience-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem}.experience-heading>div:first-child{min-width:0}.experience-logo{flex:0 0 4.5rem;padding:.5rem}.experience-logo img{display:block;width:100%;height:3.5rem;object-fit:contain}.experience-logo img.experience-logo-dark{display:none}.dark .experience-logo-themed img.experience-logo-light{display:none}.dark .experience-logo-themed img.experience-logo-dark{display:block}.dark .experience-logo img[src$="/gemalto.svg"],.dark .experience-logo img[src$="/bristol-current.png"]{filter:brightness(0)invert(1)}.contact-map{display:block;width:100%;border:1px solid var(--site-border);border-radius:.5rem;margin-top:2rem}.experience-entry .prose p{margin:0}.featured-publications{max-width:calc(var(--site-section-width) - 2 * var(--site-section-gutter))}.featured-publication{display:flex;gap:2rem;padding:2rem 0;border-bottom:1px solid color-mix(in srgb,currentColor 15%,transparent)}.featured-publication-text{flex:1;min-width:0}.featured-publication h3{line-height:1.4;margin-bottom:.6rem;text-align:justify}.featured-publication h3 a{display:block}.featured-publication h3 a:hover{color:var(--color-primary-600)}.dark .featured-publication h3 a:hover{color:var(--color-primary-400)}.publication-authors,.publication-venue{font-size:.9rem;opacity:.8;margin-bottom:.4rem}.publication-summary{margin:.8rem 0}.publication-image{flex:0 0 11rem;align-self:center}.publication-image img{width:100%;height:auto;border-radius:.5rem}section[id],.section-content [id]{scroll-margin-top:6rem}@media(max-width:767.98px){.experience-entry{grid-template-columns:1fr;gap:.5rem}.experience-logo{flex-basis:3.5rem;padding:.4rem}.experience-logo img{height:2.5rem}.featured-publication{flex-direction:column;gap:1rem}.publication-image{flex:auto;width:100%;max-width:18rem}}#current-members,#past-students-and-visitors,#service,#teaching{--table-border:var(--site-border);--table-stripe:rgba(0, 33, 71, 0.045);--table-hover:rgba(0, 33, 71, 0.08);--table-label-width:4.5rem;.dark &{--table-stripe:rgba(185, 214, 242, 0.07);--table-hover:rgba(185, 214, 242, 0.12)}table{display:table;width:100%;table-layout:fixed;overflow:visible;margin:0 0 2rem;font-size:.9rem;border-collapse:collapse}th, td{padding:.75rem .6rem;text-align:left;vertical-align:top;overflow-wrap:anywhere;border-bottom:1px solid var(--table-border)}th{font-size:.8rem;font-weight:600;border-bottom-width:2px}tbody tr{background:0 0}tbody td{background:0 0}tbody tr:nth-child(odd) > td{background:var(--table-stripe)}tbody tr:hover > td{background:var(--table-hover)}td:first-child{font-weight:600}@media(max-width:767.98px){table,tbody,tr,td{display:block;width:100%}thead{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}tbody tr{padding:.8rem .6rem;border-bottom:1px solid var(--table-border)}tbody tr:nth-child(odd){background:var(--table-stripe)}tbody tr:hover{background:var(--table-hover)}tbody tr>td,tbody tr:nth-child(odd)>td,tbody tr:hover>td{background:0 0}td{padding:.2rem 0;border:0}td:first-child{margin-bottom:.3rem;font-size:1rem}td:not(:first-child):not(:empty){position:relative;padding-left:var(--table-label-width)}td::before{position:absolute;left:0;width:calc(var(--table-label-width) - .5rem);font-weight:600;font-size:.8rem}td:empty{display:none}}}:is(#current-members,#past-students-and-visitors){--table-label-width:8.5rem;th:first-child{width:34%}th:nth-child(2){width:20%}th:nth-child(3){width:10%}th:nth-child(4){width:36%}.person-entry{display:flex;align-items:center;gap:.75rem}.person-content{min-width:0}.person-portrait{display:block;flex:0 0 3rem;width:3rem;height:3rem;max-width:none;margin:0;border-radius:50%;border:1px solid var(--site-border);object-fit:cover}.people-detail{display:block;margin-top:.25rem;font-size:.8rem;font-weight:400;line-height:1.5;opacity:.85}@media(max-width:767.98px){.person-entry{flex-direction:row-reverse;align-items:flex-start}.person-content{flex:1}.person-portrait{flex-basis:5rem;width:5rem;height:5rem}td:nth-child(2)::before{content:"Role"}td:nth-child(3)::before{content:"Year"}td:nth-child(4):not(:empty)::before{content:"Subsequent position"}}@media(min-width:480px) and (max-width:767.98px){tbody tr:has(.person-entry){position:relative}tr:has(.person-entry)>td{padding-right:6rem}.person-entry{min-height:3rem}.person-portrait{position:absolute;top:50%;right:.6rem;transform:translateY(-50%)}}@media(min-width:768px){tbody tr:has(.person-entry){position:relative;height:6.5rem}tr:has(.person-entry)>td:last-child{padding-right:6.5rem}.person-portrait{position:absolute;top:50%;right:.6rem;transform:translateY(-50%);width:5rem;height:5rem}}}#current-members{th:nth-child(3){width:46%}@media(max-width:767.98px){td:nth-child(3)::before{content:"Start year"}}}#service{th:first-child{width:40%}th:nth-child(2){width:40%}th:nth-child(3){width:20%}table:nth-of-type(2) th:nth-child(2){width:60%}@media(max-width:767.98px){td:nth-child(2)::before{content:"Role"}td:nth-child(3)::before{content:"Year"}table:nth-of-type(2) td:nth-child(2)::before{content:"Years"}}}#teaching{th:first-child{width:55%}th:nth-child(2){width:17%}th:nth-child(3){width:28%}@media(max-width:767.98px){td:nth-child(2)::before{content:"Year"}td:nth-child(3)::before{content:"Term"}}}#site-menu-toggle{padding:.5rem;border-radius:.25rem}#site-header :is(a,button):focus-visible{outline:2px solid currentColor;outline-offset:4px}#site-menu-toggle[aria-expanded=true] #show-button{display:none}#site-menu-toggle[aria-expanded=true] #hide-button{display:block}@media(max-width:1023.98px){#site-menu-toggle[aria-expanded=true]~#nav-menu{display:block}}.research-introduction{max-width:none;margin:0 0 1.75rem}.publication-year{margin:0 0 2.5rem}.publication-year>h3{margin-bottom:1.25rem}.publication-year-link{color:inherit;text-decoration:none}.publication-year-link span{margin-left:.4em;color:var(--site-muted);font-size:.75em;opacity:0}.publication-year-link:hover span,.publication-year-link:focus-visible span{opacity:1}.publication-entry{margin-bottom:1.5rem}.publication-list [id],.hbb-section>div>[id]{scroll-margin-top:6rem}.landing-sections{min-width:0}.local-contents{--site-panel:var(--hb-color-header-bg);--site-link:var(--hb-color-header-fg);--site-focus:var(--hb-color-header-fg);width:100%;padding:0;text-align:left;color:var(--site-link);font-size:.85rem;pointer-events:none}.local-contents details{position:relative;width:fit-content;max-width:100%;pointer-events:auto}.local-contents details>summary{cursor:pointer;width:fit-content;min-height:2.75rem;padding:.6rem .8rem;font-weight:700;color:var(--site-link);background:var(--site-panel);border:0;border-radius:0 0 .3rem 0}.local-contents details[open]>summary{border-radius:0}.local-contents nav{position:absolute;top:100%;left:0;width:min(22rem,calc(100vw - 1.5rem));padding:.5rem;max-height:min(65vh,var(--contents-available-height,65vh));overflow:auto;overscroll-behavior:contain;background:var(--site-panel);border:0;border-radius:0 .3rem .3rem 0;box-shadow:0 .5rem 1.5rem #0002}.local-contents li{margin:0}.local-contents a{display:block;padding:.65rem .5rem;color:var(--site-link);text-decoration:none}.local-contents a:hover,.local-contents a:focus-visible{text-decoration:underline}.local-contents .contents-children{margin-left:.75rem;padding-left:.5rem}.local-contents .contents-children a{padding-top:.35rem;padding-bottom:.35rem}.page-body :is(section[id],[id$=-heading],.section-content [id],.publication-year>h3){scroll-margin-top:1rem}.publication-groups{margin-top:2rem}.publication-filters{display:grid;grid-template-columns:minmax(0,2fr)minmax(0,1fr)minmax(0,1.5fr)auto;gap:1rem;align-items:end;margin:2rem 0 1rem}.publication-filters label{min-width:0;font-size:.85rem;font-weight:700}.publication-filters :is(input,select,button){width:100%;min-height:2.75rem;margin-top:.4rem;padding:.5rem .65rem;border:1px solid var(--site-border);border-radius:.3rem;color:var(--site-link);background:var(--site-panel);font:inherit;font-weight:400}.publication-filters button{width:auto;cursor:pointer;font-size:.85rem}.publication-count{grid-column:1/-1;margin:0;color:var(--site-muted);font-size:.8rem}.publication-empty{margin:2rem 0}.publication-list [hidden],.local-contents [hidden]{display:none!important}.publication-filters :is(input,select,button):focus-visible,.local-contents :is(a,summary):focus-visible{outline:2px solid var(--site-focus);outline-offset:3px}.local-contents summary:focus-visible{outline-offset:-3px}@media(max-width:767.98px){.publication-filters{grid-template-columns:minmax(0,1fr)minmax(0,1fr)}.publication-filters label:first-child{grid-column:1/-1}.publication-filters button{justify-self:start}}.publication-return{margin:.75rem 0 1.5rem;font-size:.9rem}.publication-return a{color:var(--site-link);text-decoration:underline;text-underline-offset:.2em}.publication-page :is(.publication-feature,.publication-details,.publication-content,.publication-footer),.publication-footer>div{width:100%;max-width:none}.publication-details>div{min-width:0}.publication-abstract{text-align:justify}:is(#phd,#postdoc,#oxford-projects,#visiting) h3.section-title{text-align:left;font-size:1.65rem;margin-bottom:2rem}