@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/font-0.ttf) format('truetype')}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/font-1.ttf) format('truetype')}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/font-2.ttf) format('truetype')}
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/font-3.ttf) format('truetype')}
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/font-4.ttf) format('truetype')}

/* =========================================================
   VES ADVISORY — USER-TUNABLE SETTINGS
   Change these values first when adjusting colour, spacing or hero readability.
   ========================================================= */
:root{
  --green:#1F3A2E;
  --green-surface:#304D40;
  --ink:#2A2B2D;
  --paper:#FAF8F5;
  --stone:#E9E6DF;
  --line:#D6D0C4;
  --sand:#C9B89A;

  /* Hero: make the left text area lighter/darker here. */
  --hero-gradient:linear-gradient(90deg,
    rgba(250,248,245,1) 0%,
    rgba(250,248,245,.995) 24%,
    rgba(250,248,245,.97) 39%,
    rgba(250,248,245,.82) 52%,
    rgba(250,248,245,.38) 66%,
    rgba(250,248,245,0) 83%);
  --hero-gradient-mobile:linear-gradient(90deg,
    rgba(250,248,245,.99) 0%,
    rgba(250,248,245,.96) 58%,
    rgba(250,248,245,.78) 100%);
  --hero-position:center center;
  --hero-position-mobile:62% center;

  /* Vertical rhythm: tighter = faster, more active page. */
  --space-situations-top:90px;
  --space-situations-bottom:84px;
  --space-whole:72px;
  --space-person:86px;
  --space-collaboration:82px;
  --space-contact:80px;
  --space-row:25px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:30px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,sans-serif;font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-family:'Source Serif 4',serif;font-weight:400;line-height:1.12;letter-spacing:-.025em}
h2{font-size:44px}h3{font-size:30px}
a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--green);outline-offset:7px}
.container{width:calc(100% - 144px);max-width:1160px;margin-inline:auto}

.header{background:var(--paper)}
.header-inner{min-height:108px;display:flex;justify-content:space-between;align-items:center;gap:24px}
.logo{display:flex;flex-direction:column;align-items:center;color:var(--green);line-height:1}
.logo span{font-family:'Source Serif 4',serif;font-size:57px;font-weight:500;letter-spacing:.025em}
.logo small{font-size:12px;font-weight:400;letter-spacing:.4em;margin-top:5px;margin-left:.4em}
.header-links{display:flex;flex:1;justify-content:flex-end;align-items:center;gap:22px}
nav{display:flex;gap:20px;align-items:center;font-size:15px;font-weight:500;transform:translateY(21px)}
nav a:hover{text-decoration:underline;text-underline-offset:5px}
.language-switch{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:400;transform:translateY(21px);white-space:nowrap}
.language-switch a[aria-current="page"]{font-weight:500;text-decoration:underline;text-underline-offset:5px}

.hero{position:relative;isolation:isolate;min-height:570px;display:flex;align-items:center;overflow:hidden}
.hero-image{position:absolute;inset:0;z-index:-2}
.hero-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:var(--hero-position)}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:var(--hero-gradient)}
.hero-copy{padding-block:82px}
.eyebrow{font-size:13px;font-weight:500;letter-spacing:.055em;color:var(--green);margin-bottom:16px}
.hero h1{font-size:clamp(36px,4.05vw,60px);line-height:1.03;letter-spacing:-.035em}
.hero h1 span{display:block;white-space:nowrap}
.intro{max-width:610px;margin-top:30px;font-size:19px;line-height:1.45}

.hero-proof-band{background:var(--paper)}
.hero-proof-band .container{padding-block:28px}
.hero-proof-band p{max-width:980px;font-size:18px;line-height:1.45;font-weight:600;color:var(--green)}

.situations{padding-top:var(--space-situations-top);padding-bottom:var(--space-situations-bottom)}
.situations h2{margin-bottom:26px}
.editorial-row{border-top:1px solid var(--line);padding-block:var(--space-row)}
.editorial-row:last-child{border-bottom:1px solid var(--line)}
.editorial-row h3{font-size:29px;margin-bottom:10px}
.editorial-row p{font-size:17.5px;max-width:930px;line-height:1.52}

.whole{background:var(--stone);padding-block:var(--space-whole);text-align:center}
.whole h2{margin-bottom:30px}
.summary{font-size:17.5px;font-weight:500}
.term-row{display:flex;justify-content:center;align-items:center}
.summary .term-row{flex-wrap:nowrap}
.term-row span{padding-inline:15px;line-height:24px}
.term-row span+span{border-left:1px solid var(--green)}

.person{padding-block:var(--space-person);display:grid;grid-template-columns:38fr 62fr;align-items:center;gap:58px}
.portrait img{display:block;width:100%;height:auto}
.person h2{font-size:46px}
.role{position:relative;left:3px;font-size:16px;font-weight:500;margin-top:7px}
.proof{font-size:18px;line-height:1.45;margin-top:17px;color:var(--green);max-width:760px}
.profile{font-size:20px;font-weight:600;line-height:1.2;margin-top:24px;margin-bottom:31px;color:var(--green);display:grid;gap:6px;text-align:center}
.profile .term-row span{padding-inline:15px}
.bio{font-size:17.5px;line-height:1.5;text-align:left}
.bio+.bio{margin-top:18px}

.collaboration{padding-block:var(--space-collaboration);background:color-mix(in srgb,var(--paper) 70%,var(--stone))}
.collaboration h2{font-size:42px;margin-bottom:40px}
.ways{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.way{padding-inline:32px}
.way:first-child{padding-left:0}.way:last-child{padding-right:0}.way+.way{border-left:1px solid var(--line)}
.way h3{font-size:28px;margin-bottom:15px}
.way p{font-size:16.5px;line-height:1.5}
.way .mandate{font-weight:600;color:var(--green);margin-bottom:13px}

.bridge{max-width:780px;margin-top:46px;padding-top:28px;border-top:1px solid var(--line);font-size:17px;line-height:1.58;font-weight:400;color:color-mix(in srgb,var(--green) 88%,var(--paper))}

.contact{background:var(--green-surface);color:var(--paper);padding-block:var(--space-contact)}
.contact h2{font-size:46px;line-height:1.1;max-width:900px}
.contact-details{display:flex;margin-top:30px;font-size:17px;font-weight:500;align-items:center}
.contact-details>a{display:inline-flex;align-items:center;gap:8px;padding-inline:25px}
.contact-details>a:first-child{padding-left:0}
.contact-details>a+a{border-left:1px solid rgba(250,248,245,.4)}
.contact a:focus-visible{outline-color:var(--paper)}
.contact a:hover,.footer a:hover{text-decoration:underline;text-underline-offset:4px}
.linkedin-icon{width:17px;height:17px;display:block;flex:0 0 auto}

.footer{background:var(--paper);color:var(--ink);border-top:1px solid var(--line)}
.footer-inner{padding-block:30px;display:grid;grid-template-columns:1.3fr 1.3fr .8fr;gap:36px;font-size:13px;line-height:1.9}
.footer .linkedin-link{display:inline-flex;align-items:center;gap:7px}

.skip-link{position:absolute;top:10px;left:10px;z-index:10;background:var(--paper);padding:12px;transform:translateY(-200%)}
.skip-link:focus{transform:none}
.legal{max-width:820px;padding-block:80px}.legal h1{font-size:48px;margin-bottom:24px}.legal h2{font-size:28px;margin-top:36px;margin-bottom:16px}.legal p+p{margin-top:16px}.legal a{text-decoration:underline;text-underline-offset:3px}.legal .updated{font-size:14px;color:var(--green)}

@media(max-width:1100px){
  .container{width:calc(100% - 80px)}
  .header-inner{flex-wrap:wrap;padding-block:20px;gap:16px}
  .header-links{flex-basis:100%;justify-content:space-between;gap:15px}
  nav,.language-switch{transform:none}nav{gap:12px;font-size:13px}
  .hero h1 span{white-space:normal}
  .person{grid-template-columns:minmax(0,38fr) minmax(0,62fr);gap:38px}
  .profile{font-size:19px}.profile .term-row{flex-wrap:wrap;gap:6px}.profile .term-row span{border:0;padding-inline:10px}
  .summary .term-row{flex-wrap:wrap;row-gap:10px}.summary .term-row span{padding-inline:13px}
  .way{padding-inline:24px}
}

@media(max-width:800px){
  :root{--space-situations-top:72px;--space-situations-bottom:68px;--space-whole:62px;--space-person:70px;--space-collaboration:68px;--space-contact:68px;--space-row:22px}
  .container{width:calc(100% - 48px)}
  .header-inner{padding-block:18px;gap:18px}.logo span{font-size:48px}
  .header-links{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:20px}
  nav{flex-wrap:wrap;font-size:15px;gap:10px 18px}.language-switch{padding-top:6px}.language-switch a,nav a{padding-block:5px}
  .hero{min-height:475px}.hero-copy{padding-block:58px}.hero h1{font-size:42px}.hero h1 span{display:inline;white-space:normal}.intro{font-size:18px;margin-top:26px}
  .hero-proof-band .container{padding-block:22px}.hero-proof-band p{font-size:17px}
  .hero::after{background:var(--hero-gradient-mobile)}.hero-image img{object-position:var(--hero-position-mobile)}
  h2{font-size:36px}.editorial-row h3{font-size:27px}.editorial-row p{font-size:17px}
  .whole h2{margin-bottom:26px}.summary{font-size:17px}.summary .term-row{gap:9px 0}.summary .term-row span{padding-inline:12px}
  .person{grid-template-columns:1fr;gap:34px}.portrait{max-width:420px}.person h2{font-size:42px}.person-copy{min-width:0}.proof{font-size:17px}.profile{font-size:18px;text-align:left;margin-top:22px;margin-bottom:28px}.profile .term-row{justify-content:flex-start}.profile .term-row span{padding-left:0;padding-right:16px}.bio{font-size:17px}
  .collaboration h2{font-size:36px;margin-bottom:34px}.ways{grid-template-columns:1fr;gap:28px}.way,.way:first-child,.way:last-child{padding:0}.way+.way{border-left:0;border-top:1px solid var(--line);padding-top:26px}
  .bridge{margin-top:34px;padding-top:22px;font-size:16.5px;line-height:1.58;max-width:100%}
  .contact h2{font-size:39px}.contact-details{font-size:17px;flex-direction:column;align-items:flex-start;gap:14px}.contact-details>a,.contact-details>a:first-child{padding:0;border:0}.contact-details>a+a{border:0}
  .footer-inner{grid-template-columns:1fr;gap:16px;padding-block:26px}
  .legal{padding-block:50px}.legal h1{font-size:38px}
}

@media(max-width:400px){.hero h1{font-size:37px}.profile{font-size:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
