:root{
  --cream:#f7f3ee;--cream-2:#fbf8f4;--navy:#082844;--ink:#181716;--gold:#b58a59;--line:#ddd4ca;--footer:#dfd2c2;
  --serif: Georgia, 'Times New Roman', serif;--sans: Arial, Helvetica, sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--cream)}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.shell{width:100%;overflow:hidden}
.hero{height:clamp(425px,27.67vw,900px);min-height:425px;position:relative;color:#fff;background:#302b28;overflow:hidden}
.hero-media{position:absolute;inset:0;z-index:0}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center center}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,15,15,.48) 0%,rgba(15,15,15,.22) 30%,rgba(15,15,15,.02) 63%,rgba(0,0,0,.06) 100%);z-index:1;pointer-events:none}
.header{position:relative;z-index:3;display:grid;grid-template-columns:1fr auto 1fr;align-items:start;width:100%;padding:clamp(22px,2vw,52px) clamp(38px,4.8vw,150px);gap:28px}
.brand{justify-self:start;width:clamp(105px,8.3vw,205px)}
.brand img{width:100%;height:auto}
.nav{display:flex;gap:clamp(28px,3.2vw,72px);align-items:center;justify-content:center;font-size:clamp(11px,.78vw,18px);text-transform:uppercase;letter-spacing:.025em}
.nav a{padding:6px 0;border-bottom:1px solid transparent}
.nav a.active{border-color:#fff}
.lang{justify-self:end;display:flex;gap:12px;font-size:clamp(11px,.75vw,18px);text-transform:uppercase;padding-top:5px}
.lang .current{border-bottom:1px solid currentColor;padding-bottom:4px}
.hero-copy{position:absolute;z-index:3;left:clamp(38px,5.7vw,180px);top:clamp(115px,8.5vw,260px);width:min(44vw,720px)}
.hero-copy h1{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(44px,3.2vw,84px);line-height:.99;letter-spacing:-.025em;text-wrap:balance}
.gold-rule,.rule{width:40px;height:1px;background:var(--gold);margin:26px 0 18px}
.hero-copy .gold-rule{background:#fff;margin:24px 0 18px}
.hero-copy p{margin:0;max-width:510px;font-size:clamp(13px,.96vw,21px);line-height:1.72;color:#fff}
.services{display:grid;grid-template-columns:repeat(4,1fr);background:var(--cream-2);padding:clamp(30px,3vw,70px) clamp(24px,3vw,86px);min-height:220px}
.service{text-align:center;padding:0 clamp(20px,2.1vw,55px);border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:center}
.service:last-child{border-right:none}
.service svg{width:38px;height:38px;stroke:var(--gold);fill:none;stroke-width:1.3;margin:0 0 12px}
.service h2{margin:0 0 10px;font-family:var(--serif);font-size:clamp(18px,1.25vw,29px);font-weight:400}
.service p{margin:0;max-width:350px;font-size:clamp(11px,.73vw,16px);line-height:1.55}
.lower{display:grid;grid-template-columns:31% 32% 37%;min-height:275px}
.private-market{background:var(--navy);color:#fff;padding:clamp(34px,3.2vw,84px) clamp(38px,4.8vw,120px)}
.private-market h2,.approach h2{font-family:var(--serif);font-weight:400;margin:0;font-size:clamp(28px,2vw,48px);line-height:1.02}
.private-market p,.approach>p{font-size:clamp(11px,.73vw,16px);line-height:1.65;margin:0;max-width:530px}
.madrid-image{overflow:hidden;background:#ddd}
.madrid-image picture,.madrid-image img{width:100%;height:100%}
.madrid-image img{object-fit:cover;object-position:center center}
.approach{background:var(--cream-2);padding:clamp(30px,2.8vw,72px) clamp(34px,3.2vw,85px)}
.tools{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:22px}
.tool{display:flex;align-items:flex-start;gap:9px;font-size:clamp(9px,.6vw,13px);line-height:1.25}
.tool svg{width:26px;height:26px;flex:0 0 26px;stroke:#4d4a46;fill:none;stroke-width:1.15}
.footer{background:var(--footer);display:grid;grid-template-columns:1.4fr 1fr 1.8fr;align-items:center;gap:40px;padding:clamp(22px,2vw,48px) clamp(40px,5.4vw,150px);min-height:100px}
.footer-brand{display:flex;align-items:center;gap:26px}
.footer-brand img{width:clamp(110px,8.3vw,200px)}
.footer-brand p{font-size:clamp(10px,.7vw,15px);line-height:1.5;margin:0}
.legal{display:flex;flex-direction:column;gap:6px;font-size:clamp(9px,.65vw,14px)}
.legal strong{text-transform:uppercase;font-weight:400;margin-bottom:2px}
.copyright{font-size:clamp(9px,.65vw,14px);text-align:right}
/* subpages */
.subpage-header{background:var(--navy);color:#fff;min-height:112px}
.subpage-header .header{padding-top:22px;padding-bottom:22px;align-items:center}
.subpage-header .brand{width:120px}
.contact-main,.simple-page{max-width:1180px;margin:0 auto;padding:clamp(60px,7vw,120px) 28px 100px}
.contact-main{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}
.contact-intro h1,.simple-page h1{font:400 clamp(42px,4vw,68px)/1 var(--serif);margin:0}
.contact-intro p,.simple-page .content{font-size:16px;line-height:1.75}
.contact-email{display:inline-block;margin-top:20px;color:var(--navy);border-bottom:1px solid var(--navy)}
.contact-form{display:flex;flex-direction:column;gap:20px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
label{font-size:13px;display:flex;flex-direction:column;gap:8px}
input,select,textarea{font:inherit;border:1px solid #cec5bb;background:#fff;padding:13px 14px;border-radius:0;color:var(--ink)}
textarea{min-height:150px;resize:vertical}
.submit-btn{align-self:flex-start;border:0;background:var(--navy);color:#fff;padding:14px 25px;text-transform:uppercase;letter-spacing:.06em;cursor:pointer}
.form-note{font-size:12px;color:#666;margin:0}.simple-page{max-width:900px}.simple-page h2{font:400 30px/1.2 var(--serif);margin-top:42px}.simple-page a{text-decoration:underline}
@media (min-width:2200px){
  .hero-copy{max-width:850px}.service p{max-width:430px}.services{padding-left:7vw;padding-right:7vw}.lower{grid-template-columns:30% 34% 36%}
}
@media (max-width:1100px){
  .header{padding-left:28px;padding-right:28px}.hero-copy{left:44px;width:55vw}.services{grid-template-columns:repeat(2,1fr);padding:0}.service{padding:34px 30px;border-bottom:1px solid var(--line)}.service:nth-child(2){border-right:none}.service:nth-child(3),.service:nth-child(4){border-bottom:none}
  .lower{grid-template-columns:1fr 1fr}.private-market{grid-column:1}.madrid-image{grid-column:2;min-height:300px}.approach{grid-column:1/-1}.tools{max-width:780px}
  .footer{grid-template-columns:1fr 1fr}.copyright{grid-column:1/-1;text-align:left}
}
@media (max-width:700px){
  .hero{height:680px;min-height:680px}.hero-media img{object-position:67% center}.hero::after{background:linear-gradient(180deg,rgba(0,0,0,.28),rgba(0,0,0,.12) 45%,rgba(0,0,0,.34))}
  .header{grid-template-columns:1fr auto;padding:20px 20px}.brand{width:112px}.nav{position:absolute;top:96px;left:20px;justify-content:flex-start;gap:28px;font-size:11px}.lang{font-size:11px}
  .hero-copy{left:22px;right:22px;bottom:42px;top:auto;width:auto}.hero-copy h1{font-size:clamp(40px,12vw,58px)}.hero-copy p{font-size:14px;line-height:1.55;max-width:420px}
  .services{grid-template-columns:1fr}.service{border-right:none!important;border-bottom:1px solid var(--line)!important;padding:32px 24px}.service:last-child{border-bottom:none!important}.service p{font-size:13px}
  .lower{display:flex;flex-direction:column}.private-market,.approach{padding:42px 28px}.madrid-image{min-height:300px}.tools{grid-template-columns:1fr 1fr;gap:22px}.tool{font-size:11px}
  .footer{grid-template-columns:1fr;padding:30px 28px;gap:24px}.copyright{grid-column:auto}.footer-brand{align-items:flex-start}.footer-brand img{width:130px}.copyright{text-align:left}
  .subpage-header{min-height:145px}.subpage-header .nav{top:88px}.contact-main{grid-template-columns:1fr;gap:46px;padding-top:55px}.form-row{grid-template-columns:1fr}
}
