:root{--paper:#faf9f5;--ink:#182e2a;--muted:#455c56;--line:#cbd3c9;--tint:#e7ece2;--serif:Georgia,'Times New Roman',serif;font:16px/1.55 system-ui,sans-serif;color:var(--ink);background:var(--paper);scroll-padding-top:2rem}
*{box-sizing:border-box}body,figure,h1,h2,h3,p{margin:0}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:4px}a:hover{color:#386653}a:focus-visible{outline:3px solid #327b5d;outline-offset:4px}a,button{-webkit-tap-highlight-color:transparent}.wrap{width:min(1190px,90%);margin:auto}.skip{position:absolute;left:1rem;top:-100px;padding:12px;background:white;z-index:5}.skip:focus{position:fixed;top:1rem;z-index:100}header{border-bottom:1px solid var(--line)}.mast,.mast nav,.langs,.brand,.actions,.numbers,.row,.foot{display:flex;align-items:center}.mast{min-height:78px;gap:2.5rem}.brand{font-weight:650;text-decoration:none;gap:.75rem;letter-spacing:-.035em;font-size:1.1rem}.brand b{font:italic bold 28px/1 var(--serif);border-right:1px solid var(--line);padding-right:.7rem}.mast nav{margin-left:auto;gap:1.6rem}.mast nav a,.langs a{padding:.5rem 0;text-decoration:none}.mast nav [aria-current],.langs [aria-current]{text-decoration:underline;text-underline-offset:6px}.langs{gap:.65rem;font-size:.75rem;font-weight:650}.hero{display:grid;grid-template-columns:1.36fr .87fr;gap:clamp(30px,5vw,75px);align-items:center;padding:3.5rem 0 3.3rem}.hero figure{align-self:stretch;min-height:330px;background:transparent;display:flex;align-items:flex-end;justify-content:center}.hero img{width:100%;height:auto;display:block}.hero h1{font:normal clamp(3.1rem,5.45vw,5.35rem)/1.01 var(--serif);letter-spacing:-.06em;margin:1.15rem 0}.hero h1 em{color:#456952;font-weight:400}.hero p,.pagehead p,.bioblock p,.prose p,.now p{color:var(--muted);line-height:1.65}.hero p{max-width:60ch}.specialty{font-size:.93rem;font-weight:620;margin-bottom:.8rem}small,.date{display:block;font-size:.73rem;text-transform:uppercase;letter-spacing:.125em;font-weight:650;color:#415c4d}.actions{gap:1.4rem;margin-top:1.45rem}.actions a,.now a,.foot a{font-size:.95rem;font-weight:550}.button{padding:.7rem 1.15rem;background:var(--ink);color:white;text-decoration:none;border-radius:3px}.button:hover{background:#345347;color:white}.metrics{background:var(--tint);border-block:1px solid var(--line)}.numbers{align-items:stretch;padding:1.8rem 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.numbers a{min-width:0;text-decoration:none;padding:0 1.45rem;border-left:1px solid #b8c5b8}.numbers a:first-child{border:0;padding-left:0}.numbers a:hover span:first-of-type{text-decoration:underline}.numbers b{display:block;font:normal clamp(1.95rem,3.1vw,3.3rem)/1.15 var(--serif);letter-spacing:-.055em;white-space:nowrap;margin-bottom:.35rem}.numbers span{font-size:1rem;line-height:1.35;display:block;max-width:23ch}.numbers .sub{font-size:.875rem;color:var(--muted);margin-top:.12rem}.section,.detail{padding-block:clamp(3rem,6vw,6rem)}h2{font:normal clamp(2.1rem,3.8vw,3.4rem)/1.1 var(--serif);letter-spacing:-.05em}.section>h2,.now h2,footer h2{margin-top:.6rem}.list{margin-top:2rem;border-top:1px solid var(--line)}.row{gap:1.6rem;border-bottom:1px solid var(--line);text-decoration:none;padding:1.2rem 0}.row:hover h3,.next:hover{text-decoration:underline}.seq,.firm,.by{color:var(--muted);font-size:.85rem}.firm{margin-left:auto;text-align:right}.row>span:last-child{margin-left:.5rem}.row h3,.journey-card h3{font:normal clamp(1.3rem,2.2vw,1.9rem)/1.3 var(--serif);letter-spacing:-.025em}.row small{margin-bottom:.25rem}.now,.bioblock,.casegrid,.foot{display:grid;grid-template-columns:1fr 1.45fr;gap:clamp(2rem,7vw,7rem)}.now{padding-block:2.5rem 4rem;border-top:1px solid var(--line)}.now p{margin-bottom:.7rem}footer{background:#1b332e;color:#faf9f5}.foot{padding-block:2.7rem;align-items:end}.foot small{color:#c0d5bc}.foot a{display:inline-block;padding:.35rem 0}.foot a:hover{color:#dae7c2}.foot>div:last-child{justify-self:end}.pagehead{max-width:790px;margin-bottom:3rem}.pagehead h1,.casegrid h1{font:normal clamp(2.55rem,5vw,4.8rem)/1.07 var(--serif);letter-spacing:-.055em;margin:.65rem 0 1rem}.pagehead p,.prose p{font-size:1.12rem;max-width:63ch}.crumb{margin-bottom:2.3rem}.casegrid{grid-template-columns:1fr 1.22fr;align-items:start}.casegrid h1{font-size:clamp(2.65rem,4.1vw,4rem)}.prose p+p{margin-top:1.2rem}.sources,.next{border-top:1px solid var(--line);padding-top:1.4rem;margin-top:2rem}.sources a{display:block;width:fit-content;margin-top:.45rem}.next{display:block;margin-top:3rem}.bioblock{padding:2rem 0;border-top:1px solid var(--line)}.bioblock p{margin:.4rem 0}.journey-card{border-bottom:1px solid var(--line);padding-bottom:1.2rem;margin-bottom:1.2rem}.journey-card h3{margin:.4rem 0}.yearnav{display:flex;gap:.75rem;flex-wrap:wrap}.yearnav a{padding:.25rem .65rem;text-decoration:none;border:1px solid var(--line);border-radius:2px}.year{margin:2.5rem 0 .85rem}.pressrow{border-top:1px solid var(--line);display:grid;grid-template-columns:7rem 1fr 2fr;gap:1rem;padding:1rem 0}.pressrow time{color:var(--muted);font-size:.9rem}
@media(max-width:900px){.numbers{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:1.35rem}.numbers a:nth-child(odd){padding-left:0;border:0}.mast{gap:1.2rem}.hero{gap:1.5rem}.hero figure{min-height:240px}.firm{display:none}.row>span:last-child{margin-left:auto}}
@media(max-width:690px){.wrap{width:90%}.mast{display:grid;grid-template-columns:1fr auto;gap:0;padding-top:.8rem}.mast nav{grid-row:2;grid-column:1/-1;margin:0;justify-content:space-between;padding:.35rem 0}.langs{grid-row:1;grid-column:2}.hero{grid-template-columns:1fr;padding:2.3rem 0 1.45rem;gap:1.6rem}.hero h1{font-size:clamp(2.65rem,10vw,4rem)}.hero figure{min-height:0;height:200px;border-radius:0}.hero img{height:96%;width:auto;max-width:100%;object-fit:contain}.hero p{font-size:1rem}.numbers a{padding:0 .7rem}.numbers{padding:1.4rem 0}.numbers b{font-size:clamp(1.7rem,6.7vw,2.5rem)}.row{gap:.75rem}.now,.casegrid,.bioblock,.foot{grid-template-columns:1fr;gap:1.2rem}.foot>div:last-child{justify-self:start}.pagehead{margin-bottom:2rem}.pressrow{grid-template-columns:auto 1fr;gap:.35rem .75rem}.pressrow>div{grid-column:1/-1}.hero figure img{align-self:flex-end}.prose p,.pagehead p{font-size:1.03rem}}
@media(max-width:690px){.mast nav{gap:.45rem;min-width:0}.mast nav a{font-size:.94rem}}
.venture>span:last-child{margin-left:auto}
.foot .talk-title{font:inherit;letter-spacing:inherit;text-decoration:none}.foot .talk-title:hover{text-decoration:underline}
.skills-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 3rem;margin:1.25rem 0 2rem}.skills-grid article{border-top:1px solid var(--line);padding:1.4rem 0 1.8rem}.skills-grid h2{font:normal clamp(1.55rem,2.2vw,2rem)/1.17 var(--serif);margin:.45rem 0 .65rem;letter-spacing:-.035em}.skills-grid p{max-width:59ch;color:var(--muted);margin:.6rem 0}.skills-grid a{font-size:.92rem}.certs{background:var(--tint);padding:1rem 1.25rem;display:flex;align-items:center;flex-wrap:wrap;gap:.7rem 1.5rem}.certs a{font-size:.85rem}
.journey{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start;gap:clamp(1rem,4vw,4rem)}.world{position:relative;align-self:start}.world img,.leaders{display:block;width:100%;height:auto}.leaders{position:absolute;inset:0;pointer-events:none}.dot{position:absolute;transform:translate(-50%,-50%);border:2px solid var(--paper);background:var(--ink);color:white;border-radius:50%;width:26px;height:26px;cursor:pointer;font-weight:600}.dot::after{content:"";position:absolute;inset:-6px}
.dot[aria-expanded=true]{background:#956b37}.stops details{border-top:1px solid var(--line);padding:.7rem 0}.stops summary{cursor:pointer;position:relative;list-style:none;padding-right:1.5rem}.stops summary::-webkit-details-marker{display:none}.stops summary strong{font:normal 1.55rem/1.35 var(--serif);display:block}.stops summary span,.stops p{color:var(--muted);font-size:.95rem}.stops summary:after{content:'+';position:absolute;right:0;top:.4rem}.stops details[open] summary:after{content:'−'}.stops p{padding-top:.65rem}
.talk-head h1 em{color:#456952}.formats{max-width:1050px}dialog{border:0;border-radius:5px;width:min(740px,96vw);padding:0;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#142820b8}.dialogbar{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem}.dialogbar button{font-size:1.65rem;cursor:pointer;background:none;border:0;color:inherit}dialog iframe{display:block;width:100%;height:min(720px,75vh);border:0}.numbers span{overflow-wrap:break-word;text-wrap:pretty}
@media(max-width:820px){.mast{flex-wrap:wrap}.mast nav{gap:.8rem}.journey{grid-template-columns:1fr}}
@media(max-width:690px){.skills-grid{grid-template-columns:1fr}.mast nav{flex-wrap:wrap;justify-content:flex-start;gap:0 .85rem}.mast nav a{font-size:.88rem}.certs{align-items:start;flex-direction:column}.actions{flex-wrap:wrap}.dot{width:22px;height:22px;font-size:.67rem;padding:0}.world{margin-block:1rem}.dot[data-stop="4"]{transform:translate(-72%,-80%)}.dot[data-stop="6"]{transform:translate(-30%,-32%)}}

.brand-lower{text-transform:none;letter-spacing:normal}

/* Full-width career map, followed by six expandable country entries. */
.journey{display:block}.journey .world{width:100%;margin-bottom:2rem}.stops{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 3rem;align-items:start}.stops details{min-width:0;padding:1rem 0}.press-subtitle{font-size:.9rem;color:var(--muted);margin-top:.3rem}
@media(max-width:690px){.stops{grid-template-columns:1fr}.journey .world{margin-bottom:1.4rem}}

.skill-icon{display:inline-block;width:1.25rem;height:1.25rem;vertical-align:middle;margin-right:.4rem;flex-shrink:0}.skills-grid article>small{display:flex;align-items:center;gap:.25rem}.pagehead p+p{margin-top:1.1rem}.pressrow.year-active time{color:#906533;font-weight:700}.yearnav a.year-active{background:#956b37;border-color:#956b37;color:white}

.about-head{max-width:none}.about-head p{max-width:none}.formats p{text-align:justify;hyphens:auto}.home-title em{white-space:nowrap}.hero .actions{flex-wrap:wrap;gap:.9rem 1.3rem}.career-title{white-space:nowrap;font-size:clamp(1.75rem,5vw,4.8rem)!important}
/* Use the Home hero type scale on Let’s Talk as well. */
.talk-hero .pagehead h1 {
  font: normal clamp(2rem, 4.7vw, 4.6rem)/1.01 var(--serif);
  letter-spacing: -.06em;
  margin: 1.15rem 0;
}
@media(min-width:691px){.hero .home-title{font-size:clamp(2rem,4.7vw,4.6rem)}}
@media(max-width:690px){.hero .home-title,.talk-hero .pagehead h1{font-size:clamp(1.5rem,8.4vw,3.6rem)}.career-title{font-size:clamp(1.65rem,6.5vw,3rem)!important}}

/* Approved portrait layout: full original image, soft backdrop fading to zero. */
.hero{grid-template-columns:1.28fr 1fr;gap:2.6rem}.hero figure{position:relative;isolation:isolate;justify-content:center}.hero figure:before{content:"";position:absolute;inset:-18% -5% -10% -10%;background:radial-gradient(ellipse closest-side at 53% 55%,rgba(190,207,184,.48) 0%,rgba(210,222,204,.24) 48%,rgba(231,236,226,0) 100%);pointer-events:none;z-index:0}.hero figure img{width:112%;max-width:none;position:relative;z-index:1}
header{position:sticky;top:0;z-index:50;background:var(--paper)}.mast{min-height:60px}.langs a{padding:.22rem .38rem;border-radius:2px}.langs a[aria-current]{background:var(--ink);color:var(--paper);text-decoration:none}.langs a[aria-current]:hover{color:white}.about-head{max-width:1040px}.about-head p{max-width:94ch}.certs{justify-content:center;text-align:center}.certs small{flex-basis:100%;text-align:center}.certs a{text-transform:uppercase;font-size:.78rem;letter-spacing:.035em;text-align:center}.certs{column-gap:1.4rem;row-gap:.8rem}html{scroll-padding-top:85px}
@media(max-width:690px){.hero{grid-template-columns:1fr;gap:1.6rem}.hero figure img{width:auto;max-width:100%;height:100%}.hero figure:before{inset:-20% 5% -12%}.mast{padding-top:.45rem;gap:0;min-height:0}.mast nav{padding:.2rem 0 .4rem}.brand{font-size:1rem}.brand b{font-size:25px}.certs{align-items:center}.about-head p{max-width:none}html{scroll-padding-top:120px}}
.langs a[aria-current]{background:#F5D060;color:var(--ink)}
.foot a[href^="mailto:"]{color:#F5D060}.foot a[href^="mailto:"]:hover{color:#F5D060}
footer a{text-decoration:none}footer a:hover{text-decoration:none}
::selection{background:#F5D060;color:var(--ink)}::-moz-selection{background:#F5D060;color:var(--ink)}

/* Let’s talk hero */
.talk-hero {
  display: grid;
  grid-template-columns: minmax(0, 11fr) minmax(0, 9fr);
  gap: clamp(1.5rem, 3.5vw, 2.75rem);
  align-items: center;
  width: min(1050px, 100%);
  margin-bottom: 3rem;
}

.talk-hero .pagehead {
  max-width: none;
  margin-bottom: 0;
}

.talk-head .talk-intro {
  max-width: 60ch;
  font-size: 1rem;
  text-align: left;
  hyphens: none;
}

.talk-head .actions {
  margin-top: 1.15rem;
}

.talk-meta {
  display: grid;
  gap: .35rem;
  width: max-content;
  max-width: 100%;
  margin: .75rem auto 0;
  padding: 0;
  list-style: none;
  color: var(--muted);
  font-size: .88rem;
  overflow-wrap: anywhere;
}

.talk-meta li {
  display: flex;
  align-items: flex-start;
  gap: .4rem;
}

.talk-meta-icon {
  flex: none;
  width: 1rem;
  height: 1rem;
  margin-top: .2em;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.talk-portrait {
  place-self: center;
  width: min(100%, 22rem);
  margin-top: 1rem;
}

.talk-portrait img {
  display: block;
  width: min(100%, clamp(15rem, 24vw, 19rem));
  height: auto;
  margin-inline: auto;
}

@media (max-width: 820px) {
  .talk-hero {
    grid-template-columns: 1fr;
    align-items: start;
    margin-bottom: 2rem;
  }

  .talk-hero {
    row-gap: 1.25rem;
  }

  .talk-portrait {
    margin-top: .5rem;
  }

  .talk-portrait img {
    width: min(100%, 15rem);
  }
}

/* Keep all translated navigation labels together at compact widths. */
@media (min-width: 691px) and (max-width: 820px) {
  :is(html[lang="fr"], html[lang="it"]) .mast {
    width: 94%;
    column-gap: .7rem;
  }

  :is(html[lang="fr"], html[lang="it"]) .mast nav {
    gap: .5rem;
  }
}

@media (max-width: 690px) {
  :is(html[lang="fr"], html[lang="it"]) .mast {
    width: 96%;
  }

  :is(html[lang="fr"], html[lang="it"]) .mast nav {
    column-gap: .2rem;
  }
}

/* Match the typographic hierarchy of the Home hero across internal pages. */
.pagehead h1,
.casegrid h1 {
  font-size: clamp(2rem, 4.7vw, 4.6rem);
  line-height: 1.01;
  letter-spacing: -.06em;
}

.career-title {
  white-space: normal;
  font-size: clamp(2rem, 4.7vw, 4.6rem) !important;
}

.pagehead p,
.casegrid .prose > p:first-child {
  font-size: 1rem;
  line-height: 1.65;
}

@media (max-width: 690px) {
  .pagehead h1,
  .casegrid h1 {
    font-size: clamp(1.5rem, 8.4vw, 3.6rem);
  }

  .career-title {
    font-size: clamp(1.5rem, 8.4vw, 3.6rem) !important;
  }
}

/* Give navigation labels consistent breathing room at every breakpoint. */
.mast nav {
  gap: clamp(.9rem, 1.35vw, 1.35rem);
}

@media (min-width: 691px) and (max-width: 900px) {
  .mast nav {
    gap: .9rem;
  }
}

@media (max-width: 820px) {
  .mast nav {
    order: 3;
    width: 100%;
    margin-left: 0;
    justify-content: space-between;
    flex-wrap: nowrap;
    gap: clamp(.55rem, 1.6vw, .9rem);
  }
}

@media (max-width: 690px) {
  .mast nav {
    justify-content: space-between;
    flex-wrap: nowrap;
    gap: clamp(.6rem, 2.2vw, .85rem);
  }

  .mast nav a {
    white-space: nowrap;
    font-size: clamp(.76rem, 3.7vw, .9rem);
  }
}
