
.ob-site{--ob-paper:#f5f2eb;--ob-ink:#242b28;--ob-accent:#254b40;--ob-muted:#58605b;--ob-rule:#d4d5ca;--ob-soft:#e5e6dc;--ob-title:Georgia,'Times New Roman',serif;color-scheme:light;background:var(--ob-paper);color:var(--ob-ink);font-family:Arial,Helvetica,sans-serif;width:100%;max-width:1200px;margin:0 auto;font-size:18px;line-height:1.65;text-align:left}
.ob-site *{box-sizing:border-box}
.ob-site{--ob-title:'Source Serif 4',Georgia,serif;font-family:Inter,Arial,Helvetica,sans-serif;font-weight:400}
.ob-site h1,.ob-site h2,.ob-site h3,.ob-site p,.ob-site figure{margin:0}
.ob-site h1,.ob-site h2,.ob-site h3{font-family:var(--ob-title);font-weight:400;text-wrap:balance}
.ob-site h1{font-size:clamp(38px,5.2vw,60px);line-height:1.1;letter-spacing:-.035em}
.ob-site h1 span{color:var(--ob-accent)}
.ob-site h2{font-size:clamp(32px,4vw,44px);line-height:1.13;letter-spacing:-.035em}
.ob-site h3{font-size:24px;line-height:1.2;letter-spacing:-.025em}
.ob-site p+p{margin-top:17px}
.ob-site a{color:inherit;text-decoration-thickness:1px;text-underline-offset:5px}
.ob-site a:hover{text-decoration:underline}
.ob-site a:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.ob-site .ob-shell{padding-inline:clamp(24px,5.7vw,68px)}
.ob-site .ob-top{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:25px;border-bottom:1px solid var(--ob-rule)}
.ob-site .ob-brand{font-size:22px;letter-spacing:-.04em;text-decoration:none;white-space:nowrap}
.ob-site .ob-nav{display:flex;flex-wrap:wrap;gap:22px;font-size:15px;line-height:1.4}
.ob-site .ob-nav a{display:inline-flex;align-items:center;min-height:35px;text-decoration:none}
.ob-site .ob-menu{display:none;background:transparent;border:1px solid var(--ob-rule);color:var(--ob-ink);font:inherit;font-size:14px;padding:8px 13px;min-height:44px;cursor:pointer}
.ob-site .ob-hero{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:6.3%;padding-block:48px 52px;align-items:start}
.ob-site .ob-eyebrow{font-size:13px;line-height:1.6;letter-spacing:.09em;text-transform:uppercase;color:var(--ob-accent);margin-bottom:21px}
.ob-site .ob-intro{margin-top:26px;font-size:18px;max-width:49ch}
.ob-site .ob-actions{display:flex;flex-wrap:wrap;gap:14px 24px;align-items:center;margin-top:28px;font-size:15px}
.ob-site .ob-home-index{display:flex;flex-wrap:wrap;gap:0 20px;margin-top:27px;padding-top:14px;border-top:1px solid var(--ob-rule);font-size:15px;line-height:1.4}
.ob-site .ob-home-index a{display:inline-flex;align-items:center;min-height:44px;color:var(--ob-accent)}
.ob-site #ob-responsabilites,.ob-site #ob-experience-2016,.ob-site #ob-approche,.ob-site #ob-contact{scroll-margin-top:28px}
.ob-site .ob-primary{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 19px;background:var(--ob-accent);color:var(--ob-paper);text-decoration:none}
.ob-site .ob-secondary{display:inline-flex;align-items:center;min-height:44px;gap:10px}
.ob-site .ob-portrait{aspect-ratio:4/5;background:var(--ob-soft);overflow:hidden}
.ob-site .ob-portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 22%}
.ob-site .ob-portrait span{font-size:13px}
.ob-site .ob-quote{margin:22px 0 0;font-family:var(--ob-title);font-size:28px;line-height:1.4;letter-spacing:0;color:var(--ob-accent);text-wrap:balance}
.ob-site .ob-section{padding-block:60px;border-top:1px solid var(--ob-rule)}
.ob-site .ob-section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:7%;align-items:start}
.ob-site .ob-section-head>p{font-size:18px;line-height:1.6}
.ob-site .ob-responsibilities{margin-top:42px;display:grid;grid-template-columns:1fr 1fr;gap:7%}
.ob-site .ob-responsibilities h3{margin-bottom:21px;color:var(--ob-accent);max-width:none;text-wrap:wrap}
.ob-site .ob-responsibilities .ob-lead{font-size:18px;line-height:1.65;font-weight:500}
.ob-site .ob-finance{margin-top:29px;padding-top:19px;border-top:1px solid var(--ob-rule);font-size:15px;color:var(--ob-muted);max-width:70ch}
.ob-site .ob-experience h2{margin-bottom:24px;max-width:none;text-wrap:wrap}
.ob-site .ob-experience-copy{max-width:72ch}
.ob-site .ob-contexts{background:var(--ob-context,#ebece4);padding-block:55px}
.ob-site .ob-context-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:35px}
.ob-site .ob-context-grid article{border-top:1px solid var(--ob-context-rule,#bac4ba);padding-top:21px}
.ob-site .ob-context-grid h3{margin-bottom:20px;font-size:24px;color:var(--ob-accent)}
.ob-site .ob-context-grid p{font-size:18px}
.ob-site .ob-thread{margin-top:33px;max-width:77ch;font-size:18px}
.ob-site .ob-text h2{max-width:13ch}
.ob-site .ob-text .ob-copy{max-width:58ch}
.ob-site .ob-text .ob-secondary{margin-top:23px;font-size:15px}
.ob-site .ob-contact{background:var(--ob-accent);color:var(--ob-paper);padding-block:57px 62px}
.ob-site .ob-contact h2{font-size:clamp(38px,5.5vw,58px)}
.ob-site .ob-contact .ob-copy{max-width:57ch}
.ob-site .ob-contact .ob-secondary{margin-top:28px;font-size:15px}
.ob-site .ob-footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-block:21px;color:var(--ob-muted);font-size:13px;align-items:center}
@media (max-width:650px){
.ob-site .ob-top{align-items:center;flex-wrap:wrap;gap:12px;padding-block:16px}
.ob-site .ob-brand{font-size:20px}
.ob-site .ob-menu{display:inline-flex;align-items:center;justify-content:center}
.ob-site .ob-nav{display:none;flex-direction:column;gap:0;font-size:15px;flex-basis:100%;padding-top:8px;border-top:1px solid var(--ob-rule)}
.ob-site[data-menu-open="true"] .ob-nav{display:flex}
.ob-site .ob-nav a{min-height:44px}
.ob-site .ob-hero{display:flex;flex-direction:column;gap:22px;padding-block:28px 40px}
.ob-site .ob-hero>div{display:contents}
.ob-site .ob-hero .ob-eyebrow{order:0;margin-bottom:0;font-size:13px;letter-spacing:.05em}
.ob-site .ob-hero h1{order:1;font-size:clamp(32px,8.7vw,44px);line-height:1.1}
.ob-site .ob-hero figure{order:2;display:block;width:min(100%,260px);align-self:center}
.ob-site .ob-hero .ob-intro{order:3;margin-top:0;font-size:18px;line-height:1.65}
.ob-site .ob-hero .ob-actions{order:4;margin-top:0;gap:10px 18px;width:100%}
.ob-site .ob-hero .ob-home-index{order:5;width:100%;margin-top:0;padding-top:12px;gap:0 18px}
.ob-site .ob-primary{padding-inline:14px}
.ob-site .ob-quote{font-size:26px;line-height:1.4;margin:18px 0 0}
.ob-site .ob-portrait{padding:0}
.ob-site .ob-section{padding-block:40px}
.ob-site .ob-section-head{grid-template-columns:1fr;gap:24px}
.ob-site .ob-responsibilities{grid-template-columns:1fr;gap:31px;margin-top:30px}
.ob-site .ob-context-grid{grid-template-columns:1fr;gap:28px}
.ob-site .ob-context-grid p{font-size:18px}
.ob-site .ob-text h2{max-width:none}
.ob-site .ob-contact{padding-block:42px}
}
@media(pointer:coarse){.ob-site .ob-nav a{min-height:44px}}


.ob-site [hidden]{display:none!important}
.ob-site .ob-profile-hero{padding-block:48px 52px}
.ob-site .ob-profile-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,30%);gap:7%;align-items:start}
.ob-site .ob-profile-portrait{width:100%;max-width:320px;justify-self:end}
.ob-site .ob-profile-portrait img{display:block;width:100%;height:auto}
.ob-site .ob-profile-hero h1{max-width:19ch;font-size:clamp(38px,5.5vw,62px);line-height:1.1}
.ob-site .ob-profile-lead{max-width:65ch;font-size:18px;line-height:1.6;margin-top:26px}
.ob-site .ob-profile-index{display:flex;flex-wrap:wrap;gap:8px 24px;border-top:1px solid var(--ob-rule);padding-top:20px;margin-top:32px;font-size:15px}
.ob-site .ob-profile-index a{display:inline-flex;align-items:center;min-height:36px}
.ob-site .ob-profile-intro{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr);gap:9%;padding-block:0 58px}
.ob-site .ob-profile-signature{margin:0;padding:25px 0 0;border-top:2px solid var(--ob-accent);font-family:var(--ob-title);font-size:28px;line-height:1.4;color:var(--ob-accent);text-wrap:balance}
.ob-site .ob-profile-row{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr);gap:9%;padding-block:52px;border-top:1px solid var(--ob-rule)}
.ob-site .ob-profile-row h2{font-size:clamp(30px,3.5vw,39px);max-width:18ch}
.ob-site .ob-profile-row .ob-profile-copy{max-width:57ch}
.ob-site .ob-profile-method{row-gap:32px}
.ob-site .ob-profile-steps{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.ob-site .ob-profile-steps article{border-top:1px solid var(--ob-rule);padding-top:18px}
.ob-site .ob-profile-steps h3{font-size:26px;color:var(--ob-accent);margin-bottom:14px;text-wrap:wrap}
.ob-site .ob-profile-case{grid-column:1/-1;border-top:1px solid var(--ob-rule);padding-top:28px;margin-top:8px}
.ob-site .ob-profile-case .ob-eyebrow{margin-bottom:12px}
.ob-site .ob-profile-case h3{margin-bottom:18px;max-width:none;text-wrap:wrap}
.ob-site .ob-profile-case>p:last-child{max-width:72ch}
.ob-site .ob-profile-transform{background:var(--ob-context,#ebece4)}
.ob-site .ob-profile-study{padding-top:23px;margin-top:25px;border-top:1px solid var(--ob-rule)}
.ob-site .ob-profile-study strong{font-weight:500}
.ob-site .ob-profile-closing{padding-block:30px 36px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid var(--ob-rule)}
.ob-site .ob-profile-closing .ob-primary{margin:0}
.ob-site .ob-profile-closing>p{font-family:var(--ob-title);font-size:31px;color:var(--ob-accent)}
@media (max-width:650px){
.ob-site .ob-profile-hero{padding-block:30px 32px}
.ob-site .ob-profile-heading{grid-template-columns:minmax(0,1fr);gap:26px}
.ob-site .ob-profile-portrait{max-width:220px;justify-self:center}
.ob-site .ob-profile-hero h1{font-size:clamp(34px,9vw,46px)}
.ob-site .ob-profile-lead{font-size:18px;line-height:1.6;margin-top:23px}
.ob-site .ob-profile-index{gap:4px 19px;margin-top:25px;padding-top:15px}
.ob-site .ob-profile-index a{min-height:44px}
.ob-site .ob-profile-intro{display:flex;flex-direction:column;gap:30px;padding-bottom:36px}
.ob-site .ob-profile-signature{font-size:26px;max-width:25ch}
.ob-site .ob-profile-intro .ob-profile-copy{order:0}
.ob-site .ob-profile-intro .ob-profile-signature{order:1}
.ob-site .ob-profile-row{grid-template-columns:1fr;gap:24px;padding-block:36px}
.ob-site .ob-profile-steps{grid-template-columns:minmax(0,1fr);gap:23px}
.ob-site .ob-profile-row h2{font-size:31px;max-width:22ch}
.ob-site .ob-profile-closing>p{font-size:28px}
}


.ob-site .ob-ref-hero{padding-block:52px 42px}
.ob-site .ob-ref-hero h1{max-width:20ch;font-size:clamp(38px,5.5vw,62px)}
.ob-site .ob-ref-lead{font-size:18px;line-height:1.6;max-width:64ch;margin-top:26px}
.ob-site .ob-ref-intro{display:grid;grid-template-columns:1fr 1fr;gap:7%;padding-bottom:48px}
.ob-site .ob-ref-intro p{margin:0}
.ob-site .ob-ref-conviction{font-family:var(--ob-title);font-size:24px;line-height:1.45;color:var(--ob-accent);padding-block:29px;border-top:1px solid var(--ob-rule);border-bottom:1px solid var(--ob-rule)}
.ob-site .ob-ref-conviction p{max-width:55ch}
.ob-site .ob-ref-themes{padding-block:22px 46px}
.ob-site .ob-ref-theme{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:7%;padding-block:30px}
.ob-site .ob-ref-theme+.ob-ref-theme{border-top:1px solid var(--ob-rule)}
.ob-site .ob-ref-theme h2{font-size:31px;color:var(--ob-accent);max-width:22ch}
.ob-site .ob-ref-theme p{max-width:58ch}
@media (max-width:650px){
.ob-site .ob-ref-hero{padding-block:30px}
.ob-site .ob-ref-hero h1{font-size:clamp(34px,9vw,46px)}
.ob-site .ob-ref-lead{font-size:18px;margin-top:23px}
.ob-site .ob-ref-intro{grid-template-columns:1fr;gap:20px;padding-bottom:32px}
.ob-site .ob-ref-conviction{font-size:24px;padding-block:26px}
.ob-site .ob-ref-theme{grid-template-columns:1fr;gap:18px;padding-block:28px}
.ob-site .ob-ref-theme h2{font-size:29px}
.ob-site .ob-ref-themes{padding-block:10px 24px}
}


.ob-site .ob-contact-heading{padding-block:52px 38px}
.ob-site .ob-contact-heading h1{font-size:clamp(42px,6.5vw,72px);max-width:17ch}
.ob-site .ob-contact-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:8%;padding-bottom:64px;align-items:start}
.ob-site .ob-contact-message{max-width:48ch}
.ob-site .ob-contact-message .ob-contact-lead{font-size:18px;font-weight:500;line-height:1.65;margin-bottom:24px}
.ob-site .ob-contact-message p:last-child{font-family:var(--ob-title);font-size:24px;line-height:1.45;color:var(--ob-accent);margin-top:27px}
.ob-site .ob-contact-details{background:var(--ob-accent);color:var(--ob-paper);padding:32px}
.ob-site .ob-contact-details h2{font-family:Inter,Arial,sans-serif;font-size:13px;letter-spacing:0;line-height:1.5;margin-bottom:7px}
.ob-site .ob-contact-details a{display:inline-flex;align-items:center;min-height:44px;overflow-wrap:anywhere}
.ob-site .ob-contact-email{font-family:var(--ob-title);font-size:clamp(23px,3vw,31px);line-height:1.3}
.ob-site .ob-contact-linkedin{border-top:1px solid #ffffff40;margin-top:26px;padding-top:24px}
.ob-site .ob-contact-linkedin a{font-size:15px;gap:12px}
@media (max-width:650px){
.ob-site .ob-contact-heading{padding-block:30px}
.ob-site .ob-contact-heading h1{font-size:clamp(38px,11vw,49px)}
.ob-site .ob-contact-layout{grid-template-columns:1fr;gap:32px;padding-bottom:36px}
.ob-site .ob-contact-message .ob-contact-lead{font-size:18px;margin-bottom:20px}
.ob-site .ob-contact-message p:last-child{font-size:24px;margin-top:23px}
.ob-site .ob-contact-details{padding:25px 22px}
.ob-site .ob-contact-email{font-size:clamp(22px,6.4vw,26px)}
}

/* Profile references and the footer use the same secondary-text scale. */
.ob-site .ob-profile-links{display:flex;flex-wrap:wrap;align-items:center;gap:4px 24px;margin-top:22px;font-size:15px;color:var(--ob-muted)}
.ob-site .ob-profile-links a,.ob-site .ob-footer a{display:inline-flex;align-items:center;gap:7px;min-height:44px}
.ob-site .ob-profile-links a{color:var(--ob-accent)}

/* LinkedIn stays visible in the header, including when the mobile menu is closed. */
.ob-site .ob-header-linkedin{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:8px 13px;border:1px solid var(--ob-accent);font-size:15px;line-height:1.4;color:var(--ob-accent);text-decoration:none;white-space:nowrap}
.ob-site .ob-header-linkedin:hover{background:var(--ob-soft);text-decoration:none}
.ob-site .ob-quote,.ob-site .ob-profile-signature{font-style:italic}
@media(max-width:650px){
.ob-site .ob-header-linkedin{order:2;flex-basis:100%}
.ob-site .ob-nav{order:3}
}
