@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600&family=Playfair+Display:ital,wght@1,500&display=swap");
:root{--ink:#171816;--paper:#f3f0e9;--white:#fbfaf6;--bronze:#96704d;--line:#d5d0c6;--muted:#64635e}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;overflow-x:hidden}.progress{position:fixed;z-index:20;top:0;left:0;width:100%;height:2px;background:var(--bronze);transform:scaleX(0);transform-origin:left}
header{height:92px;padding:0 5.5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:10;background:rgba(243,240,233,.9);backdrop-filter:blur(12px)}
.brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:inherit}.mark{width:38px;height:28px;fill:none;stroke:var(--bronze);stroke-width:2.2}.wordmark{font-size:15px;letter-spacing:.15em;font-weight:600}.wordmark i{font-style:normal;font-weight:300;color:#686761;margin-left:7px}nav{display:flex;gap:30px}nav a{font-size:12px;text-decoration:none;color:inherit;transition:color .2s}nav a:hover{color:var(--bronze)}
.hero{min-height:calc(100vh - 92px);padding:8.5vh 7.5vw 9vh;display:grid;grid-template-columns:1.55fr .75fr;align-items:center;position:relative}.hero-copy{z-index:2}.hero-positioning,.model-label,.section-kicker small,.corridor small,.contact>small{font-size:13px;letter-spacing:.20em;color:var(--bronze);font-weight:600}.hero h1{font-size:clamp(56px,6.5vw,96px);line-height:.98;letter-spacing:-.05em;font-weight:400;margin:32px 0}.hero h1 span,.hero h1 em{display:block}.hero em,.corridor em,.approach-title em,.about h2 em,.contact em{font-family:"Playfair Display",serif;color:var(--bronze);font-weight:500}.hero p{font-size:17px;line-height:1.7;max-width:690px;color:var(--muted);font-weight:300}.arrow-link{display:inline-flex;gap:48px;margin-top:24px;padding:12px 0;border-bottom:1px solid;color:inherit;text-decoration:none;font-size:12px}.arrow-link b{color:var(--bronze)}.hero-art{height:600px;display:flex;align-items:center;justify-content:center;transition:transform .1s linear}.hero-art svg{width:100%;max-width:430px;overflow:visible}.hero-art .outline{fill:none;stroke:rgba(23,24,22,.10);stroke-width:2}.hero-art .accent{fill:none;stroke:var(--bronze);stroke-width:2}.hero-art circle{fill:var(--bronze)}.scroll-cue{position:absolute;right:5.5vw;bottom:28px;font-size:9px;letter-spacing:.25em;color:#8d8a82}.scroll-cue span{color:var(--bronze);margin-left:12px}
.model{background:var(--white);padding:80px 8vw;display:grid;grid-template-columns:.8fr 2.2fr;gap:8vw;border-block:1px solid var(--line)}.model-copy{font-size:clamp(25px,2.25vw,35px);line-height:1.45;font-weight:300;max-width:980px}.model-copy em{font-family:"Playfair Display",serif;color:var(--bronze)}
.expertise{padding:120px 8vw}.section-kicker{display:flex;align-items:center;gap:18px;margin-bottom:32px}.section-kicker span{font-family:"Playfair Display",serif;font-size:34px;color:var(--bronze)}.section-kicker small{font-size:10px}.expertise-intro{font-size:27px;line-height:1.45;font-weight:300;margin:0 0 72px 0;max-width:720px}
.service{position:relative;display:grid;grid-template-columns:1fr 2fr;gap:8vw;padding:75px 0;border-top:1px solid var(--line);overflow:hidden}.service:last-child{border-bottom:1px solid var(--line)}.ghost{position:absolute;right:0;top:-38px;font-family:"Playfair Display",serif;font-style:italic;font-size:180px;color:rgba(150,112,77,.055);line-height:1;pointer-events:none}.service-head{position:relative;z-index:1}.service-head small{color:var(--bronze);font-size:10px;letter-spacing:.2em}.service h2{font-size:30px;line-height:1.22;font-weight:400;margin:30px 0 0}.service-content{position:relative;z-index:1}.service-content p{font-size:15px;line-height:1.85;color:var(--muted);max-width:740px;margin-top:0}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}.tags span{font-size:10.5px;padding:9px 12px;border:1px solid #c9c4b9;background:rgba(251,250,246,.45);transition:.25s}.tags span:hover{transform:translateY(-2px);border-color:var(--bronze);background:var(--white)}
.corridor{background:#e9e5dc;padding:110px 8vw;display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:center}.corridor h2{font-size:48px;line-height:1.08;font-weight:400;letter-spacing:-.035em;margin:25px 0}.corridor p{color:var(--muted);line-height:1.7;max-width:520px}.network{min-height:340px;display:flex;flex-direction:column;justify-content:space-between;position:relative;padding-left:70px}.node{position:relative}.node:before{content:"";position:absolute;left:-70px;top:5px;width:11px;height:11px;border:2px solid var(--bronze);border-radius:50%;background:#e9e5dc}.node b{display:block;font-size:13px;letter-spacing:.18em}.node span{display:block;font-size:12px;color:#77756f;margin-top:7px}.route{position:absolute;left:5px;top:20px;bottom:20px;width:1px;background:linear-gradient(var(--bronze),rgba(150,112,77,.15),var(--bronze))}.route i{position:absolute;left:-3px;width:7px;height:7px;background:var(--bronze);border-radius:50%;animation:travel 4.8s linear infinite}.route i:nth-child(2){animation-delay:-1.6s}.route i:nth-child(3){animation-delay:-3.2s}@keyframes travel{0%{top:0;opacity:0}10%{opacity:1}90%{opacity:1}100%{top:100%;opacity:0}}
.approach{background:var(--ink);color:var(--white);padding:120px 8vw 130px;position:relative;overflow:hidden}.light small{color:#b79772}.approach-title{font-size:58px;line-height:1.05;font-weight:400;letter-spacing:-.04em;margin:45px 0 85px}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:5vw;border-top:1px solid #42433f;padding-top:42px;position:relative;z-index:2}.principle b{font-size:10px;color:#b79772}.principle h3{font-size:24px;line-height:1.25;font-weight:400;margin:44px 0 22px}.principle p{font-size:14px;line-height:1.75;color:#aaa9a3;max-width:320px}.approach-mark{position:absolute;right:-5vw;bottom:-210px;font-family:Georgia,serif;font-size:700px;color:rgba(255,255,255,.018);line-height:1;pointer-events:none;transition:transform .15s linear}
.about{padding:120px 8vw;background:var(--white)}.about-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:9vw;margin-top:65px}.about h2{font-size:50px;line-height:1.08;font-weight:400;letter-spacing:-.035em;margin:0}.about-copy p{font-size:15px;line-height:1.85;color:var(--muted)}.about-copy .lead{font-size:23px;line-height:1.55;color:var(--ink);margin-top:0}
.contact{padding:125px 8vw}.contact h2{font-size:clamp(45px,5vw,72px);line-height:1.08;font-weight:400;letter-spacing:-.045em;margin:34px 0 70px}.contact-row{display:grid;grid-template-columns:1fr 1fr;gap:8vw;border-top:1px solid var(--line);padding-top:35px}.contact-row p{color:var(--muted);font-size:14px;max-width:440px;line-height:1.7}.contact-row div{display:flex;flex-direction:column;align-items:flex-start;gap:18px}.contact-row a{font-size:17px;color:inherit;text-decoration:none;border-bottom:1px solid;padding-bottom:7px}.contact-row a b{color:var(--bronze);margin-left:15px}
footer{background:var(--ink);color:var(--white);padding:50px 6vw;display:grid;grid-template-columns:2fr 1fr 1fr;align-items:end}footer .wordmark i{color:#aaa}footer>span{font-size:10px;color:#888985}footer>span:last-child{text-align:right}
.js .hero-positioning{opacity:0;transform:translateY(12px);animation:in .7s ease .05s forwards}.js .hero h1 span,.js .hero h1 em{opacity:0;transform:translateY(24px);animation:in .8s ease forwards}.js .hero h1 span:nth-child(1){animation-delay:.15s}.js .hero h1 span:nth-child(2){animation-delay:.25s}.js .hero h1 em{animation-delay:.35s}.js .hero p{opacity:0;transform:translateY(14px);animation:in .7s ease .48s forwards}.js .arrow-link{opacity:0;transform:translateY(10px);animation:in .6s ease .58s forwards}.js .hero-art{opacity:0;animation:fade 1.2s ease .35s forwards}@keyframes in{to{opacity:1;transform:none}}@keyframes fade{to{opacity:1}}.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .85s ease,transform .85s cubic-bezier(.2,.7,.2,1)}.js .reveal.visible{opacity:1;transform:none}
@media(max-width:800px){header{height:78px;padding:0 6vw}.mark{width:30px}.wordmark{font-size:12px}nav a:not(:last-child){display:none}.hero{min-height:auto;padding:80px 7vw 95px;grid-template-columns:1fr}.hero-art{position:absolute;right:-22vw;top:60px;width:65vw;height:450px;opacity:.35!important}.hero-copy{position:relative;z-index:2}.hero-positioning{font-size:11px}.hero h1{font-size:51px}.scroll-cue{display:none}.model,.corridor,.about-grid,.contact-row{grid-template-columns:1fr}.model{gap:28px}.expertise,.approach,.about,.contact,.corridor{padding:85px 7vw}.service{grid-template-columns:1fr;gap:30px;padding:55px 0}.ghost{font-size:120px}.corridor{gap:65px}.network{min-height:260px}.principles{grid-template-columns:1fr}.principle{padding:25px 0;border-bottom:1px solid #383936}.principle h3{margin-top:20px}.approach-title{font-size:45px}.about h2{font-size:42px}.contact-row{gap:30px}footer{grid-template-columns:1fr;gap:25px}footer>span:last-child{text-align:left}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js *{animation:none!important;transition:none!important}.js .reveal,.js .hero-positioning,.js .hero h1 span,.js .hero h1 em,.js .hero p,.js .arrow-link,.js .hero-art{opacity:1!important;transform:none!important}.route i{display:none}}

/* V10 — Luxembourg / Europe / Africa at equal visual weight */
.network{justify-content:space-between}
.node{z-index:2}
.node b{font-size:13px;font-weight:600;letter-spacing:.18em}
.node span{font-size:12px}
.node.europe{margin:0}
.route{z-index:1}

/* V11 — refined brand wording */
.model-copy strong{
  display:block;
  font-family:"Playfair Display",serif;
  font-style:italic;
  color:var(--bronze);
  font-size:clamp(31px,3vw,46px);
  line-height:1.2;
  font-weight:500;
  margin-bottom:24px;
}
.model-copy p{
  margin:0;
  max-width:830px;
  font-size:18px;
  line-height:1.75;
  color:var(--muted);
  font-weight:300;
}
.model-copy .credential{
  display:block;
  margin-top:27px;
  padding-top:19px;
  border-top:1px solid var(--line);
  font-size:10px;
  letter-spacing:.17em;
  text-transform:uppercase;
  color:#8b8880;
  font-weight:500;
}
.method-line{
  position:relative;
  z-index:2;
  margin-top:82px;
  padding-top:30px;
  border-top:1px solid #42433f;
  display:flex;
  justify-content:space-between;
  gap:40px;
  font-size:18px;
  line-height:1.45;
  font-weight:300;
}
.method-line span{color:#d2d0c9}
.method-line em{
  font-family:"Playfair Display",serif;
  font-style:italic;
  color:#b79772;
  font-size:21px;
}
@media(max-width:800px){
  .model-copy p{font-size:16px}
  .method-line{flex-direction:column;gap:8px;margin-top:55px}
}
